Changeset 18561 for trunk/ippTools/src/camtool.c
- Timestamp:
- Jul 15, 2008, 10:30:59 AM (18 years ago)
- File:
-
- 1 edited
-
trunk/ippTools/src/camtool.c (modified) (15 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/camtool.c
r18459 r18561 110 110 PXOPT_COPY_STR(config->args, where, "-reduction", "reduction", "=="); 111 111 PXOPT_COPY_STR(config->args, where, "-filter", "filter", "=="); 112 113 112 PXOPT_COPY_F64(config->args, where, "-airmass_min", "airmass", ">="); 114 113 PXOPT_COPY_F64(config->args, where, "-airmass_max", "airmass", "<"); … … 162 161 } 163 162 163 // use psDBGenerateWhereSQL because the SQL yields an intermediate table 164 164 if (where && psListLength(where->list)) { 165 165 psString whereClause = psDBGenerateWhereSQL(where, NULL); … … 263 263 PXOPT_COPY_STR(config->args, where, "-reduction", "reduction", "=="); 264 264 PXOPT_COPY_STR(config->args, where, "-filter", "filter", "=="); 265 266 265 PXOPT_COPY_F64(config->args, where, "-airmass_min", "airmass", ">="); 267 266 PXOPT_COPY_F64(config->args, where, "-airmass_max", "airmass", "<"); … … 334 333 PS_ASSERT_PTR_NON_NULL(config, false); 335 334 335 psMetadata *where = psMetadataAlloc(); 336 PXOPT_COPY_S64(config->args, where, "-cam_id", "cam_id", "=="); 337 PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "=="); 338 336 339 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 337 340 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); … … 343 346 } 344 347 345 if (config->where) { 346 psString whereClause = psDBGenerateWhereSQL(config->where, NULL); 347 psStringAppend(&query, " %s", whereClause); 348 // use psDBGenerateWhereSQL because the SQL yields an intermediate table 349 if (psListLength(where->list)) { 350 psString whereClause = psDBGenerateWhereSQL(where, NULL); 351 psStringAppend(&query, "%s", whereClause); 348 352 psFree(whereClause); 349 353 } 354 psFree(where); 350 355 351 356 // treat limit == 0 as "no limit" … … 390 395 PS_ASSERT_PTR_NON_NULL(config, false); 391 396 397 psMetadata *where = psMetadataAlloc(); 398 PXOPT_COPY_S64(config->args, where, "-cam_id", "cam_id", "=="); 399 PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "=="); 400 PXOPT_COPY_STR(config->args, where, "-class", "class", "=="); 401 PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "=="); 402 392 403 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 393 404 … … 398 409 } 399 410 400 if (config->where) { 401 psString whereClause = psDBGenerateWhereSQL(config->where, NULL); 402 psStringAppend(&query, " %s", whereClause); 411 // use psDBGenerateWhereSQL because the SQL yields an intermediate table 412 if (psListLength(where->list)) { 413 psString whereClause = psDBGenerateWhereSQL(where, NULL); 414 psStringAppend(&query, "%s", whereClause); 403 415 psFree(whereClause); 404 416 } 417 psFree(where); 405 418 406 419 if (!p_psDBRunQuery(config->dbh, query)) { … … 463 476 PXOPT_LOOKUP_F32(dtime_astrom, config->args, "-dtime_astrom", false, false); 464 477 PXOPT_LOOKUP_STR(hostname, config->args, "-hostname", false, false); 465 PXOPT_LOOKUP_F32(n_stars, config->args, "-n_stars", false, false); 466 PXOPT_LOOKUP_F32(n_extended, config->args, "-n_extended", false, false); 467 if (n_extended < 0) { 468 psError(PS_ERR_UNKNOWN, true, "-n_extended is required"); 469 return false; 470 } 471 PXOPT_LOOKUP_F32(n_cr, config->args, "-n_cr", false, false); 472 if (n_cr < 0) { 473 psError(PS_ERR_UNKNOWN, true, "-n_cr is required"); 474 return false; 475 } 476 PXOPT_LOOKUP_F32(n_astrom, config->args, "-n_astrom", false, false); 477 if (n_astrom < 0) { 478 psError(PS_ERR_UNKNOWN, true, "-n_astrom is required"); 479 return false; 480 } 481 478 PXOPT_LOOKUP_S32(n_stars, config->args, "-n_stars", false, false); 479 PXOPT_LOOKUP_S32(n_extended, config->args, "-n_extended", false, false); 480 PXOPT_LOOKUP_S32(n_cr, config->args, "-n_cr", false, false); 481 PXOPT_LOOKUP_S32(n_astrom, config->args, "-n_astrom", false, false); 482 482 PXOPT_LOOKUP_STR(path_base, config->args, "-path_base", false, false); 483 484 // default485 483 PXOPT_LOOKUP_S16(code, config->args, "-code", false, false); 484 485 // generate restrictions 486 psMetadata *where = psMetadataAlloc(); 487 PXOPT_COPY_S64(config->args, where, "-cam_id", "cam_id", "=="); 486 488 487 489 psString query = pxDataGet("camtool_find_pendingexp.sql"); … … 491 493 } 492 494 493 { 494 // build a query to search by cam_id 495 psMetadata *where = psMetadataAlloc(); 496 if (cam_id) { 497 if (!psMetadataAddS64(where, PS_LIST_TAIL, "cam_id", 0, "==", cam_id)) { 498 psError(PS_ERR_UNKNOWN, false, "failed to add item cam_id"); 499 psFree(where); 500 psFree(query); 501 return false; 502 } 503 } 504 495 // use psDBGenerateWhereSQL because the SQL yields an intermediate table 496 if (psListLength(where->list)) { 505 497 psString whereClaus = psDBGenerateWhereSQL(where, NULL); 506 psFree(where); 507 if (whereClaus) { 508 psStringAppend(&query, " %s", whereClaus); 509 psFree(whereClaus); 510 } 511 512 } 498 psStringAppend(&query, "%s", whereClaus); 499 psFree(whereClaus); 500 } 501 psFree(where); 513 502 514 503 if (!p_psDBRunQuery(config->dbh, query)) { … … 640 629 PXOPT_LOOKUP_BOOL(faulted, config->args, "-faulted", false); 641 630 631 // generate restrictions 632 psMetadata *where = psMetadataAlloc(); 633 PXOPT_COPY_S64(config->args, where, "-cam_id", "cam_id", "=="); 634 PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "=="); 635 642 636 psString query = pxDataGet("camtool_find_processedexp.sql"); 643 637 if (!query) { … … 646 640 } 647 641 648 if (config->where) { 649 psString whereClause = psDBGenerateWhereConditionSQL(config->where, NULL); 642 // use psDBGenerateWhereConditionalSQL with AND ... because the SQL ends in a WHERE 643 if (psListLength(where->list)) { 644 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 650 645 psStringAppend(&query, " AND %s", whereClause); 651 646 psFree(whereClause); 652 647 } 648 psFree(where); 653 649 654 650 if (faulted) { … … 716 712 PXOPT_COPY_STR(config->args, where, "-reduction", "reduction", "=="); 717 713 PXOPT_COPY_STR(config->args, where, "-filter", "filter", "=="); 718 719 PXOPT_COPY_F64(config->args, where, "-airmass_min", "airmass", ">="); 720 PXOPT_COPY_F64(config->args, where, "-airmass_max", "airmass", "<"); 714 PXOPT_COPY_F32(config->args, where, "-airmass_min", "airmass", ">="); 715 PXOPT_COPY_F32(config->args, where, "-airmass_max", "airmass", "<"); 721 716 PXOPT_COPY_F64(config->args, where, "-ra_min", "ra", ">="); 722 717 PXOPT_COPY_F64(config->args, where, "-ra_max", "ra", "<"); … … 745 740 PXOPT_COPY_F32(config->args, where, "-solang_max", "solang", "<"); 746 741 747 if (!psListLength(where->list) 748 && !psMetadataLookupBool(NULL, config->args, "-all")) { 742 if (!psListLength(where->list) && !psMetadataLookupBool(NULL, config->args, "-all")) { 749 743 psFree(where); 750 744 psError(PXTOOLS_ERR_DATA, false, "search parameters are required"); … … 758 752 } 759 753 760 { 761 psString query = pxDataGet("camtool_reset_faulted_runs.sql"); 762 if (!query) { 763 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 764 psFree(where); 765 return false; 766 } 767 768 if (where && psListLength(where->list)) { 769 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 770 psStringAppend(&query, " AND %s", whereClause); 771 psFree(whereClause); 772 } 773 774 if (!p_psDBRunQuery(config->dbh, query)) { 775 // rollback 776 if (!psDBRollback(config->dbh)) { 777 psError(PS_ERR_UNKNOWN, false, "database error"); 778 } 779 psError(PS_ERR_UNKNOWN, false, "database error"); 780 psFree(query); 781 psFree(where); 782 return false; 783 } 784 psFree(query); 785 } 786 787 { 788 psString query = pxDataGet("camtool_revertprocessedexp.sql"); 789 if (!query) { 790 // rollback 791 if (!psDBRollback(config->dbh)) { 792 psError(PS_ERR_UNKNOWN, false, "database error"); 793 } 794 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 795 psFree(where); 796 return false; 797 } 798 799 if (where && psListLength(where->list)) { 800 psString whereClause = psDBGenerateWhereConditionSQL(config->where, NULL); 801 psStringAppend(&query, " AND %s", whereClause); 802 psFree(whereClause); 803 } 804 805 if (!p_psDBRunQuery(config->dbh, query)) { 806 // rollback 807 if (!psDBRollback(config->dbh)) { 808 psError(PS_ERR_UNKNOWN, false, "database error"); 809 } 810 psError(PS_ERR_UNKNOWN, false, "database error"); 811 psFree(query); 812 psFree(where); 813 return false; 814 } 815 psFree(query); 816 } 754 { 755 psString query = pxDataGet("camtool_reset_faulted_runs.sql"); 756 if (!query) { 757 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 758 psFree(where); 759 return false; 760 } 761 762 // use psDBGenerateWhereConditionalSQL with AND ... because the SQL ends in a WHERE 763 if (where && psListLength(where->list)) { 764 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 765 psStringAppend(&query, " AND %s", whereClause); 766 psFree(whereClause); 767 } 768 769 if (!p_psDBRunQuery(config->dbh, query)) { 770 // rollback 771 if (!psDBRollback(config->dbh)) { 772 psError(PS_ERR_UNKNOWN, false, "database error"); 773 } 774 psError(PS_ERR_UNKNOWN, false, "database error"); 775 psFree(query); 776 psFree(where); 777 return false; 778 } 779 psFree(query); 780 } 781 782 { 783 psString query = pxDataGet("camtool_revertprocessedexp.sql"); 784 if (!query) { 785 // rollback 786 if (!psDBRollback(config->dbh)) { 787 psError(PS_ERR_UNKNOWN, false, "database error"); 788 } 789 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 790 psFree(where); 791 return false; 792 } 793 794 // use psDBGenerateWhereConditionalSQL with AND ... because the SQL ends in a WHERE 795 if (where && psListLength(where->list)) { 796 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 797 psStringAppend(&query, " AND %s", whereClause); 798 psFree(whereClause); 799 } 800 801 if (!p_psDBRunQuery(config->dbh, query)) { 802 // rollback 803 if (!psDBRollback(config->dbh)) { 804 psError(PS_ERR_UNKNOWN, false, "database error"); 805 } 806 psError(PS_ERR_UNKNOWN, false, "database error"); 807 psFree(query); 808 psFree(where); 809 return false; 810 } 811 psFree(query); 812 } 817 813 psFree(where); 818 814 … … 832 828 PXOPT_LOOKUP_S16(code, config->args, "-code", true, false); 833 829 834 if (!pxSetFaultCode(config->dbh, "camProcessedExp", config->where, code)) { 830 psMetadata *where = psMetadataAlloc(); 831 PXOPT_COPY_S64(config->args, where, "-cam_id", "cam_id", "=="); 832 PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "=="); 833 PXOPT_COPY_STR(config->args, where, "-class", "class", "=="); 834 PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "=="); 835 836 if (!pxSetFaultCode(config->dbh, "camProcessedExp", where, code)) { 835 837 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 836 return false; 837 } 838 psFree (where); 839 return false; 840 } 841 psFree (where); 838 842 839 843 return true;
Note:
See TracChangeset
for help on using the changeset viewer.
