Changeset 31407
- Timestamp:
- Apr 28, 2011, 6:41:17 PM (15 years ago)
- Location:
- branches/czw_branch/20110406
- Files:
-
- 1 added
- 13 edited
-
dbconfig/changes.txt (modified) (3 diffs)
-
dbconfig/ipp.m4 (modified) (1 diff)
-
dbconfig/lap.md (modified) (1 diff)
-
ippTools/share/Makefile.am (modified) (1 diff)
-
ippTools/share/laptool_definerun.sql (modified) (2 diffs)
-
ippTools/share/laptool_exposures.sql (modified) (2 diffs)
-
ippTools/share/laptool_inactiveexp.sql (modified) (3 diffs)
-
ippTools/share/laptool_listsequence.sql (added)
-
ippTools/share/laptool_pendingexp.sql (modified) (1 diff)
-
ippTools/share/laptool_stacks.sql (modified) (8 diffs)
-
ippTools/share/pxadmin_create_tables.sql (modified) (2 diffs)
-
ippTools/src/laptool.c (modified) (13 diffs)
-
ippTools/src/laptool.h (modified) (1 diff)
-
ippTools/src/laptoolConfig.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/czw_branch/20110406/dbconfig/changes.txt
r31396 r31407 2079 2079 registered TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- time run was registered 2080 2080 fault SMALLINT NOT NULL, -- fault code 2081 quick_sass_id ,-- stackAssociation id for quick stack2082 final_sass_id ,-- stackAssociation id for final stack2081 quick_sass_id BIGINT, -- stackAssociation id for quick stack 2082 final_sass_id BIGINT, -- stackAssociation id for final stack 2083 2083 PRIMARY KEY(lap_id), 2084 2084 KEY(seq_id), … … 2102 2102 active TINYINT DEFAULT 0, -- denotes if this exposure is currently in use 2103 2103 data_state VARCHAR(64) NOT NULL, -- state of exposure 2104 PRIMARY KEY (lap_id), 2104 PRIMARY KEY (lap_id,exp_id), 2105 KEY (lap_id), 2105 2106 KEY (exp_id), 2106 2107 KEY (chip_id), … … 2110 2111 FOREIGN KEY (exp_id) REFERENCES rawExp(exp_id), 2111 2112 FOREIGN KEY (chip_id,exp_id) REFERENCES chipRun(chip_id,exp_id), 2112 FOREIGN KEY (pair_id) REFERENCES chipRun(chip_id) ,2113 FOREIGN KEY (pair_id) REFERENCES chipRun(chip_id) 2113 2114 ) ENGINE=innodb DEFAULT CHARSET=latin1; 2114 2115 -
branches/czw_branch/20110406/dbconfig/ipp.m4
r28486 r31407 35 35 include(background.md) 36 36 include(diffphot.md) 37 include(lap.md) -
branches/czw_branch/20110406/dbconfig/lap.md
r31396 r31407 22 22 lapExp METADATA 23 23 lap_id S64 0 # Primary Key fkey (lap_id) ref lapRun(lap_id) 24 exp_id S64 0 # Key fkey (exp_id) ref rawExp(exp_id)24 exp_id S64 0 # Primary Key fkey (exp_id) ref rawExp(exp_id) 25 25 chip_id S64 0 # Key fkey (exp_id, chip_id) ref chipRun(exp_id, chip_id) 26 26 pair_id S64 0 # Key fkey (pair_id) ref chipRun(chip_id) -
branches/czw_branch/20110406/ippTools/share/Makefile.am
r31396 r31407 405 405 laptool_exposures.sql \ 406 406 laptool_inactiveexp.sql \ 407 laptool_listsequence.sql \ 407 408 laptool_pendingchipexp.sql \ 408 409 laptool_pendingexp.sql \ -
branches/czw_branch/20110406/ippTools/share/laptool_definerun.sql
r31396 r31407 1 SELECT exp_id, chip_id, false as private, true as active 1 SELECT exp_id, chip_id, false as private, true as active, false as pairwise 2 2 FROM rawExp 3 3 LEFT JOIN … … 6 6 where private IS FALSE 7 7 AND data_state = 'full') AS old USING(exp_id) 8 WHERE rawExp.exp_type= 'OBJECT' AND 9 rawExp.dateobs >= '2009-04-01T00:00:00.000000' AND 8 10 -- Position restriction goes here. -
branches/czw_branch/20110406/ippTools/share/laptool_exposures.sql
r31396 r31407 4 4 W.*,IFNULL(diff1.diff_id,diff2.diff_id) AS diff_id FROM ( 5 5 SELECT DISTINCT 6 lap_id, tess_id,projection_cell,filter,lapRun.state as lapRun_state, lapRun.registered, lapRun.fault, labRun.label,6 lap_id,lapRun.tess_id,projection_cell,filter,lapRun.state as lapRun_state, lapRun.registered, lapRun.fault, lapRun.label, 7 7 lapExp.exp_id,lapExp.chip_id,lapExp.pair_id,private,pairwise,active,lapExp.data_state, 8 8 chipRun.state as chipRun_state, sum(chipProcessedImfile.fault) as chip_faults, sum(chipProcessedImfile.quality) as chip_quality, 9 camRun. state as camRun_state, sum(camProcessedExp.fault) AS cam_faults, sum(camProcessedExp.quality) AS cam_quality,10 fakeRun.state as fakeRun_state, sum(fakeProcessedImfile.fault) as fake_faults,11 warpRun.state as warpRun_state, sum(warpSkyfile.fault) as warp_faults, sum(warpSkyfile.quality) as warp_quality,9 camRun.cam_id, camRun.state as camRun_state, sum(camProcessedExp.fault) AS cam_faults, sum(camProcessedExp.quality) AS cam_quality, 10 fakeRun.fake_id, fakeRun.state as fakeRun_state, sum(fakeProcessedImfile.fault) as fake_faults, 11 warpRun.warp_id, warpRun.state as warpRun_state, sum(warpSkyfile.fault) as warp_faults, sum(warpSkyfile.quality) as warp_quality, 12 12 warpRun.magicked 13 13 FROM lapRun JOIN lapExp USING(lap_id) 14 JOIN chipRun USING(chip_id,exp_id)15 FROM chipRunJOIN chipProcessedImfile USING(chip_id)14 LEFT JOIN chipRun USING(chip_id) 15 LEFT JOIN chipProcessedImfile USING(chip_id) 16 16 LEFT JOIN camRun USING(chip_id) LEFT JOIN camProcessedExp USING(cam_id) 17 17 LEFT JOIN fakeRun USING(cam_id) LEFT JOIN fakeProcessedImfile USING(fake_id) 18 18 LEFT JOIN warpRun USING(fake_id) LEFT JOIN warpSkyfile USING(warp_id) 19 @WHERE@19 WHERE @WHERE@ 20 20 AND warpSkyfile.quality != 8007 -- known cases where quality != 0, but everything's fine. 21 21 AND warpSkyfile.quality != 3006 -- known cases where quality != 0, but everything's fine. 22 22 GROUP BY lap_id,exp_id 23 23 ) AS W 24 24 -- This was unreasonably slow in testing, so that's why I'm using a subquery here. … … 27 27 ) AS D 28 28 LEFT JOIN diffRun USING(diff_id) 29 JOIN lapExp AS others ON (D.chip_id = lapExp.chip_id AND D.lap_id != lapExp.lap_id)30 GROUP BY chip_id29 JOIN lapExp AS others ON (D.chip_id = others.chip_id AND D.lap_id != others.lap_id) 30 GROUP BY lap_id,exp_id -
branches/czw_branch/20110406/ippTools/share/laptool_inactiveexp.sql
r31396 r31407 4 4 W.*,IFNULL(diff1.diff_id,diff2.diff_id) AS diff_id FROM ( 5 5 SELECT DISTINCT 6 lap_id,tess_id,projection_cell,filter,lapRun.state as lapRun_state, lapRun.registered, lapRun.fault, labRun.label, 6 lapRun.lap_id, lapRun.seq_id, lapRun.tess_id, lapRun.projection_cell, lapRun.filter, lapRun.state, lapRun.label, 7 lapRun.dist_group, lapRun.registered, lapRun.fault, lapRun.quick_sass_id, lapRun.final_sass_id, 7 8 lapExp.exp_id,lapExp.chip_id,lapExp.pair_id,private,pairwise,active,lapExp.data_state, 8 9 chipRun.state as chipRun_state, sum(chipProcessedImfile.fault) as chip_faults, sum(chipProcessedImfile.quality) as chip_quality, 9 cam Run.state as camRun_state, sum(camProcessedExp.fault) AS cam_faults, sum(camProcessedExp.quality) AS cam_quality,10 fake Run.state as fakeRun_state, sum(fakeProcessedImfile.fault) as fake_faults,11 warp Run.state as warpRun_state, sum(warpSkyfile.fault) as warp_faults, sum(warpSkyfile.quality) as warp_quality,10 cam_id, camRun.state as camRun_state, sum(camProcessedExp.fault) AS cam_faults, sum(camProcessedExp.quality) AS cam_quality, 11 fake_id, fakeRun.state as fakeRun_state, sum(fakeProcessedImfile.fault) as fake_faults, 12 warp_id, warpRun.state as warpRun_state, sum(warpSkyfile.fault) as warp_faults, sum(warpSkyfile.quality) as warp_quality, 12 13 warpRun.magicked 13 14 FROM lapRun JOIN lapExp USING(lap_id) 14 JOIN chipRun USING(chip_id,exp_id)15 FROM chipRunJOIN chipProcessedImfile USING(chip_id)15 LEFT JOIN chipRun USING(chip_id) 16 LEFT JOIN chipProcessedImfile USING(chip_id) 16 17 LEFT JOIN camRun USING(chip_id) LEFT JOIN camProcessedExp USING(cam_id) 17 18 LEFT JOIN fakeRun USING(cam_id) LEFT JOIN fakeProcessedImfile USING(fake_id) … … 19 20 WHERE lapExp.active = FALSE 20 21 AND @WHERE@ 22 GROUP BY lap_id,exp_id 21 23 ) AS W 22 24 -- This was unreasonably slow in testing, so that's why I'm using a subquery here. … … 25 27 ) AS D 26 28 LEFT JOIN diffRun USING(diff_id) 27 JOIN lapExp AS others ON (D.chip_id = lapExp.chip_id AND D.lap_id != lapExp.lap_id)28 GROUP BY chip_id29 JOIN lapExp AS others ON (D.chip_id = others.chip_id AND D.lap_id != others.lap_id) 30 GROUP BY lap_id,exp_id -
branches/czw_branch/20110406/ippTools/share/laptool_pendingexp.sql
r31396 r31407 1 select lap_id, projection_cell, tess_id, registered, state, fault, 2 exp_id, chip_id, pair_id, private, pairwise, active, data_state, 1 select lapRun.lap_id, lapRun.seq_id, lapRun.tess_id, lapRun.projection_cell, lapRun.filter, lapRun.state, lapRun.label, 2 lapRun.dist_group, lapRun.registered, lapRun.fault, lapRun.quick_sass_id, lapRun.final_sass_id, 3 exp_id, chip_id, pair_id, private, pairwise, active, lapExp.data_state, 3 4 dateobs, object, comment 4 5 FROM lapRun JOIN lapExp USING(lap_id) 5 JOIN rawExp USING(exp_id )6 WHERE active IS TRUE AND fault = 06 JOIN rawExp USING(exp_id,filter) 7 WHERE active IS TRUE AND lapRun.fault = 0 7 8 -- lap_id restriction here. 8 9 -- This probably needs to be sorted by dateobs. -
branches/czw_branch/20110406/ippTools/share/laptool_stacks.sql
r31385 r31407 1 SELECT lapRun.*,stacks.* FROM 1 SELECT 2 lapRun.lap_id,lapRun.seq_id,lapRun.tess_id,lapRun.projection_cell,lapRun.filter, 3 lapRun.state,lapRun.label,lapRun.dist_group,lapRun.registered,lapRun.fault, 4 skycell_id, 5 quick_sass_id,quick_data_group,quick_stack_id,quick_state,quick_fault,quick_quality, 6 final_sass_id,final_data_group,final_stack_id,final_state,final_fault,final_quality 7 FROM 2 8 lapRun LEFT JOIN 3 (SELECT DISTINCT * FROM ( 4 9 ( 10 SELECT DISTINCT 11 lap_id,tess_id,projection_cell,filter,skycell_id, 12 quick_sass_id,quick_data_group,quick_stack_id,quick_state,quick_fault,quick_quality, 13 final_sass_id,final_data_group,final_stack_id,final_state,final_fault,final_quality 14 FROM 5 15 (select lapRun.lap_id, 6 16 stackAssociation.sass_id AS quick_sass_id, 7 stackAssociation.data_group AS quick_data_group 17 stackAssociation.data_group AS quick_data_group, 8 18 stackAssociation.projection_cell, 9 19 stackAssociation.tess_id, 10 stackAssoc aition.filter,20 stackAssociation.filter, 11 21 stackRun.stack_id AS quick_stack_id, 12 22 stackRun.skycell_id, … … 19 29 LEFT JOIN stackRun USING(stack_id) 20 30 LEFT JOIN stackSumSkyfile USING(stack_id) 21 where lapRun.lap_id = @LAP_ID@31 WHERE 1 @WHERE@ 22 32 AND sass_id = lapRun.quick_sass_id 23 ) AS quick USING(lap_id,projection_cell,tess_id,filter)LEFT JOIN33 ) AS quick LEFT JOIN 24 34 (select lapRun.lap_id, 25 35 stackAssociation.sass_id AS final_sass_id, … … 27 37 stackAssociation.projection_cell, 28 38 stackAssociation.tess_id, 29 stackAssoc aition.filter,39 stackAssociation.filter, 30 40 stackRun.stack_id AS final_stack_id, 31 41 stackRun.skycell_id, … … 38 48 LEFT JOIN stackRun USING(stack_id) 39 49 LEFT JOIN stackSumSkyfile USING(stack_id) 40 where lapRun.lap_id = @LAP_ID@50 WHERE 1 @WHERE@ 41 51 AND sass_id = lapRun.final_sass_id 42 52 ) AS final USING(lap_id,projection_cell,tess_id,filter,skycell_id) 43 44 53 UNION 45 54 SELECT DISTINCT 55 lap_id,tess_id,projection_cell,filter,skycell_id, 56 quick_sass_id,quick_data_group,quick_stack_id,quick_state,quick_fault,quick_quality, 57 final_sass_id,final_data_group,final_stack_id,final_state,final_fault,final_quality 58 FROM 46 59 (select lapRun.lap_id, 47 60 stackAssociation.sass_id AS quick_sass_id, … … 49 62 stackAssociation.projection_cell, 50 63 stackAssociation.tess_id, 51 stackAssoc aition.filter,64 stackAssociation.filter, 52 65 stackRun.stack_id AS quick_stack_id, 53 66 stackRun.skycell_id, … … 60 73 LEFT JOIN stackRun USING(stack_id) 61 74 LEFT JOIN stackSumSkyfile USING(stack_id) 62 where lapRun.lap_id = @LAP_ID@75 WHERE 1 @WHERE@ 63 76 AND sass_id = lapRun.quick_sass_id 64 ) AS quick USING(lap_id,projection_cell,tess_id,filter)RIGHT JOIN77 ) AS quick RIGHT JOIN 65 78 (select lapRun.lap_id, 66 79 stackAssociation.sass_id AS final_sass_id, … … 68 81 stackAssociation.projection_cell, 69 82 stackAssociation.tess_id, 70 stackAssoc aition.filter,83 stackAssociation.filter, 71 84 stackRun.stack_id AS final_stack_id, 72 85 stackRun.skycell_id, … … 79 92 LEFT JOIN stackRun USING(stack_id) 80 93 LEFT JOIN stackSumSkyfile USING(stack_id) 81 where lapRun.lap_id = @LAP_ID@94 WHERE 1 @WHERE@ 82 95 AND sass_id = lapRun.final_sass_id 83 96 ) AS final USING(lap_id,projection_cell,tess_id,filter,skycell_id) 84 ) stacks USING(lap_id,projection_cell,tess_id,filter) 97 ) stacks USING(lap_id,projection_cell,tess_id,filter,quick_sass_id,final_sass_id) 98 WHERE 1 @WHERE@ -
branches/czw_branch/20110406/ippTools/share/pxadmin_create_tables.sql
r31396 r31407 1912 1912 registered TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- time run was registered 1913 1913 fault SMALLINT NOT NULL, -- fault code 1914 quick_sass_id ,-- stackAssociation id for quick stack1915 final_sass_id ,-- stackAssociation id for final stack1914 quick_sass_id BIGINT, -- stackAssociation id for quick stack 1915 final_sass_id BIGINT, -- stackAssociation id for final stack 1916 1916 PRIMARY KEY(lap_id), 1917 1917 KEY(seq_id), … … 1943 1943 FOREIGN KEY (exp_id) REFERENCES rawExp(exp_id), 1944 1944 FOREIGN KEY (chip_id,exp_id) REFERENCES chipRun(chip_id,exp_id), 1945 FOREIGN KEY (pair_id) REFERENCES chipRun(chip_id) ,1945 FOREIGN KEY (pair_id) REFERENCES chipRun(chip_id) 1946 1946 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1947 1947 -
branches/czw_branch/20110406/ippTools/src/laptool.c
r31397 r31407 121 121 } 122 122 123 if ( lapSequencePrintObject(stdout, run, !simple)) {123 if (!lapSequencePrintObject(stdout, run, !simple)) { 124 124 psError(PS_ERR_UNKNOWN, false, "failed to print object"); 125 125 psFree(run); … … 141 141 psMetadata *where = psMetadataAlloc(); 142 142 PXOPT_COPY_S64(config->args, where, "-seq_id", "seq_id", "=="); 143 PXOPT_COPY_STR(config->args, where, "- name", "name", "LIKE");143 PXOPT_COPY_STR(config->args, where, "-seq_name", "name", "LIKE"); 144 144 145 145 psString query = pxDataGet("laptool_listsequence.sql"); … … 214 214 PXOPT_LOOKUP_STR(label, config->args, "-label", false, false); 215 215 PXOPT_LOOKUP_STR(dist_group, config->args, "-dist_group", false, false); 216 PXOPT_LOOKUP_BOOL(all_obsmode, config->args, "-all_obsmode", false); 216 217 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 217 218 … … 226 227 NULL, // registered 227 228 0, // fault 228 0, // quick_sass_id229 0// final_sass_id229 INT64_MAX, // quick_sass_id 230 INT64_MAX // final_sass_id 230 231 ); 231 232 if (!run) { … … 248 249 } 249 250 250 // point of no return 251 if (!psDBCommit(config->dbh)) { 252 psError(PS_ERR_UNKNOWN, false, "database error"); 253 return false; 254 } 255 256 if (lapRunPrintObject(stdout, run, !simple)) { 251 252 if (!lapRunPrintObject(stdout, run, !simple)) { 253 if (!psDBRollback(config->dbh)) { 254 psError(PS_ERR_UNKNOWN, false, "database error"); 255 } 257 256 psError(PS_ERR_UNKNOWN, false, "failed to print object"); 258 257 psFree(run); … … 265 264 psString query = pxDataGet("laptool_definerun.sql"); 266 265 if (!query) { 266 if (!psDBRollback(config->dbh)) { 267 psError(PS_ERR_UNKNOWN, false, "database error"); 268 } 269 267 270 psError(PXTOOLS_ERR_SYS, false, "failed to retrieve SQL statement"); 268 271 return(false); 269 272 } 270 psString where = NULL; 271 if (!pxspaceAddWhere(config, &where, "rawExp")) { 273 274 // Add constraints to the exposure search: 275 psMetadata *where = psMetadataAlloc(); 276 PXOPT_COPY_STR(config->args, where, "-filter", "rawExp.filter", "=="); 277 278 // This seems unnecessarily clunky. 279 if (!all_obsmode) { 280 // fprintf(stderr, "Not doing all obsmodes!\n"); 281 if (!psMetadataLookupStr(NULL,config->args,"-obsmode")) { 282 // fprintf(stderr, "Not doing all obsmodes and none specified!\n"); 283 psMetadataAddStr(where,PS_LIST_TAIL,"rawExp.obs_mode",0,"==","3PI"); 284 } 285 pxAddLabelSearchArgs (config, where, "-obsmode", "rawExp.obsmode", "=="); 286 } 287 288 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 289 if (!pxspaceAddWhere(config, &whereClause, "rawExp")) { 290 if (!psDBRollback(config->dbh)) { 291 psError(PS_ERR_UNKNOWN, false, "database error"); 292 } 293 272 294 psError(psErrorCodeLast(), false, "pxSpaceAddWhere failed"); 273 295 return(false); 274 296 } 275 psStringAppend(&query, " %s", where );297 psStringAppend(&query, " %s", whereClause); 276 298 psFree(where); 277 299 300 // Fetch exposures 278 301 if (!p_psDBRunQuery(config->dbh, query)) { 302 if (!psDBRollback(config->dbh)) { 303 psError(PS_ERR_UNKNOWN, false, "database error"); 304 } 305 279 306 psError(PS_ERR_UNKNOWN, false, "database error"); 280 307 psFree(query); … … 285 312 psArray *output = p_psDBFetchResult(config->dbh); 286 313 if (!output) { 314 if (!psDBRollback(config->dbh)) { 315 psError(PS_ERR_UNKNOWN, false, "database error"); 316 } 317 287 318 psError(PS_ERR_UNKNOWN, false, "database error"); 288 319 return(false); 289 320 } 290 321 if (!psArrayLength(output)) { 322 if (!psDBRollback(config->dbh)) { 323 psError(PS_ERR_UNKNOWN, false, "database error"); 324 } 325 291 326 psTrace("laptool", PS_LOG_INFO, "no rows found"); 292 327 psFree(output); … … 294 329 } 295 330 296 297 331 // Insert the exposure data 298 332 for (long i = 0; i < output->n; i++) { 299 333 psMetadata *row = output->data[i]; // Row from select 334 // Add default values from this run: 335 psMetadataAddS64(row, PS_LIST_TAIL, "lap_id", 0, "", lap_id); 336 psMetadataAddS64(row, PS_LIST_TAIL, "pair_id", 0, "", INT64_MAX); 337 psMetadataAddStr(row, PS_LIST_TAIL, "data_state", 0, "", "new"); 300 338 lapExpRow *lapExp = lapExpObjectFromMetadata(row); 301 339 lapExp->lap_id = lap_id; 302 340 303 341 if (!lapExpInsertObject(config->dbh,lapExp)) { 342 if (!lapExpPrintObject(stdout, lapExp, !simple)) { 343 if (!psDBRollback(config->dbh)) { 344 psError(PS_ERR_UNKNOWN, false, "database error"); 345 } 346 psError(PS_ERR_UNKNOWN, false, "failed to print object"); 347 psFree(run); 348 return false; 349 } 350 304 351 if (!psDBRollback(config->dbh)) { 305 352 psError(PS_ERR_UNKNOWN, false, "database error"); … … 312 359 } 313 360 361 // point of no return 362 if (!psDBCommit(config->dbh)) { 363 psError(PS_ERR_UNKNOWN, false, "database error"); 364 return false; 365 } 366 367 314 368 psFree(output); 315 369 return(true); … … 341 395 psFree(whereClause); 342 396 } 343 psStringAppend(&query, " ORDER BY rawExp.dateobs ");344 397 345 398 if (!p_psDBRunQuery(config->dbh, query)) { … … 452 505 psFree(limitString); 453 506 } 507 psStringAppend(&query, " ORDER BY rawExp.dateobs "); 508 454 509 if (!p_psDBRunQuery(config->dbh, query)) { 455 510 psError(PS_ERR_UNKNOWN, false, "database error"); … … 554 609 { 555 610 PS_ASSERT_PTR_NON_NULL(config, false); 611 PXOPT_LOOKUP_S64(lap_id, config->args, "-lap_id", true, false); 612 556 613 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 557 614 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 558 615 559 616 psMetadata *where = psMetadataAlloc(); 560 617 PXOPT_COPY_S64(config->args, where, "-lap_id", "lap_id", "=="); … … 565 622 return(false); 566 623 } 567 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 568 if (whereClause) { 624 625 if (psListLength(where->list)) { 626 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 569 627 psStringPrepend(&whereClause, "\n AND "); 570 } 571 572 psString limitString = NULL; 628 psStringSubstitute(&query,whereClause,"@WHERE@"); 629 psFree(whereClause); 630 } 631 573 632 if (limit) { 574 limitString = psDBGenerateLimitSQL(limit); 575 psStringPrepend(&limitString, "\n"); 576 } 577 578 if (!p_psDBRunQueryF(config->dbh, query, whereClause, limitString ? limitString : "")) { 579 psError(PXTOOLS_ERR_PROG, false, "database error"); 633 psString limitString = psDBGenerateLimitSQL(limit); 634 psStringAppend(&query, " %s", limitString); 580 635 psFree(limitString); 636 } 637 638 639 if (!p_psDBRunQuery(config->dbh, query)) { 640 psError(PS_ERR_UNKNOWN, false, "database error"); 581 641 psFree(query); 582 psFree(whereClause); 583 return(false); 584 } 585 psFree(limitString); 642 return false; 643 } 586 644 psFree(query); 587 psFree(whereClause); 588 645 589 646 psArray *output = p_psDBFetchResult(config->dbh); 590 647 if (!output) { 591 psError(PS_ERR_UNKNOWN, false, "database error"); 592 return(false); 648 psErrorCode err = psErrorCodeLast(); 649 switch (err) { 650 case PS_ERR_DB_CLIENT: 651 psError(PXTOOLS_ERR_SYS, false, "database error"); 652 case PS_ERR_DB_SERVER: 653 psError(PXTOOLS_ERR_PROG, false, "database error"); 654 default: 655 psError(PXTOOLS_ERR_PROG, false, "unknown error %d",err); 656 } 657 658 return false; 593 659 } 594 660 if (!psArrayLength(output)) { 595 661 psTrace("laptool", PS_LOG_INFO, "no rows found"); 596 662 psFree(output); 597 return(true); 598 } 599 600 if (!ippdbPrintMetadatas(stdout, output, "lapRunStacks", !simple)) { 601 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 602 psFree(output); 603 return(false); 663 return true; 664 } 665 666 if (psArrayLength(output)) { 667 if (!ippdbPrintMetadatas(stdout, output, "lapRunStacks", !simple)) { 668 psError(PS_ERR_UNKNOWN, false, "failed to print array"); 669 psFree(output); 670 return false; 671 } 604 672 } 605 673 -
branches/czw_branch/20110406/ippTools/src/laptool.h
r31396 r31407 9 9 10 10 typedef enum { 11 LAPTOOL_MODE_DEFINESEQUENCE = 0x0, 11 LAPTOOL_MODE_NONE = 0x0, 12 LAPTOOL_MODE_DEFINESEQUENCE, 12 13 LAPTOOL_MODE_LISTSEQUENCE, 13 14 LAPTOOL_MODE_DEFINERUN, -
branches/czw_branch/20110406/ippTools/src/laptoolConfig.c
r31397 r31407 57 57 ADD_OPT(Str, definerunArgs, "-label", "define the label used", NULL); 58 58 ADD_OPT(Str, definerunArgs, "-dist_group", "define the distribution group for this data", NULL); 59 60 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-obsmode", PS_META_DUPLICATE_OK, "search by obsmode", NULL); 61 ADD_OPT(Bool,definerunArgs, "-all_obsmode", "use all science obsmodes", false); 62 63 ADD_OPT(Bool,definerunArgs, "-simple", "use the simple output format", false); 59 64 60 65 // -pendingrun … … 67 72 ADD_OPT(Str, pendingrunArgs, "-state", "search by LAP run state", NULL); 68 73 ADD_OPT(Str, pendingrunArgs, "-fault", "search by LAP run fault", NULL); 69 74 ADD_OPT(Bool,pendingrunArgs, "-simple", "use the simple output format", false); 70 75 // -updaterun 71 76 psMetadata *updaterunArgs = psMetadataAlloc();
Note:
See TracChangeset
for help on using the changeset viewer.
