Changeset 12002 for trunk/ippTools/src/warptool.c
- Timestamp:
- Feb 22, 2007, 2:54:18 PM (19 years ago)
- File:
-
- 1 edited
-
trunk/ippTools/src/warptool.c (modified) (2 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippTools/src/warptool.c
r11997 r12002 937 937 PS_ASSERT_PTR_NON_NULL(config, false); 938 938 939 // find 940 psString query = psStringCopy(939 #if MYSQL5 940 char *query = 941 941 "UPDATE p4Run\n" 942 942 " SET p4Run.state = 'stop'\n" … … 962 962 " COUNT(p4SkyCellMap.p4_id) = COUNT(p4Skyfile.p4_id)\n" 963 963 " ) as Foo\n" 964 " )\n" 965 ); 964 " )\n"; 966 965 967 966 if (!p_psDBRunQuery(config->dbh, query)) { 968 967 psError(PS_ERR_UNKNOWN, false, "database error"); 969 psFree(query); 970 return false; 971 } 972 973 psFree(query); 968 return false; 969 } 970 #else // if MYSQL5 971 { 972 char *query = 973 "CREATE TEMPORARY TABLE finished\n" 974 " (p4_id INT, PRIMARY KEY(p4_id)) ENGINE=MEMORY\n"; 975 976 if (!p_psDBRunQuery(config->dbh, query)) { 977 psError(PS_ERR_UNKNOWN, false, "database error"); 978 return false; 979 } 980 } 981 982 { 983 char *query = 984 "INSERT INTO finished\n" 985 " SELECT\n" 986 " p4_id\n" 987 " FROM\n" 988 " (SELECT DISTINCT\n" 989 " p4Run.p4_id,\n" 990 " p4SkyCellMap.p4_id as foo,\n" 991 " p4Skyfile.p4_id as bar\n" 992 " FROM p4Run\n" 993 " JOIN p4SkyCellMap\n" 994 " USING(p4_id)\n" 995 " LEFT JOIN p4Skyfile\n" 996 " USING(p4_id, skycell_id, tess_id)\n" 997 " WHERE\n" 998 " p4Run.state = 'run'\n" 999 " GROUP BY\n" 1000 " p4Run.p4_id\n" 1001 " HAVING\n" 1002 " COUNT(p4SkyCellMap.p4_id) = COUNT(p4Skyfile.p4_id)\n" 1003 " ) as Foo \n"; 1004 1005 if (!p_psDBRunQuery(config->dbh, query)) { 1006 psError(PS_ERR_UNKNOWN, false, "database error"); 1007 return false; 1008 } 1009 } 1010 { 1011 char *query = 1012 "UPDATE p4Run\n" 1013 " SET p4Run.state = 'stop'\n" 1014 " WHERE\n" 1015 " p4Run.p4_id =\n" 1016 " (SELECT DISTINCT\n" 1017 " p4_id\n" 1018 " FROM finished\n" 1019 " )\n"; 1020 1021 if (!p_psDBRunQuery(config->dbh, query)) { 1022 psError(PS_ERR_UNKNOWN, false, "database error"); 1023 return false; 1024 } 1025 } 1026 1027 #endif // if MYSQL5 974 1028 975 1029 return true;
Note:
See TracChangeset
for help on using the changeset viewer.
