Changeset 31040
- Timestamp:
- Mar 24, 2011, 3:24:32 PM (15 years ago)
- Location:
- tags/ipp-20110218
- Files:
-
- 63 edited
-
dbconfig (modified) (1 prop)
-
dbconfig/changes.txt (modified) (1 diff, 1 prop)
-
dbconfig/minidvodb.md (modified) (1 prop)
-
dbconfig/new.md (modified) (1 diff)
-
dbconfig/summitcopy.md (modified) (4 diffs)
-
ippScripts/scripts (modified) (1 prop)
-
ippScripts/scripts/diff_skycell.pl (modified) (1 prop)
-
ippScripts/scripts/dist_bundle.pl (modified) (1 prop)
-
ippScripts/scripts/dist_component.pl (modified) (1 prop)
-
ippScripts/scripts/ipp_apply_burntool_single.pl (modified) (1 prop)
-
ippScripts/scripts/ipp_cleanup.pl (modified) (1 diff, 1 prop)
-
ippScripts/scripts/magic_destreak_cleanup.pl (modified) (1 prop)
-
ippScripts/scripts/magic_destreak_revert.pl (modified) (1 prop)
-
ippScripts/scripts/minidvodb_merge.pl (modified) (3 diffs, 1 prop)
-
ippScripts/scripts/register_imfile.pl (modified) (1 diff)
-
ippScripts/scripts/summit_copy.pl (modified) (6 diffs)
-
ippTasks (modified) (1 prop)
-
ippTasks/destreak.pro (modified) (1 diff, 1 prop)
-
ippTasks/dist.pro (modified) (1 prop)
-
ippTasks/pstamp.pro (modified) (1 prop)
-
ippTasks/summit.copy.pro (modified) (3 diffs)
-
ippTools/share (modified) (1 prop)
-
ippTools/share/magicdstool_todestreak_raw.sql (modified) (1 prop)
-
ippTools/share/pstamptool_pendingdependent.sql (modified) (1 diff)
-
ippTools/share/pxadmin_create_tables.sql (modified) (7 diffs)
-
ippTools/share/pztool_find_completed_exp.sql (modified) (2 diffs)
-
ippTools/share/pztool_pendingimfile.sql (modified) (1 diff)
-
ippTools/share/regtool_checkburntoolimfile.sql (modified) (1 diff)
-
ippTools/share/regtool_checkstatus.sql (modified) (1 diff)
-
ippTools/share/regtool_pendingburntoolimfile.sql (modified) (1 diff)
-
ippTools/share/warptool_scmap.sql (modified) (1 prop)
-
ippTools/src (modified) (1 prop)
-
ippTools/src/addtool.c (modified) (1 diff, 1 prop)
-
ippTools/src/addtoolConfig.c (modified) (1 prop)
-
ippTools/src/camtool.c (modified) (2 diffs)
-
ippTools/src/camtoolConfig.c (modified) (3 diffs)
-
ippTools/src/chiptool.c (modified) (1 diff)
-
ippTools/src/chiptoolConfig.c (modified) (1 diff)
-
ippTools/src/dettool.c (modified) (1 diff)
-
ippTools/src/dettoolConfig.c (modified) (1 diff)
-
ippTools/src/difftool.c (modified) (2 diffs)
-
ippTools/src/difftoolConfig.c (modified) (1 diff)
-
ippTools/src/disttool.c (modified) (5 diffs)
-
ippTools/src/disttoolConfig.c (modified) (2 diffs)
-
ippTools/src/faketool.c (modified) (1 diff)
-
ippTools/src/magicdstool.c (modified) (1 diff, 1 prop)
-
ippTools/src/magicdstoolConfig.c (modified) (1 diff)
-
ippTools/src/pubtool.c (modified) (3 diffs)
-
ippTools/src/pubtool.h (modified) (1 diff)
-
ippTools/src/pubtoolConfig.c (modified) (2 diffs)
-
ippTools/src/pxfault.c (modified) (2 diffs)
-
ippTools/src/pxinject.c (modified) (1 diff)
-
ippTools/src/pxtools.h (modified) (1 diff)
-
ippTools/src/pzgetexp.c (modified) (1 diff)
-
ippTools/src/pzgetimfiles.c (modified) (9 diffs)
-
ippTools/src/pztool.c (modified) (17 diffs)
-
ippTools/src/pztoolConfig.c (modified) (3 diffs)
-
ippTools/src/regtool.c (modified) (4 diffs)
-
ippTools/src/stacktool.c (modified) (1 diff)
-
ippTools/src/staticskytool.c (modified) (1 diff)
-
ippTools/src/warptoolConfig.c (modified) (1 prop)
-
psLib/src/db (modified) (1 prop)
-
psLib/src/db/psDB.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
tags/ipp-20110218/dbconfig
-
Property svn:mergeinfo
set to
/branches/czw_branch/20101203/dbconfig merged eligible /branches/eam_branches/ipp-20101103/dbconfig merged eligible /branches/eam_branches/ipp-20101205/dbconfig merged eligible /trunk/dbconfig merged eligible
-
Property svn:mergeinfo
set to
-
tags/ipp-20110218/dbconfig/changes.txt
- Property svn:mergeinfo deleted
r30970 r31040 2007 2007 2008 2008 ALTER TABLE stackSumSkyfile ADD column dtime_convolve FLOAT AFTER dtime_match_stdev; 2009 2010 -- Version 1.1.69 2011 2012 ALTER TABLE summitImfile DROP FOREIGN KEY summitImfile_ibfk_1; 2013 ALTER TABLE pzDownloadExp DROP FOREIGN KEY pzDownloadExp_ibfk_1; 2014 2015 ALTER TABLE summitExp DROP PRIMARY KEY; 2016 ALTER TABLE summitExp ADD COLUMN summit_id BIGINT NOT NULL AUTO_INCREMENT FIRST, ADD PRIMARY KEY (summit_id); 2017 ALTER TABLE summitExp ADD KEY (exp_name,camera,telescope); 2018 2019 2020 ALTER TABLE pzDownloadImfile DROP FOREIGN KEY pzDownloadImfile_ibfk_2; 2021 2022 ALTER TABLE summitImfile ADD COLUMN summit_id BIGINT FIRST; 2023 UPDATE summitImfile,summitExp SET summitImfile.summit_id = summitExp.summit_id WHERE summitImfile.exp_name = summitExp.exp_name AND summitImfile.camera = summitExp.camera AND summitImfile.telescope = summitExp.telescope; 2024 2025 ALTER TABLE summitImfile DROP PRIMARY KEY, ADD PRIMARY KEY (summit_id,class,class_id); 2026 ALTER TABLE summitImfile ADD KEY (exp_name,camera,telescope,class,class_id); 2027 ALTER TABLE summitImfile ADD FOREIGN KEY(summit_id) REFERENCES summitExp(summit_id); 2028 ALTER TABLE summitImfile ADD FOREIGN KEY(exp_name,camera,telescope) REFERENCES summitExp(exp_name,camera,telescope); 2029 2030 2031 ALTER TABLE pzDownloadImfile DROP FOREIGN KEY pzDownloadImfile_ibfk_1; 2032 2033 ALTER TABLE pzDownloadExp ADD COLUMN summit_id BIGINT FIRST; 2034 UPDATE pzDownloadExp,summitExp SET pzDownloadExp.summit_id = summitExp.summit_id WHERE pzDownloadExp.exp_name = summitExp.exp_name AND pzDownloadExp.camera = summitExp.camera AND pzDownloadExp.telescope = summitExp.telescope; 2035 2036 ALTER TABLE pzDownloadExp DROP PRIMARY KEY, ADD PRIMARY KEY (summit_id); 2037 ALTER TABLE pzDownloadExp ADD KEY (exp_name,camera,telescope); 2038 ALTER TABLE pzDownloadExp ADD FOREIGN KEY(summit_id) REFERENCES summitExp(summit_id); 2039 ALTER TABLE pzDownloadExp ADD FOREIGN KEY(exp_name,camera,telescope) REFERENCES summitExp(exp_name,camera,telescope); 2040 2041 2042 ALTER TABLE pzDownloadImfile ADD COLUMN summit_id BIGINT FIRST; 2043 UPDATE pzDownloadImfile,pzDownloadExp SET pzDownloadImfile.summit_id = pzDownloadExp.summit_id WHERE pzDownloadImfile.exp_name = pzDownloadExp.exp_name AND pzDownloadImfile.camera = pzDownloadExp.camera AND pzDownloadImfile.telescope = pzDownloadExp.telescope; 2044 2045 ALTER TABLE pzDownloadImfile DROP PRIMARY KEY, ADD PRIMARY KEY (summit_id,class,class_id); 2046 ALTER TABLE pzDownloadImfile ADD FOREIGN KEY(summit_id) REFERENCES pzDownloadExp(summit_id); 2047 ALTER TABLE pzDownloadImfile ADD FOREIGN KEY(summit_id,class,class_id) REFERENCES summitImfile(summit_id,class,class_id); 2048 ALTER TABLE pzDownloadImfile ADD FOREIGN KEY(exp_name,camera,telescope) REFERENCES summitExp(exp_name,camera,telescope); 2049 ALTER TABLE pzDownloadImfile ADD FOREIGN KEY(exp_name,camera,telescope,class,class_id) REFERENCES summitImfile(exp_name,camera,telescope,class,class_id); 2050 2051 2052 ALTER TABLE newExp ADD COLUMN summit_id BIGINT AFTER exp_id; 2053 UPDATE newExp,pzDownloadExp SET newExp.summit_id = pzDownloadExp.summit_id WHERE newExp.tmp_exp_name = pzDownloadExp.exp_name AND newExp.tmp_camera = pzDownloadExp.camera AND newExp.tmp_telescope = pzDownloadExp.telescope; 2054 2055 ALTER TABLE newExp ADD KEY (summit_id); 2056 2057 2058 UPDATE dbversion set schema_version = '1.1.69', updated= CURRENT_TIMESTAMP(); 2059 2060 -
tags/ipp-20110218/dbconfig/minidvodb.md
- Property svn:mergeinfo deleted
-
tags/ipp-20110218/dbconfig/new.md
r25418 r31040 1 1 newExp METADATA 2 2 exp_id S64 0 # Primary Key AUTO_INCREMENT 3 summit_id S64 0 # Key 3 4 tmp_exp_name STR 64 # Key 4 5 tmp_camera STR 64 # Key -
tags/ipp-20110218/dbconfig/summitcopy.md
r26378 r31040 11 11 # -1 as NULL or 0 might be a valid value (empty fileset) 12 12 summitExp METADATA 13 exp_name STR 64 # Primary Key 14 camera STR 64 # Primary Key 15 telescope STR 64 # Primary Key 13 summit_id S64 0 # Primary Key AUTO_INCREMENT 14 exp_name STR 64 # Key 15 camera STR 64 # Key 16 telescope STR 64 # Key 16 17 dateobs UTC NULL 17 18 exp_type STR 64 … … 26 27 # list of source images -- updated as exposures/filesets are queried 27 28 summitImfile METADATA 28 exp_name STR 64 # Primary Key fkey(exp_name, camera, telescope) ref summitExp(exp_name, camera, telescope) 29 camera STR 64 # Primary Key 30 telescope STR 64 # Primary Key 29 summit_id S64 0 # Primary Key fkey(summit_id) ref summitExp(summit_id) 30 exp_name STR 64 # Key fkey(exp_name, camera, telescope) ref summitExp(exp_name, camera, telescope) 31 camera STR 64 # Key 32 telescope STR 64 # Key 31 33 file_id STR 64 # Key 32 34 bytes S32 0 … … 41 43 # downloaded) 42 44 pzDownloadExp METADATA 43 exp_name STR 64 # Primary Key fkey(exp_name, camera, telescope) ref summitExp(exp_name, camera, telescope) 44 camera STR 64 # Primary Key 45 telescope STR 64 # Primary Key 45 summit_id S64 0 # Primary Key fkey(summit_id) ref summitExp(summit_id) 46 exp_name STR 64 # Key fkey(exp_name, camera, telescope) ref summitExp(exp_name, camera, telescope) 47 camera STR 64 # Key 48 telescope STR 64 # Key 46 49 state STR 64 # Key 47 50 epoch UTC 0001-01-01T00:00:00Z … … 49 52 50 53 pzDownloadImfile METADATA 51 exp_name STR 64 # Primary Key fkey(exp_name, camera, telescope) ref pzDownloadExp(exp_name, camera, telescope) 52 camera STR 64 # Primary Key fkey(exp_name, camera, telescope, class, class_id) ref summitImfile(exp_name, camera, telescope, class, class_id) 53 telescope STR 64 # Primary Key 54 class STR 64 # Primary Key 54 summit_id S64 0 # Primary Key fkey(summit_id) ref pzDownloadExp(summit_id) 55 exp_name STR 64 # Key fkey(exp_name, camera, telescope) ref pzDownloadExp(exp_name, camera, telescope) 56 camera STR 64 # Key fkey(exp_name, camera, telescope, class, class_id) ref summitImfile(exp_name, camera, telescope, class, class_id) 57 telescope STR 64 # Key fkey(exp_name, camera, telescope) ref summitExp(exp_name, camera, telescope) 58 class STR 64 # Primary Key fkey(summit_id,class,class_id) ref summitImfile(summit_id,class,class_id) 55 59 class_id STR 64 # Primary Key 56 60 uri STR 255 -
tags/ipp-20110218/ippScripts/scripts
- Property svn:mergeinfo set to
-
tags/ipp-20110218/ippScripts/scripts/diff_skycell.pl
- Property svn:mergeinfo deleted
-
tags/ipp-20110218/ippScripts/scripts/dist_bundle.pl
- Property svn:mergeinfo deleted
-
tags/ipp-20110218/ippScripts/scripts/dist_component.pl
- Property svn:mergeinfo deleted
-
tags/ipp-20110218/ippScripts/scripts/ipp_apply_burntool_single.pl
- Property svn:mergeinfo changed (with no actual effect on merging)
-
tags/ipp-20110218/ippScripts/scripts/ipp_cleanup.pl
- Property svn:mergeinfo deleted
r30925 r31040 1904 1904 1905 1905 foreach my $file (@$files) { 1906 print STDERR "unlinking $stage $stage_id $file ";1906 print STDERR "unlinking $stage $stage_id $file\n"; 1907 1907 1908 1908 my $error_code = $ipprc->kill_file($file); -
tags/ipp-20110218/ippScripts/scripts/magic_destreak_cleanup.pl
- Property svn:mergeinfo deleted
-
tags/ipp-20110218/ippScripts/scripts/magic_destreak_revert.pl
- Property svn:mergeinfo deleted
-
tags/ipp-20110218/ippScripts/scripts/minidvodb_merge.pl
- Property svn:mergeinfo deleted
r30970 r31040 148 148 &my_die("Unable to perform dvoverify: $error_code", $mergedvodb, $error_code); 149 149 } 150 $dtime_ dvoverify = 86400.0*(DateTime->now->mjd - $mjd_dvoverify_start); # MJD of starting script151 print "dvoverify time $dtime_ dvoverify\n";150 $dtime_verify = 86400.0*(DateTime->now->mjd - $mjd_dvoverify_start); # MJD of starting script 151 print "dvoverify time $dtime_verify\n"; 152 152 } 153 153 … … 232 232 $command .= " -dtime_merge $dtime_merge" if defined $dtime_merge; 233 233 $command .= " -dtime_script $dtime_script" if defined $dtime_script; 234 $command .= " -dtime_verify $dtime_ dvoverify" if defined $dtime_dvoverify;234 $command .= " -dtime_verify $dtime_verify" if defined $dtime_verify; 235 235 $command .= " -dbname $dbname" if defined $dbname; 236 236 #print $command; … … 273 273 $command .= " -dtime_merge $dtime_merge" if defined $dtime_merge; 274 274 $command .= " -dtime_script $dtime_script" if defined $dtime_script; 275 $command .= " -dtime_verify $dtime_ dvoverify" if defined $dtime_dvoverify;275 $command .= " -dtime_verify $dtime_verify" if defined $dtime_verify; 276 276 $command .= " -dbname $dbname" if defined $dbname; 277 277 -
tags/ipp-20110218/ippScripts/scripts/register_imfile.pl
r30711 r31040 267 267 268 268 if ((abs($burntoolStateCurrent) != $burntoolStateTarget)&& 269 (!is_daytime($dateobs,$sunrise,$sunset))) { 269 (!is_daytime($dateobs,$sunrise,$sunset))&& 270 (!is_ccim($exp_name,$exp_type))) { 270 271 my $mdcParser = PS::IPP::Metadata::Config->new; 271 272 -
tags/ipp-20110218/ippScripts/scripts/summit_copy.pl
r25418 r31040 22 22 23 23 # Parse the command-line arguments 24 my ( $uri, $filename, $compress, $bytes, $md5, $nebulous, $ exp_name, $inst, $telescope, $class, $class_id,24 my ( $uri, $filename, $compress, $bytes, $md5, $nebulous, $summit_id, $exp_name, $inst, $telescope, $class, $class_id, 25 25 $dbname, $verbose, $no_update, $no_op, $timeout, $copies ); 26 26 GetOptions( … … 31 31 'md5=s' => \$md5, # reported md5 checksum 32 32 'nebulous' => \$nebulous, # use nebulous for the target file 33 'summit_id=s' => \$summit_id, # summit_id for this exposure 33 34 'exp_name=s' => \$exp_name, # Exposure name 34 35 'inst=s' => \$inst, # Instrument … … 45 46 46 47 pod2usage( -msg => "Unknown option: @ARGV", -exitval => 2 ) if @ARGV; 47 pod2usage( -msg => "Required options: --uri --filename -- exp_name --inst --telescope --class --class_id",48 pod2usage( -msg => "Required options: --uri --filename --summit_id --exp_name --inst --telescope --class --class_id", 48 49 -exitval => 3) 49 50 unless defined $uri 50 51 and defined $filename 52 and defined $summit_id 51 53 and defined $exp_name 52 54 and defined $inst … … 110 112 $command = "$pztool -copydone"; 111 113 $command .= " -row_lock"; 114 $command .= " -summit_id $summit_id"; 112 115 $command .= " -exp_name $exp_name"; 113 116 $command .= " -inst $inst"; … … 236 239 my $command; 237 240 $command = "$pztool -copydone"; 241 $command .= " -summit_id $summit_id"; 238 242 $command .= " -exp_name $exp_name"; 239 243 $command .= " -inst $inst"; … … 246 250 247 251 system ($command); 252 253 if ($exit_code == 110) { 254 $command = "$pztool -updatepzexp"; 255 $command .= " -exp_name $exp_name"; 256 $command .= " -camera $inst"; 257 $command .= " -telescope $telescope"; 258 $command .= " -set_state drop"; 259 $command .= " -dbname $dbname" if defined $dbname; 260 261 system ($command); 262 } 263 248 264 } 249 265 -
tags/ipp-20110218/ippTasks
- Property svn:mergeinfo changed
/trunk/ippTasks merged: 30714,30756,30792,30798-30799,30821,30855-30856,30929,30933,30992,31038
- Property svn:mergeinfo changed
-
tags/ipp-20110218/ippTasks/destreak.pro
- Property svn:mergeinfo deleted
r30757 r31040 113 113 114 114 task.exec 115 # we check twice in case an entry has been removed from DS_STAGE 116 if ($magicDSStage >= $DS_STAGE:n) set magicDSStage = 0 117 115 118 $run = magicdstool -todestreak -stage $DS_STAGE:$magicDSStage 116 119 $magicDSStage ++ -
tags/ipp-20110218/ippTasks/dist.pro
- Property svn:mergeinfo deleted
-
tags/ipp-20110218/ippTasks/pstamp.pro
- Property svn:mergeinfo deleted
-
tags/ipp-20110218/ippTasks/summit.copy.pro
r27895 r31040 429 429 book getword pzPendingImfile $pageName md5sum -var MD5SUM 430 430 book getword pzPendingImfile $pageName dateobs -var DATEOBS 431 book getword pzPendingImfile $pageName summit_id -var SUMMIT_ID 431 432 book getword pzPendingImfile $pageName exp_name -var EXP_NAME 432 433 book getword pzPendingImfile $pageName camera -var CAMERA … … 479 480 end 480 481 481 $run = summit_copy.pl --uri $URI --filename $FILENAME -- exp_name $EXP_NAME --inst $CAMERA --telescope $TELESCOPE --class $CLASS --class_id $CLASS_ID --bytes $BYTES --md5 $MD5SUM --dbname $DBNAME --timeout 600 --verbose --copies 2482 $run = summit_copy.pl --uri $URI --filename $FILENAME --summit_id $SUMMIT_ID --exp_name $EXP_NAME --inst $CAMERA --telescope $TELESCOPE --class $CLASS --class_id $CLASS_ID --bytes $BYTES --md5 $MD5SUM --dbname $DBNAME --timeout 600 --verbose --copies 2 482 483 if ($USECOMPRESS == 1) 483 484 $run = $run --compress … … 625 626 book setword pzPendingAdvance $pageName pantaskState RUN 626 627 628 book getword pzPendingAdvance $pageName summit_id -var SUMMIT_ID 627 629 book getword pzPendingAdvance $pageName exp_name -var EXP_NAME 628 630 book getword pzPendingAdvance $pageName camera -var CAMERA -
tags/ipp-20110218/ippTools/share
- Property svn:mergeinfo set to
-
tags/ipp-20110218/ippTools/share/magicdstool_todestreak_raw.sql
- Property svn:mergeinfo deleted
-
tags/ipp-20110218/ippTools/share/pstamptool_pendingdependent.sql
r29564 r31040 1 1 SELECT DISTINCT 2 2 pstampDependent.*, 3 concat( pstampDependent.outdir, '/checkdep.', dep_id, '.log') as logfile, 3 4 IFNULL(Label.priority, 10000) AS priority 4 5 FROM pstampDependent -
tags/ipp-20110218/ippTools/share/pxadmin_create_tables.sql
r30946 r31040 14 14 15 15 CREATE TABLE summitExp ( 16 summit_id BIGINT NOT NULL AUTO_INCREMENT, 16 17 exp_name VARCHAR(64), 17 18 camera VARCHAR(64), … … 23 24 fault SMALLINT NOT NULL, 24 25 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 25 PRIMARY KEY(exp_name, camera, telescope), 26 PRIMARY KEY(summit_id), 27 KEY(exp_name, camera, telescope), 26 28 KEY(fault) 27 29 ) ENGINE=innodb DEFAULT CHARSET=latin1; 28 30 29 31 CREATE TABLE summitImfile ( 32 summit_id BIGINT, 30 33 exp_name VARCHAR(64), 31 34 camera VARCHAR(64), … … 38 41 uri VARCHAR(255), 39 42 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 40 PRIMARY KEY(exp_name, camera, telescope, class, class_id), 43 PRIMARY KEY(summit_id, class, class_id), 44 KEY(exp_name, camera, telescope, class, class_id), 41 45 KEY(file_id), 46 FOREIGN KEY(summit_id) REFERENCES summitExp(summit_id), 42 47 FOREIGN KEY(exp_name, camera, telescope) REFERENCES summitExp(exp_name, camera, telescope) 43 48 ) ENGINE=innodb DEFAULT CHARSET=latin1; 44 49 45 50 CREATE TABLE pzDownloadExp ( 51 summit_id BIGINT, 46 52 exp_name VARCHAR(64), 47 53 camera VARCHAR(64), … … 49 55 state VARCHAR(64), 50 56 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 51 PRIMARY KEY(exp_name, camera, telescope), 57 PRIMARY KEY(summit_id), 58 KEY(exp_name, camera, telescope), 52 59 KEY(state), 60 FOREIGN KEY(summit_id) REFERENCES summitExp(summit_id), 53 61 FOREIGN KEY(exp_name, camera, telescope) REFERENCES summitExp(exp_name, camera, telescope) 54 62 ) ENGINE=innodb DEFAULT CHARSET=latin1; 55 63 56 64 CREATE TABLE pzDownloadImfile ( 65 summit_id BIGINT, 57 66 exp_name VARCHAR(64), 58 67 camera VARCHAR(64), … … 66 75 bytes INT, 67 76 md5sum VARCHAR(32), 68 PRIMARY KEY(exp_name, camera, telescope, class, class_id), 69 KEY(fault), 77 PRIMARY KEY(summit_id, class, class_id), 78 KEY(exp_name, camera, telescope, class, class_id), 79 KEY(fault), 80 FOREIGN KEY(summit_id) REFERENCES pzDownloadExp(summit_id), 81 FOREIGN KEY(summit_id, class, class_id) REFERENCES summitImfile(summit_id, class, class_id), 70 82 FOREIGN KEY (exp_name, camera, telescope) REFERENCES pzDownloadExp(exp_name, camera, telescope), 71 83 FOREIGN KEY(exp_name, camera, telescope, class, class_id) REFERENCES summitImfile(exp_name, camera, telescope, class, class_id) … … 74 86 CREATE TABLE newExp ( 75 87 exp_id BIGINT AUTO_INCREMENT, 88 summit_id BIGINT, 76 89 tmp_exp_name VARCHAR(64), 77 90 tmp_camera VARCHAR(64), … … 88 101 PRIMARY KEY(exp_id), 89 102 KEY(exp_id), 103 KEY(summit_id), 90 104 KEY(tmp_exp_name), 91 105 KEY(tmp_camera), -
tags/ipp-20110218/ippTools/share/pztool_find_completed_exp.sql
r23643 r31040 1 1 SELECT DISTINCT 2 summit_id, 2 3 exp_name, 3 4 camera, … … 13 14 FROM pzDownloadExp 14 15 JOIN summitExp 15 USING( exp_name, camera, telescope)16 USING(summit_id) 16 17 LEFT JOIN pzDownloadImfile 17 USING( exp_name, camera, telescope)18 USING(summit_id) 18 19 LEFT JOIN newExp 19 ON pzDownloadExp.exp_name = newExp.tmp_exp_name 20 AND pzDownloadExp.camera = newExp.tmp_camera 21 AND pzDownloadExp.telescope = newExp.tmp_telescope 20 USING(summit_id) 22 21 WHERE 23 22 pzDownloadExp.state = 'run' 23 AND newExp.summit_id IS NULL 24 24 AND newExp.tmp_exp_name IS NULL 25 25 AND newExp.tmp_camera IS NULL 26 26 AND newExp.tmp_telescope IS NULL 27 27 GROUP BY 28 pzDownloadExp.exp_name, 29 pzDownloadExp.camera, 30 pzDownloadExp.telescope 28 pzDownloadExp.summit_id, 31 29 -- it doesn't matter which field in pzDownloadImfile we count as we've 32 30 -- already Download a group by -
tags/ipp-20110218/ippTools/share/pztool_pendingimfile.sql
r18305 r31040 6 6 FROM summitImfile 7 7 JOIN pzDownloadExp 8 USING(exp_name, camera, telescope)8 USING(summit_id) 9 9 LEFT JOIN pzDownloadImfile 10 USING( exp_name, camera, telescope, class, class_id)10 USING(summit_id, class, class_id) 11 11 JOIN summitExp 12 USING(exp_name, camera, telescope)12 USING(summit_id) 13 13 WHERE 14 14 pzDownloadExp.state = 'run' 15 AND pzDownloadImfile.summit_id IS NULL 15 16 AND pzDownloadImfile.exp_name IS NULL 16 17 AND pzDownloadImfile.camera IS NULL -
tags/ipp-20110218/ippTools/share/regtool_checkburntoolimfile.sql
r30283 r31040 21 21 FROM 22 22 summitExp 23 JOIN summitImfile USING( exp_name)24 LEFT JOIN pzDownloadExp USING( exp_name)25 LEFT JOIN newExp ON summitExp.exp_name = tmp_exp_name23 JOIN summitImfile USING(summit_id) 24 LEFT JOIN pzDownloadExp USING(summit_id) 25 LEFT JOIN newExp USING(summit_id) 26 26 LEFT JOIN newImfile ON (summitImfile.class_id = newImfile.tmp_class_id AND newExp.exp_id = newImfile.exp_id) 27 27 LEFT JOIN rawExp ON rawExp.exp_id = newExp.exp_id -
tags/ipp-20110218/ippTools/share/regtool_checkstatus.sql
r30998 r31040 20 20 (rawImfile.burntool_state IS NOT NULL) AS is_registered 21 21 FROM summitExp 22 JOIN summitImfile USING( exp_name)23 LEFT JOIN pzDownloadExp USING( exp_name)24 LEFT JOIN newExp ON summitExp.exp_name = tmp_exp_name22 JOIN summitImfile USING(summit_id) 23 LEFT JOIN pzDownloadExp USING(summit_id) 24 LEFT JOIN newExp USING(summit_id) 25 25 LEFT JOIN newImfile ON (summitImfile.class_id = newImfile.tmp_class_id AND newExp.exp_id = newImfile.exp_id) 26 26 LEFT JOIN rawExp ON rawExp.exp_id = newExp.exp_id -
tags/ipp-20110218/ippTools/share/regtool_pendingburntoolimfile.sql
r30283 r31040 22 22 FROM 23 23 summitExp 24 JOIN summitImfile USING( exp_name)25 LEFT JOIN pzDownloadExp USING( exp_name)26 LEFT JOIN newExp ON summitExp.exp_name = tmp_exp_name24 JOIN summitImfile USING(summit_id) 25 LEFT JOIN pzDownloadExp USING(summit_id) 26 LEFT JOIN newExp USING(summit_id) 27 27 LEFT JOIN newImfile ON (summitImfile.class_id = newImfile.tmp_class_id AND newExp.exp_id = newImfile.exp_id) 28 28 LEFT JOIN rawExp ON rawExp.exp_id = newExp.exp_id -
tags/ipp-20110218/ippTools/share/warptool_scmap.sql
- Property svn:mergeinfo deleted
-
tags/ipp-20110218/ippTools/src
- Property svn:mergeinfo changed
/trunk/ippTools/src merged: 30733,30768-30769,30805,30854,30877,30906-30907,30912,30927,30945,31038
- Property svn:mergeinfo changed
-
tags/ipp-20110218/ippTools/src/addtool.c
- Property svn:mergeinfo changed (with no actual effect on merging)
r30970 r31040 684 684 PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false); 685 685 686 if (!pxSetFaultCode(config->dbh, "addProcessedExp", where, fault )) {686 if (!pxSetFaultCode(config->dbh, "addProcessedExp", where, fault, 0)) { 687 687 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 688 688 psFree (where); -
tags/ipp-20110218/ippTools/src/addtoolConfig.c
- Property svn:mergeinfo changed (with no actual effect on merging)
-
tags/ipp-20110218/ippTools/src/camtool.c
r30732 r31040 983 983 984 984 PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false); 985 PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false); 985 986 986 987 psMetadata *where = psMetadataAlloc(); … … 990 991 PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "=="); 991 992 992 if (!pxSetFaultCode(config->dbh, "camProcessedExp", where, fault )) {993 if (!pxSetFaultCode(config->dbh, "camProcessedExp", where, fault, quality)) { 993 994 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 994 995 psFree (where); -
tags/ipp-20110218/ippTools/src/camtoolConfig.c
r29902 r31040 86 86 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_dist_group", 0, "define new dist_group", NULL); 87 87 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_note", 0, "define new note", NULL); 88 pxmagicAddArguments(updaterunArgs); 88 89 89 90 // -pendingexp … … 243 244 psMetadataAddStr(updateprocessedexpArgs, PS_LIST_TAIL, "-class_id", 0, "search by class ID", NULL); 244 245 psMetadataAddS16(updateprocessedexpArgs, PS_LIST_TAIL, "-fault", 0, "set fault code (required)", INT16_MAX); 246 psMetadataAddS16(updateprocessedexpArgs, PS_LIST_TAIL, "-set_quality", 0, "set quality", 0); 245 247 246 248 // -block … … 299 301 PXOPT_ADD_MODE("-addprocessedexp", "add a processed exposure", CAMTOOL_MODE_ADDPROCESSEDEXP, addprocessedexpArgs); 300 302 PXOPT_ADD_MODE("-processedexp", "show processed exposures", CAMTOOL_MODE_PROCESSEDEXP, processedexpArgs); 301 PXOPT_ADD_MODE("-revertprocessedexp", " change procesed exp properties", CAMTOOL_MODE_REVERTPROCESSEDEXP, revertprocessedexpArgs);302 PXOPT_ADD_MODE("-updateprocessedexp", " undo a processed exposure", CAMTOOL_MODE_UPDATEPROCESSEDEXP,updateprocessedexpArgs);303 PXOPT_ADD_MODE("-revertprocessedexp", "undo a processed exposure", CAMTOOL_MODE_REVERTPROCESSEDEXP, revertprocessedexpArgs); 304 PXOPT_ADD_MODE("-updateprocessedexp", "changed processed exp properties", CAMTOOL_MODE_UPDATEPROCESSEDEXP,updateprocessedexpArgs); 303 305 PXOPT_ADD_MODE("-block", "set a label block", CAMTOOL_MODE_BLOCK, blockArgs); 304 306 PXOPT_ADD_MODE("-masked", "show blocked labels", CAMTOOL_MODE_MASKED, maskedArgs); -
tags/ipp-20110218/ippTools/src/chiptool.c
r30732 r31040 963 963 if (!state) { 964 964 PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false); 965 966 if (!pxSetFaultCode(config->dbh, "chipProcessedImfile", where, fault)) { 965 PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false); 966 967 if (!pxSetFaultCode(config->dbh, "chipProcessedImfile", where, fault, quality)) { 967 968 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 968 969 return false; -
tags/ipp-20110218/ippTools/src/chiptoolConfig.c
r30732 r31040 235 235 psMetadataAddS16(updateprocessedimfileArgs, PS_LIST_TAIL, "-fault", 0, "set fault code (required)", 0); 236 236 psMetadataAddStr(updateprocessedimfileArgs, PS_LIST_TAIL, "-set_state", 0, "set state", NULL); 237 237 psMetadataAddS16(updateprocessedimfileArgs, PS_LIST_TAIL, "-set_quality", 0, "set quality", 0); 238 238 // -processedExp 239 239 psMetadata *listrunArgs = psMetadataAlloc(); -
tags/ipp-20110218/ippTools/src/dettool.c
r29923 r31040 1314 1314 PS_ASSERT_PTR_NON_NULL(config, false); 1315 1315 1316 bool updating = false; 1317 long rows = 0; 1318 psMetadata *where = psMetadataAlloc(); 1316 1319 PXOPT_LOOKUP_S64(det_id, config->args, "-det_id", true, false); // required 1320 1317 1321 PXOPT_LOOKUP_BOOL(again, config->args, "-again", false); 1318 1322 PXOPT_LOOKUP_STR(state, config->args, "-state", false, false); 1319 1323 1324 PXOPT_COPY_S64(config->args, where, "-det_id", "det_id", "=="); 1325 1326 psMetadata *values = psMetadataAlloc(); 1327 PXOPT_LOOKUP_TIME(time_begin, config->args, "-set_time_begin", false, false); 1328 if (time_begin) { 1329 updating = true; 1330 PXOPT_COPY_TIME(config->args, values, "-set_time_begin", "time_begin", "=="); 1331 } 1332 PXOPT_LOOKUP_TIME(time_end, config->args, "-set_time_end", false, false); 1333 if (time_end) { 1334 updating = true; 1335 PXOPT_COPY_TIME(config->args, values, "-set_time_end", "time_end", "=="); 1336 } 1337 PXOPT_LOOKUP_TIME(use_begin, config->args, "-set_use_begin", false, false); 1338 if (use_begin) { 1339 updating = true; 1340 PXOPT_COPY_TIME(config->args, values, "-set_use_begin", "use_begin", "=="); 1341 } 1342 PXOPT_LOOKUP_TIME(use_end, config->args, "-set_use_end", false, false); 1343 if (use_end) { 1344 updating = true; 1345 PXOPT_COPY_TIME(config->args, values, "-set_use_end", "use_end", "=="); 1346 } 1347 if (state) { 1348 updating = true; 1349 if (!isValidDetRunState (state)) return false; 1350 PXOPT_COPY_STR(config->args, values, "-state", "state", "=="); 1351 } 1352 1353 1320 1354 // either -rerun or -state must be specified 1321 if (!(again || state)) { 1322 psError(PS_ERR_UNKNOWN, true, "either -again or -state must be specified"); 1323 return false; 1324 } 1325 if (again && state) { 1326 psError(PS_ERR_UNKNOWN, true, "-accept and -reject are exclusive"); 1327 return false; 1328 } 1329 1330 if (state) { 1331 // set detRun.state to state 1332 return setDetRunState(config, det_id, state); 1355 if (!(again || updating)) { 1356 psError(PS_ERR_UNKNOWN, true, "either -again or update parameters must be specified"); 1357 return false; 1358 } 1359 if (again && updating) { 1360 psError(PS_ERR_UNKNOWN, true, "-again and update parameters are exclusive"); 1361 return false; 1362 } 1363 1364 if (updating) { 1365 rows = psDBUpdateRows(config->dbh,"detRun",where,values); 1366 if (rows) { 1367 return(true); 1368 } 1369 else { 1370 return(false); 1371 } 1333 1372 } 1334 1373 -
tags/ipp-20110218/ippTools/src/dettoolConfig.c
r29923 r31040 848 848 psMetadataAddBool(updatedetrunArgs, PS_LIST_TAIL, "-again", 0, "start a new iteration of this detrend run", false); 849 849 psMetadataAddStr(updatedetrunArgs, PS_LIST_TAIL, "-state", 0, "set the state of this detrend run", false); 850 psMetadataAddTime(updatedetrunArgs, PS_LIST_TAIL, "-set_time_begin", 0, "start of period to apply detrend too", NULL); 851 psMetadataAddTime(updatedetrunArgs, PS_LIST_TAIL, "-set_time_end", 0, "end of period to apply detrend too", NULL); 852 psMetadataAddTime(updatedetrunArgs, PS_LIST_TAIL, "-set_use_begin", 0, "start of detrend run applicable period", NULL); 853 psMetadataAddTime(updatedetrunArgs, PS_LIST_TAIL, "-set_use_end", 0, "end of detrend run applicable period", NULL); 850 854 851 855 // -rerun -
tags/ipp-20110218/ippTools/src/difftool.c
r30732 r31040 2681 2681 2682 2682 PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false); 2683 PXOPT_LOOKUP_S16(quality, config->args, "-set_quality", false, false); 2683 2684 2684 2685 psMetadata *where = psMetadataAlloc(); … … 2686 2687 PXOPT_COPY_STR(config->args, where, "-skycell_id", "skycell_id", "=="); 2687 2688 2688 if (!pxSetFaultCode(config->dbh, "diffSkyfile", where, fault )) {2689 if (!pxSetFaultCode(config->dbh, "diffSkyfile", where, fault, quality)) { 2689 2690 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 2690 2691 psFree (where); -
tags/ipp-20110218/ippTools/src/difftoolConfig.c
r30732 r31040 411 411 psMetadata *updatediffskyfileArgs = psMetadataAlloc(); 412 412 psMetadataAddS64(updatediffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0, "define diff ID (required)", 0); 413 psMetadataAddStr(updatediffskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0, "search by skycell ID", NULL); 413 414 psMetadataAddS16(updatediffskyfileArgs, PS_LIST_TAIL, "-fault", 0, "set fault code (required)", 0); 414 psMetadataAddS tr(updatediffskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0, "search by skycell ID", NULL);415 psMetadataAddS16(updatediffskyfileArgs, PS_LIST_TAIL, "-set_quality", 0, "set quality", 0); 415 416 416 417 // -tocleanedskyfile -
tags/ipp-20110218/ippTools/src/disttool.c
r30551 r31040 141 141 PXOPT_LOOKUP_BOOL(use_alternate, config->args, "-use_alternate", false); 142 142 PXOPT_LOOKUP_BOOL(no_magic, config->args, "-no_magic", false); 143 PXOPT_LOOKUP_BOOL(i_am_sure, config->args, "-i_am_sure", false); 143 144 PXOPT_LOOKUP_STR(set_label, config->args, "-set_label", false, false); 144 145 PXOPT_LOOKUP_STR(set_data_group, config->args, "-set_data_group", false, false); … … 150 151 PXOPT_LOOKUP_BOOL(pretend, config->args, "-pretend", false); 151 152 153 // select arguments 154 psMetadata *where = psMetadataAlloc(); 155 156 PXOPT_COPY_S64(config->args, where, "-target_id", "distTarget.target_id", "=="); 157 PXOPT_COPY_S64(config->args, where, "-exp_id", "rawExp.exp_id", "=="); 158 PXOPT_COPY_S64(config->args, where, "-chip_id", "chipRun.chip_id", "=="); 159 PXOPT_COPY_STR(config->args, where, "-exp_type", "exp_type", "==");; 160 PXOPT_COPY_STR(config->args, where, "-dist_group", "distTarget.dist_group", "==");; 161 162 PXOPT_LOOKUP_STR(label, config->args, "-label", false, false); 163 PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", false, false); 164 PXOPT_LOOKUP_STR(exp_type, config->args, "-exp_type", false, false); 165 PXOPT_LOOKUP_STR(dist_group, config->args, "-dist_group", false, false); 166 167 // queuing no_magic runs can be quite dangerous. Require confirmation 168 if (no_magic && !pretend && !i_am_sure) { 169 psError(PXTOOLS_ERR_SYS, true, "-i_am_sure required to queue no_magic distribution runs"); 170 return false; 171 } 172 152 173 if (use_alternate) { 153 174 if (strcmp(stage, "raw")) { … … 161 182 } 162 183 163 // select arguments 164 psMetadata *where = psMetadataAlloc(); 165 166 PXOPT_COPY_S64(config->args, where, "-target_id", "distTarget.target_id", "=="); 167 PXOPT_COPY_S64(config->args, where, "-exp_id", "rawExp.exp_id", "=="); 168 PXOPT_COPY_S64(config->args, where, "-chip_id", "chipRun.chip_id", "=="); 169 170 PXOPT_LOOKUP_STR(label, config->args, "-label", false, false); 171 PXOPT_LOOKUP_STR(dist_group, config->args, "-dist_group", false, false); 184 // We want to possible to distribute unmagicked raw exposures for the purpose 185 // of distributing detrend inputs 186 // To make it less likely that unmagicked raw stage exposures from being distributed 187 // accidentally we require that dist_group (to select target and destination with 188 // an interest) 189 // and exp_id to be supplied. We could add -exp_type and dateobs cuts to make it easier 190 if (!strcmp(stage, "raw") && no_magic && !(exp_id && dist_group && exp_type)) { 191 psError(PXTOOLS_ERR_SYS, true, "exp_id, exp_type, and dist_group are required for raw stage if no_magic"); 192 return false; 193 } 194 172 195 173 196 psString query = NULL; … … 182 205 runJoinStr = "camRun.exp_id"; 183 206 } 184 query = pxDataGet("disttool_definebyquery_raw.sql"); 207 if (!no_magic) { 208 query = pxDataGet("disttool_definebyquery_raw.sql"); 209 } else { 210 query = pxDataGet("disttool_definebyquery_raw_no_magic.sql"); 211 } 185 212 if (!query) { 186 213 psError(PXTOOLS_ERR_SYS, false, "failed to retreive SQL statement"); … … 189 216 } 190 217 191 // for raw stage we select by camRun.label and dist_group because rawExp doesn't have those columns 192 if (label) { 193 psStringAppend(&query, " AND (magicDSRun.label = '%s')", label); 194 } 195 if (dist_group) { 196 psStringAppend(&query, " AND (camRun.dist_group = '%s')", dist_group); 218 if (!no_magic) { 219 if (label) { 220 psStringAppend(&query, " AND (magicDSRun.label = '%s')", label); 221 } 222 // for raw stage we select by camRun.label and dist_group because rawExp 223 // doesn't have those columns 224 if (dist_group) { 225 psStringAppend(&query, " AND (camRun.dist_group = '%s')", dist_group); 226 } 197 227 } 198 228 } else if (!strcmp(stage, "chip")) { -
tags/ipp-20110218/ippTools/src/disttoolConfig.c
r30551 r31040 49 49 50 50 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-no_magic", 0, "magic is not needed", false); 51 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-i_am_sure", 0, "confirmation needed when -no_magic is supplied", false); 51 52 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-use_alternate", 0, "use alternate inputs", false); 52 53 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-set_label", 0, "define label for run", NULL); … … 57 58 58 59 // select args 59 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-target_id", 0, "define target_id", 0); 60 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-exp_id", 0, "define exp_id", 0); 61 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-chip_id", 0, "define chip_id", 0); 60 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-target_id", 0, "select by target_id", 0); 61 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-exp_id", 0, "select by exp_id", 0); 62 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-exp_type", 0, "select by exp_type", NULL); 63 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-chip_id", 0, "select by chip_id", 0); 62 64 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-label", 0, "select by run label", NULL); 63 65 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-dist_group", 0, "select by dist_group", NULL); -
tags/ipp-20110218/ippTools/src/faketool.c
r30732 r31040 706 706 PXOPT_COPY_STR(config->args, where, "-class_id", "class_id", "=="); 707 707 708 if (!pxSetFaultCode(config->dbh, "fakeProcessedImfile", where, fault )) {708 if (!pxSetFaultCode(config->dbh, "fakeProcessedImfile", where, fault, 0)) { 709 709 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 710 710 psFree(where); -
tags/ipp-20110218/ippTools/src/magicdstool.c
- Property svn:mergeinfo deleted
r30732 r31040 602 602 603 603 psMetadata *where = psMetadataAlloc(); 604 PXOPT_COPY_STR(config->args, where, "-label", "label", " ==");604 PXOPT_COPY_STR(config->args, where, "-label", "label", "LIKE"); 605 605 PXOPT_COPY_S64(config->args, where, "-stage_id", "stage_id", "=="); 606 606 PXOPT_COPY_STR(config->args, where, "-stage", "stage", "=="); -
tags/ipp-20110218/ippTools/src/magicdstoolConfig.c
r30313 r31040 106 106 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state", 0, "define state", NULL); 107 107 psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-stage_id", 0, "define stage_id", 0); 108 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-label", 0, "define label ", NULL);108 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-label", 0, "define label (LIKE) comparison", NULL); 109 109 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-data_group", 0, "data_group (LIKE) comparision", NULL); 110 110 psMetadataAddBool(updaterunArgs, PS_LIST_TAIL, "-noreplace", 0, "only update runs with replace not set", false); -
tags/ipp-20110218/ippTools/src/pubtool.c
r30376 r31040 37 37 static bool addMode(pxConfig *config); 38 38 static bool revertMode(pxConfig *config); 39 static bool updaterunMode(pxConfig *config); 39 40 40 41 # define MODECASE(caseName, func) \ … … 63 64 MODECASE(PUBTOOL_MODE_ADD, addMode); 64 65 MODECASE(PUBTOOL_MODE_REVERT, revertMode); 66 MODECASE(PUBTOOL_MODE_UPDATERUN, updaterunMode); 65 67 default: 66 68 psAbort("invalid option (this should not happen)"); … … 459 461 } 460 462 463 static bool updaterunMode(pxConfig *config) 464 { 465 PS_ASSERT_PTR_NON_NULL(config, false); 466 467 psMetadata *where = psMetadataAlloc(); // WHERE conditions 468 PXOPT_COPY_S64(config->args, where, "-pub_id", "pub_id", "=="); 469 PXOPT_COPY_S64(config->args, where, "-client_id", "client_id", "=="); 470 PXOPT_COPY_STR(config->args, where, "-state", "state", "=="); 471 PXOPT_COPY_STR(config->args, where, "-label", "label", "=="); 472 PXOPT_COPY_STR(config->args, where, "-fault", "fault", "=="); 473 474 PXOPT_LOOKUP_STR(state, config->args, "-set_state", true, false); 475 476 psString query = NULL; // Query to run 477 psStringAppend(&query, "UPDATE publishRun LEFT JOIN publishDone using(pub_id) SET state = '%s'", state); 478 479 if (psListLength(where->list)) { 480 psString clause = psDBGenerateWhereConditionSQL(where, NULL); 481 psStringAppend(&query, "\n WHERE %s", clause); 482 psFree(clause); 483 } else { 484 psError(PS_ERR_UNKNOWN, false, "select arguments are required"); 485 return false; 486 } 487 psFree(where); 488 489 if (!p_psDBRunQuery(config->dbh, query)) { 490 psError(PS_ERR_UNKNOWN, false, "Database error"); 491 psFree(query); 492 return false; 493 } 494 psFree(query); 495 496 long numUpdated = psDBAffectedRows(config->dbh); 497 psLogMsg("pubtool", PS_LOG_INFO, "%ld rows updated.", numUpdated); 498 499 return true; 500 } -
tags/ipp-20110218/ippTools/src/pubtool.h
r25929 r31040 31 31 PUBTOOL_MODE_ADD, 32 32 PUBTOOL_MODE_REVERT, 33 PUBTOOL_MODE_UPDATERUN, 33 34 } pubtoolMode; 34 35 -
tags/ipp-20110218/ippTools/src/pubtoolConfig.c
r30376 r31040 102 102 psMetadataAddStr(revertArgs, PS_LIST_TAIL, "-label", PS_META_DUPLICATE_OK, "search on label", NULL); 103 103 104 // -updaterun 105 psMetadata *updaterunArgs = psMetadataAlloc(); 106 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-set_state", 0, "new value for state (required)", NULL); 107 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-state", 0, "search by state", NULL); 108 psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-pub_id", 0, "search on pub_id", 0); 109 psMetadataAddS64(updaterunArgs, PS_LIST_TAIL, "-client_id", 0, "search on client_id", 0); 110 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-label", 0, "search by label", NULL); 111 psMetadataAddStr(updaterunArgs, PS_LIST_TAIL, "-fault", 0, "search by fault", NULL); 112 104 113 105 114 psMetadata *argSets = psMetadataAlloc(); … … 112 121 PXOPT_ADD_MODE("-add", "", PUBTOOL_MODE_ADD, addArgs); 113 122 PXOPT_ADD_MODE("-revert", "", PUBTOOL_MODE_REVERT, revertArgs); 123 PXOPT_ADD_MODE("-updaterun", "", PUBTOOL_MODE_UPDATERUN, updaterunArgs); 114 124 115 125 if (!pxGetOptions(stderr, argc, argv, config, modes, argSets)) { -
tags/ipp-20110218/ippTools/src/pxfault.c
r13580 r31040 26 26 #include "pxtools.h" 27 27 28 bool pxSetFaultCode(psDB *dbh, const char *tableName, psMetadata *where, psS16 code )28 bool pxSetFaultCode(psDB *dbh, const char *tableName, psMetadata *where, psS16 code, psS16 quality) 29 29 { 30 30 PS_ASSERT_PTR_NON_NULL(dbh, false); … … 48 48 return false; 49 49 } 50 if (quality) { 51 if (!psMetadataAddS16(values, PS_LIST_HEAD, "quality", 0, NULL, quality)) { 52 psError(PS_ERR_UNKNOWN, false, "failed to add metadata item quality"); 53 psFree(values); 54 return false; 55 } 56 } 50 57 51 58 long rowsAffected = psDBUpdateRows(dbh, tableName, where, values); -
tags/ipp-20110218/ippTools/src/pxinject.c
r25418 r31040 92 92 if (!newExpInsert(config->dbh, 93 93 0, // exp_id 94 0, // summit_id 94 95 tmp_exp_name, 95 96 tmp_camera, -
tags/ipp-20110218/ippTools/src/pxtools.h
r30732 r31040 75 75 bool pxAddLabelSearchArgs (pxConfig *config, psMetadata *where, char *field, char *name, char *op); 76 76 77 bool pxSetFaultCode(psDB *dbh, const char *tableName, psMetadata *where, psS16 code );77 bool pxSetFaultCode(psDB *dbh, const char *tableName, psMetadata *where, psS16 code, psS16 quality); 78 78 bool pxExportVersion(pxConfig *config, FILE *f); 79 79 bool pxCheckImportVersion(pxConfig *config, psMetadata *md); -
tags/ipp-20110218/ippTools/src/pzgetexp.c
r21402 r31040 215 215 char *query = 216 216 "INSERT INTO summitExp" 217 " SElECT" 217 " SELECT" 218 " NULL," // summit_id 218 219 " incoming.*," 219 220 " NULL," // imfiles -
tags/ipp-20110218/ippTools/src/pzgetimfiles.c
r21402 r31040 99 99 int status = pclose(output); 100 100 101 // We have an id value now, let's get it and use it 102 char *id_query = "SELECT summit_id FROM summitExp WHERE exp_name = '%s' AND camera = '%s' AND telescope = '%s'"; 103 104 if (!p_psDBRunQueryF(config->dbh, id_query, filesetid, camera, telescope)) { 105 psError(PS_ERR_UNKNOWN, false, "database error"); 106 return false; 107 } 108 109 psArray *id_output = p_psDBFetchResult(config->dbh); 110 if (!id_output) { 111 psError(PS_ERR_UNKNOWN, false, "database error"); 112 return false; 113 } 114 if (psArrayLength(id_output) != 1) { 115 psError(PS_ERR_UNKNOWN, false, "database error: incorrect number of results"); 116 return false; 117 } 118 119 psMetadata *id_result = id_output->data[0]; 120 121 psS64 summit_id = psMetadataLookupS64(NULL, id_result, "summit_id"); 122 psFree(id_output); 123 // End of summit_id block. 124 101 125 if (status != 0) { 102 126 // mark the summitExp row as faulted 103 if (!p_psDBRunQueryF(config->dbh, "UPDATE summitExp SET fault = %d WHERE exp_name = '%s' AND camera = '%s' AND telescope = '%s'", WEXITSTATUS(status), filesetid, camera, telescope)) {127 if (!p_psDBRunQueryF(config->dbh, "UPDATE summitExp SET fault = %d WHERE summit_id = %ld", WEXITSTATUS(status), summit_id)) { 104 128 psError(PS_ERR_UNKNOWN, false, "database error"); 105 129 } … … 117 141 // download an "empty" fileset. 118 142 // mark the summitExp row as faulted 119 if (!p_psDBRunQueryF(config->dbh, "UPDATE summitExp SET fault = %d WHERE exp_name = '%s' AND camera = '%s' AND telescope = '%s'", 250, filesetid, camera, telescope)) {143 if (!p_psDBRunQueryF(config->dbh, "UPDATE summitExp SET fault = %d WHERE summit_id = %ld", 250, summit_id)) { 120 144 psError(PS_ERR_UNKNOWN, false, "database error"); 121 145 } … … 142 166 "UPDATE summitExp" 143 167 " SET imfiles = %d" 144 " WHERE exp_name = '%s'" 145 " AND camera = '%s'" 146 " AND telescope = '%s'"; 147 if (!p_psDBRunQueryF(config->dbh, query, imfiles, filesetid, camera, telescope)) { 168 " WHERE summit_id = %ld"; 169 if (!p_psDBRunQueryF(config->dbh, query, imfiles, summit_id)) { 148 170 // rollback 149 171 if (!psDBRollback(config->dbh)) { … … 159 181 "DELETE FROM pzDownloadExp" 160 182 " WHERE" 161 " exp_name = '%s'" 162 " AND camera = '%s'" 163 " AND telescope = '%s'"; 164 if (!p_psDBRunQueryF(config->dbh, query, filesetid, camera, telescope)) { 183 " summit_id = %ld"; 184 if (!p_psDBRunQueryF(config->dbh, query, summit_id)) { 165 185 // rollback 166 186 if (!psDBRollback(config->dbh)) { … … 245 265 "INSERT IGNORE INTO summitImfile" 246 266 " SELECT" 267 " %ld," // summit_id 247 268 " incoming.exp_name," 248 269 " incoming.camera," … … 256 277 " NULL" // epoch 257 278 " FROM incoming"; 258 if (!p_psDBRunQuery (config->dbh, query)) {279 if (!p_psDBRunQueryF(config->dbh, query,summit_id)) { 259 280 // rollback 260 281 if (!psDBRollback(config->dbh)) { … … 272 293 " SET imfiles = (SELECT COUNT(*) FROM summitImfile" 273 294 " WHERE" 274 " exp_name = '%s'" 275 " AND camera = '%s'" 276 " AND telescope = '%s'" 295 " summit_id = %ld" 277 296 ")" 278 297 " WHERE" 279 " exp_name = '%s'" 280 " AND camera = '%s'" 281 " AND telescope = '%s'" 298 " summit_id = %ld" 282 299 " AND imfiles IS NULL"; 283 if (!p_psDBRunQueryF(config->dbh, query, filesetid, camera, telescope, filesetid, camera, telescope)) {300 if (!p_psDBRunQueryF(config->dbh, query, summit_id, summit_id)) { 284 301 // rollback 285 302 if (!psDBRollback(config->dbh)) { … … 308 325 "INSERT IGNORE INTO pzDownloadExp" 309 326 " SELECT" 327 " %ld," // summit_id 310 328 " incoming.exp_name," 311 329 " incoming.camera," … … 319 337 " incoming.telescope"; 320 338 321 if (!p_psDBRunQuery (config->dbh, query)) {339 if (!p_psDBRunQueryF(config->dbh, query,summit_id)) { 322 340 // rollback 323 341 if (!psDBRollback(config->dbh)) { -
tags/ipp-20110218/ippTools/src/pztool.c
r30437 r31040 53 53 static psArray *pzGetPendingCameras(pxConfig *config); 54 54 static psArray *pzArrayZip(psArray *arraySet, psS64 limit); 55 static bool pzDownloadExpSetState(pxConfig *config, const char *exp_name, const char *camera, const char *telescope, const char *state);55 static bool pzDownloadExpSetState(pxConfig *config, const psS64 summit_id, const char *state); 56 56 57 57 # define MODECASE(caseName, func) \ … … 222 222 223 223 psMetadata *where = psMetadataAlloc(); 224 PXOPT_COPY_S64(config->args, where, "-summit_id", "summit_id", "=="); 224 225 PXOPT_COPY_STR(config->args, where, "-exp_name", "exp_name", "=="); 225 226 PXOPT_COPY_STR(config->args, where, "-inst", "camera", "=="); … … 237 238 " FROM summitExp" 238 239 " LEFT JOIN pzDownloadExp" 239 " USING(exp_name, camera, telescope)"240 " USING(summit_id)" 240 241 " WHERE" 241 " pzDownloadExp.exp_name IS NULL" 242 " AND pzDownloadExp.camera IS NULL" 243 " AND pzDownloadExp.telescope IS NULL" 242 " pzDownloadExp.summit_id IS NULL" 244 243 " AND summitExp.fault = 0" 245 244 ); … … 260 259 if (limit) { 261 260 psString limitString = psDBGenerateLimitSQL(limit); 261 262 262 psStringAppend(&query, " %s", limitString); 263 263 psFree(limitString); … … 299 299 300 300 psMetadata *where = psMetadataAlloc(); 301 PXOPT_COPY_S64(config->args, where, "-summit_id", "summit_id", "=="); 301 302 PXOPT_COPY_STR(config->args, where, "-exp_name", "exp_name", "=="); 302 303 PXOPT_COPY_STR(config->args, where, "-inst", "camera", "=="); … … 401 402 402 403 // required 404 PXOPT_LOOKUP_S64(summit_id, config->args, "-summit_id", true, false); 403 405 PXOPT_LOOKUP_STR(exp_name, config->args, "-exp_name", true, false); 404 406 PXOPT_LOOKUP_STR(camera, config->args, "-inst", true, false); … … 428 430 429 431 psMetadata *where = psMetadataAlloc(); 432 PXOPT_COPY_S64(config->args, where, "-summit_id", "summit_id", "=="); 430 433 PXOPT_COPY_STR(config->args, where, "-exp_name", "exp_name", "=="); 431 434 PXOPT_COPY_STR(config->args, where, "-inst", "camera", "=="); … … 459 462 460 463 if (!pzDownloadImfileInsert(config->dbh, 464 summit_id, 461 465 exp_name, 462 466 camera, … … 505 509 506 510 psMetadata *where = psMetadataAlloc(); 511 PXOPT_COPY_STR(config->args, where, "-summit_id", "summit_id", "=="); 507 512 PXOPT_COPY_STR(config->args, where, "-exp_name", "exp_name", "=="); 508 513 PXOPT_COPY_STR(config->args, where, "-inst", "camera", "=="); … … 560 565 561 566 // required 567 PXOPT_LOOKUP_S64(summit_id, config->args, "-summit_id", true, false); 562 568 PXOPT_LOOKUP_STR(exp_name, config->args, "-exp_name", true, false); 563 569 PXOPT_LOOKUP_STR(inst, config->args, "-inst", true, false); … … 579 585 if (!newExpInsert(config->dbh, 580 586 0x0, // exp_id 587 summit_id, // summit_id 581 588 exp_name, // tmp_exp_name 582 589 inst, // tmp_camera … … 597 604 } 598 605 599 psS64 exp_id = psDBLastInsertID(config->dbh);600 601 // insert newImfiles602 {603 char *query =606 psS64 exp_id = psDBLastInsertID(config->dbh); 607 608 // insert newImfiles 609 { 610 char *query = 604 611 "INSERT INTO newImfile" 605 " SE lECT"612 " SELECT" 606 613 " %" PRId64 "," // exp_id 614 " %" PRId64 "," // summit_id 607 615 " pzDownloadImfile.class_id," // tmp_class_id 608 616 " pzDownloadImfile.uri," // uri … … 616 624 " AND pzDownloadImfile.telescope = '%s'"; 617 625 618 if (!p_psDBRunQueryF(config->dbh, query, exp_id, exp_name, inst, telescope)) {619 psError(PS_ERR_UNKNOWN, false, "database error");620 return false;621 }622 623 // sanity check: we should have inserted at least one row624 psU64 affected = psDBAffectedRows(config->dbh);625 if (psDBAffectedRows(config->dbh) < 1) {626 psError(PS_ERR_UNKNOWN, false, "should have affected at least 1 row but %" PRIu64 " rows were modified", affected);627 return false;628 }626 if (!p_psDBRunQueryF(config->dbh, query, exp_id, summit_id, exp_name, inst, telescope)) { 627 psError(PS_ERR_UNKNOWN, false, "database error"); 628 return false; 629 } 630 631 // sanity check: we should have inserted at least one row 632 psU64 affected = psDBAffectedRows(config->dbh); 633 if (psDBAffectedRows(config->dbh) < 1) { 634 psError(PS_ERR_UNKNOWN, false, "should have affected at least 1 row but %" PRIu64 " rows were modified", affected); 635 return false; 636 } 629 637 } 630 638 631 639 // set pzDownloadExp.state to 'stop' 632 if (!pzDownloadExpSetState(config, exp_name, inst, telescope, "stop")) {633 psError(PS_ERR_UNKNOWN, false, "failed to change pzDownloadExp.state for % s:%s:%s", exp_name, inst, telescope);640 if (!pzDownloadExpSetState(config, summit_id, "stop")) { 641 psError(PS_ERR_UNKNOWN, false, "failed to change pzDownloadExp.state for %ld", summit_id); 634 642 return false; 635 643 } … … 798 806 PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false); 799 807 800 if (!pxSetFaultCode(config->dbh, "pzDownloadImfile", where, fault )) {808 if (!pxSetFaultCode(config->dbh, "pzDownloadImfile", where, fault, 0)) { 801 809 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 802 810 psFree (where); … … 887 895 888 896 889 static bool pzDownloadExpSetState(pxConfig *config, const char *exp_name, const char *camera, const char *telescope, const char *state)897 static bool pzDownloadExpSetState(pxConfig *config, const psS64 summit_id, const char *state) 890 898 { 891 899 PS_ASSERT_PTR_NON_NULL(state, false); … … 904 912 } 905 913 906 char *query = "UPDATE pzDownloadExp SET state = '%s' WHERE exp_name = '%s' and camera = '%s' and telescope = '%s'";907 if (!p_psDBRunQueryF(config->dbh, query, state, exp_name, camera, telescope)) {908 psError(PS_ERR_UNKNOWN, false, "failed to change state for % s:%s:%s", exp_name, camera, telescope);914 char *query = "UPDATE pzDownloadExp SET state = '%s' WHERE summit_id = %ld"; 915 if (!p_psDBRunQueryF(config->dbh, query, state, summit_id)) { 916 psError(PS_ERR_UNKNOWN, false, "failed to change state for %ld", summit_id); 909 917 return false; 910 918 } … … 916 924 { 917 925 PS_ASSERT_PTR_NON_NULL(config, false); 918 PXOPT_LOOKUP_STR(exp_name, config->args, "-exp_name", true, false); 919 PXOPT_LOOKUP_STR(camera, config->args, "-inst", true, false); 920 PXOPT_LOOKUP_STR(telescope,config->args, "-telescope",true, false); 926 PXOPT_LOOKUP_S64(summit_id, config->args, "-summit_id", true, false); 921 927 PXOPT_LOOKUP_STR(state, config->args, "-set_state",true, false); 922 928 923 if (!pzDownloadExpSetState(config, exp_name,camera,telescope,state)) {924 psError(PS_ERR_UNKNOWN, false, "failed to change state for % s:%s:%s", exp_name, camera, telescope);929 if (!pzDownloadExpSetState(config,summit_id, state)) { 930 psError(PS_ERR_UNKNOWN, false, "failed to change state for %ld", summit_id); 925 931 return false; 926 932 } -
tags/ipp-20110218/ippTools/src/pztoolConfig.c
r30437 r31040 63 63 // -pendingexp 64 64 psMetadata *pendingexpArgs = psMetadataAlloc(); 65 psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-summit_id", 0, "define summit_id", 0); 65 66 psMetadataAddStr(pendingexpArgs, PS_LIST_TAIL, "-exp_name", 0, "define exposure ID", NULL); 66 67 psMetadataAddStr(pendingexpArgs, PS_LIST_TAIL, "-inst", 0, "define camera ID", NULL); … … 73 74 // -pendingimfile 74 75 psMetadata *pendingimfileArgs = psMetadataAlloc(); 76 psMetadataAddS64(pendingimfileArgs, PS_LIST_TAIL, "-summit_id", 0, "define summit_id", 0); 75 77 psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-exp_name", 0, "define exposure ID", NULL); 76 78 psMetadataAddStr(pendingimfileArgs, PS_LIST_TAIL, "-inst", 0, "define camera ID", NULL); … … 85 87 // -copydone 86 88 psMetadata *copydoneArgs = psMetadataAlloc(); 89 psMetadataAddS64(copydoneArgs, PS_LIST_TAIL, "-summit_id", 0, "define summit_id (required)", 0); 87 90 psMetadataAddStr(copydoneArgs, PS_LIST_TAIL, "-exp_name", 0, "define exposure ID (required)", NULL); 88 91 psMetadataAddStr(copydoneArgs, PS_LIST_TAIL, "-inst", 0, "define camera ID (required)", NULL); -
tags/ipp-20110218/ippTools/src/regtool.c
r30652 r31040 311 311 312 312 // required 313 PXOPT_LOOKUP_STR(dateobs_begin, config->args, "-dateobs_begin",true, false);314 PXOPT_LOOKUP_STR(dateobs_end, config->args, "-dateobs_end", true, false);315 PXOPT_LOOKUP_S32(valid_burntool, config->args, "-valid_burntool", true, false);313 PXOPT_LOOKUP_STR(dateobs_begin, config->args, "-dateobs_begin", true, false); 314 PXOPT_LOOKUP_STR(dateobs_end, config->args, "-dateobs_end", true, false); 315 PXOPT_LOOKUP_S32(valid_burntool, config->args, "-valid_burntool", true, false); 316 316 // optional 317 317 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); … … 894 894 if (fault != INT16_MAX) { 895 895 // this is fairly dangerous : can set all if the where is not set... 896 if (!pxSetFaultCode(config->dbh, "rawImfile", where, fault )) {896 if (!pxSetFaultCode(config->dbh, "rawImfile", where, fault, 0)) { 897 897 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 898 898 psFree (where); … … 1361 1361 1362 1362 // set the state for the newExp to stop 1363 if (!pxnewExpSetState(config, exp_id, "stop")) { 1363 // but only if we didn't encounter a fault 1364 if (fault == 0) { 1365 if (!pxnewExpSetState(config, exp_id, "stop")) { 1364 1366 // rollback 1365 1367 if (!psDBRollback(config->dbh)) { 1366 psError(PS_ERR_UNKNOWN, false, "database error");1368 psError(PS_ERR_UNKNOWN, false, "database error"); 1367 1369 } 1368 1370 psError(PS_ERR_UNKNOWN, false, "failed to change newExp.state for exp_id: %"PRId64, exp_id); 1369 psFree(newExp); 1370 return false; 1371 psFree(newExp); 1372 return false; 1373 } 1371 1374 } 1372 1375 … … 1608 1611 PXOPT_LOOKUP_S16(fault, config->args, "-fault", true, false); 1609 1612 1610 if (!pxSetFaultCode(config->dbh, "rawExp", where, fault )) {1613 if (!pxSetFaultCode(config->dbh, "rawExp", where, fault, 0)) { 1611 1614 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 1612 1615 psFree(where); -
tags/ipp-20110218/ippTools/src/stacktool.c
r30947 r31040 1667 1667 PXOPT_COPY_S64(config->args, where, "-stack_id", "stack_id", "=="); 1668 1668 1669 if (!pxSetFaultCode(config->dbh, "stackSumSkyfile", where, fault )) {1669 if (!pxSetFaultCode(config->dbh, "stackSumSkyfile", where, fault, quality)) { 1670 1670 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 1671 1671 psFree (where); -
tags/ipp-20110218/ippTools/src/staticskytool.c
r30732 r31040 716 716 PXOPT_COPY_S64(config->args, where, "-sky_id", "sky_id", "=="); 717 717 718 if (!pxSetFaultCode(config->dbh, "staticskyResult", where, fault )) {718 if (!pxSetFaultCode(config->dbh, "staticskyResult", where, fault, 0)) { 719 719 psError(PS_ERR_UNKNOWN, false, "failed to set set fault flag"); 720 720 psFree (where); -
tags/ipp-20110218/ippTools/src/warptoolConfig.c
- Property svn:mergeinfo deleted
-
tags/ipp-20110218/psLib/src/db
- Property svn:mergeinfo set to
-
tags/ipp-20110218/psLib/src/db/psDB.c
r28350 r31040 2894 2894 break; 2895 2895 case PS_DATA_F32: 2896 isNaN = PS_IS_NAN(psF32, data, NAN);2897 break;2896 isNaN = isnan(*((psF32 *) data)); 2897 break; 2898 2898 case PS_DATA_F64: 2899 isNaN = PS_IS_NAN(psF64, data, NAN);2900 break;2899 isNaN = isnan(*((psF64 *) data)); 2900 break; 2901 2901 case PS_DATA_BOOL: 2902 2902 // XXX: what is NaN for a bool?
Note:
See TracChangeset
for help on using the changeset viewer.
