IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Changeset 39019 for trunk


Ignore:
Timestamp:
Nov 2, 2015, 7:51:29 AM (11 years ago)
Author:
eugene
Message:

add a manifest of the cpt tables loaded

Location:
trunk/Ohana/src/dvopsps
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/Ohana/src/dvopsps/include/dvopsps.h

    r38986 r39019  
    8282MYSQL *mysql_dvopsps_connect              PROTO((MYSQL *mysqlBase));
    8383
     84int    create_manifest_mysql              PROTO((char *basename, MYSQL *mysql));
     85int    insert_manifest_mysql              PROTO((char *basename, MYSQL *mysql, int regionID, char *regionName));
     86
    8487int    insert_detections_dvopsps          PROTO((void));
    8588int    insert_detections_dvopsps_parallel PROTO((SkyTable *sky));
  • trunk/Ohana/src/dvopsps/src/insert_objects_dvopsps.c

    r38471 r39019  
    2222  myAssert (skylist, "ooops!");
    2323
    24   // pass the skylist to the parallel version, and only launch on relevant hosts
    25   if (PARALLEL && !HOST_ID) {
    26     int status = insert_objects_dvopsps_parallel (skylist);
    27     return status;
    28   }
    29 
    3024# if (USE_MYSQL)
    31   // NOTE: mysql connection happens here since each dvopsps_client makes its own connection
     25  // NOTE: mysql connection happens here so the master can create the manifest table before launching the dvopsps_clients
    3226  MYSQL  mysqlBase;
    3327  MYSQL *mysqlReal = mysql_dvopsps_connect (&mysqlBase);
     
    3933  MYSQL *mysqlReal = NULL;
    4034# endif
     35
     36  create_manifest_mysql ("objects", mysqlReal);
     37
     38  // pass the skylist to the parallel version, and only launch on relevant hosts
     39  if (PARALLEL && !HOST_ID) {
     40    int status = insert_objects_dvopsps_parallel (skylist);
     41    return status;
     42  }
    4143
    4244  // select measurements for each populated catalog
  • trunk/Ohana/src/dvopsps/src/insert_objects_dvopsps_catalog.c

    r38674 r39019  
    6363  free (cleanname);
    6464
     65  insert_manifest_mysql ("objects", mysql, catalog->catID, basename);
     66
    6567  MARKTIME("-- inserted "OFF_T_FMT" objects in %f sec, skipped %d without IDs\n", found, dtime, missingID);
    6668  return (TRUE);
     
    7476  // MYSQL_RES *result;
    7577
    76   PrintIOBuffer (&buffer, "DROP TABLE %s_cpt\n", basename);
     78  PrintIOBuffer (&buffer, "DROP TABLE IF EXISTS %s_cpt\n", basename);
    7779  status = mysql_query(mysql, buffer.buffer);
    7880  if (status) {
     
    140142  bzero (buffer.buffer, buffer.Nalloc);
    141143
    142   PrintIOBuffer (&buffer, "DROP TABLE %s_cps\n", basename);
     144  PrintIOBuffer (&buffer, "DROP TABLE IF EXISTS %s_cps\n", basename);
    143145  status = mysql_query(mysql, buffer.buffer);
    144146  if (status) {
     
    386388  return TRUE;
    387389}
     390
     391int create_manifest_mysql (char *basename, MYSQL *mysql) {
     392
     393  int status;
     394  IOBuffer buffer;
     395  InitIOBuffer (&buffer, 1024);
     396
     397  // drop an old manifest table
     398  PrintIOBuffer (&buffer, "DROP TABLE IF EXISTS dvopsps_insert_%s\n", basename);
     399  status = mysql_query(mysql, buffer.buffer);
     400  if (status) {
     401    fprintf (stderr, "failed to drop dvopsps_insert_%s table:\n", basename);
     402    fprintf (stderr, "%s\n", mysql_error(mysql));
     403  }
     404  buffer.Nbuffer = 0;
     405  bzero (buffer.buffer, buffer.Nalloc);
     406 
     407  // create the manifest table
     408  PrintIOBuffer (&buffer, "CREATE TABLE dvopsps_insert_%s ( REGION_ID INT, REGION_NAME CHAR(18) )\n", basename);
     409  status = mysql_query(mysql, buffer.buffer);
     410  if (status) {
     411    fprintf (stderr, "failed to create dvopsps_insert_%s table:\n", basename);
     412    fprintf (stderr, "%s\n", mysql_error(mysql));
     413  }
     414  buffer.Nbuffer = 0;
     415  bzero (buffer.buffer, buffer.Nalloc);
     416
     417  FreeIOBuffer (&buffer);
     418  return TRUE;
     419}
     420
     421int insert_manifest_mysql (char *basename, MYSQL *mysql, int regionID, char *regionName) {
     422
     423  int status;
     424  IOBuffer buffer;
     425  InitIOBuffer (&buffer, 1024);
     426
     427  // drop an old manifest table
     428  PrintIOBuffer (&buffer, "INSERT INTO dvopsps_insert_%s ( REGION_ID, REGION_NAME ) VALUES (%d, '%s')\n", basename, regionID, regionName);
     429  status = mysql_query(mysql, buffer.buffer);
     430  if (status) {
     431    fprintf (stderr, "failed to insert into dvopsps_insert_%s table:\n", basename);
     432    fprintf (stderr, "%s\n", mysql_error(mysql));
     433  }
     434  buffer.Nbuffer = 0;
     435  bzero (buffer.buffer, buffer.Nalloc);
     436 
     437  FreeIOBuffer (&buffer);
     438  return TRUE;
     439}
Note: See TracChangeset for help on using the changeset viewer.