Changeset 20903
- Timestamp:
- Dec 4, 2008, 1:44:33 PM (17 years ago)
- Location:
- branches/bills_081204
- Files:
-
- 20 edited
-
dbconfig/changes.txt (modified) (1 diff)
-
dbconfig/diff.md (modified) (3 diffs)
-
dbconfig/magic.md (modified) (3 diffs)
-
ippScripts/scripts/diff_skycell.pl (modified) (7 diffs)
-
ippTasks/diff.pro (modified) (1 diff)
-
ippTasks/simtest.auto (modified) (1 diff)
-
ippTools/share/Makefile.am (modified) (1 diff)
-
ippTools/share/difftool_definebyquery.sql (modified) (3 diffs)
-
ippTools/share/difftool_inputskyfile.sql (modified) (4 diffs)
-
ippTools/share/difftool_skyfile.sql (modified) (2 diffs)
-
ippTools/share/difftool_todiffskyfile.sql (modified) (2 diffs)
-
ippTools/share/magictool_definebyquery_insert.sql (modified) (1 diff)
-
ippTools/share/magictool_definebyquery_select.sql (modified) (1 diff)
-
ippTools/share/magictool_definebyquery_temp_insert.sql (modified) (1 diff)
-
ippTools/share/magictool_inputs.sql (modified) (2 diffs)
-
ippTools/share/pxadmin_create_tables.sql (modified) (5 diffs)
-
ippTools/src/difftool.c (modified) (21 diffs)
-
ippTools/src/difftoolConfig.c (modified) (5 diffs)
-
ippTools/src/magictool.c (modified) (7 diffs)
-
ippTools/src/magictoolConfig.c (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
branches/bills_081204/dbconfig/changes.txt
r20890 r20903 717 717 alter table magicDSRun add column cam_id BIGINT after stage_id; 718 718 719 -- diff reorginization 720 alter table magicRun add column diff_id BIGINT after exp_id 721 ALTER TABLE magicRun ADD KEY(diff_id); 722 ALTER TABLE warpRun ADD KEY(warp_id, cam_id); 723 ALTER TABLE warpRun ADD CONSTRAINT FOREIGN KEY(cam_id) REFERENCES 724 camRun(cam_id); 725 ALTER TABLE warpRun ADD COLUMN magiced TINYINT AFTER registered; 726 ALTER TABLE warpSkyCellMap DROP FOREIGN KEY warpSkyCellMap_ibfk_1; 727 UPDATE warpRun JOIN warpInputExp USING(warp_id) SET warpRun.cam_id = 728 warpInputExp.cam_id WHERE warpRun.warp_id = warpInputExp.warp_id; 729 ALTER TABLE warpSkyCellMap ADD CONSTRAINT FOREIGN KEY(warp_id, cam_id) 730 REFERENCES warpRun(warp_id, cam_id); 731 DROP TABLE warpInputExp; 732 733 -- 1.1.32 734 ALTER TABLE warpRun ADD COLUMN label VARCHAR(64) AFTER workdir_state; 735 ALTER TABLE warpRun ADD KEY(label); 736 CREATE TABLE warpMask (label VARCHAR(64), PRIMARY KEY(label)) ENGINE=innodb; 737 738 -- 1.1.33 739 ALTER TABLE summitExp ADD COLUMN fault smallint(6) NOT NULL AFTER imfiles; 740 ALTER TABLE summitExp ADD KEY(fault); 741 742 -- 1.1.34 743 ALTER TABLE rawImfile ADD KEY(exp_name); 744 745 -- 1.1.35 746 ALTER TABLE rawImfile ADD INDEX UNQIUE(exp_id, tmp_class_id); 747 748 -- 1.1.36 749 ALTER TABLE warpSkyfile ADD COLUMN (xmin INT, xmax INT, ymin INT, ymax INT); 750 ALTER TABLE diffSkyfile ADD COLUMN (stamps_num INT, stamps_rms FLOAT, sources INT); 751 ALTER TABLE rawImfile ADD COLUMN hostname VARCHAR(64) AFTER object; 752 ALTER TABLE rawExp ADD COLUMN hostname VARCHAR(64) AFTER object; 753 754 -- 1.1.37 755 ALTER TABLE pzDataStore ADD COLUMN epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP AFTER uri; 756 ALTER TABLE summitExp ADD COLUMN epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP AFTER fault; 757 ALTER TABLE summitImfile ADD COLUMN epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP AFTER uri; 758 ALTER TABLE pzDownloadExp ADD COLUMN epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP AFTER state; 759 ALTER TABLE pzDownloadImfile ADD COLUMN epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP AFTER fault; 760 ALTER TABLE newExp ADD COLUMN epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP AFTER label; 761 ALTER TABLE newImfile ADD COLUMN epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP AFTER uri; 762 ALTER TABLE rawExp ADD COLUMN epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP AFTER fault; 763 ALTER TABLE rawImfile ADD COLUMN epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP AFTER fault; 764 765 -- 1.1.38 766 767 -- convert from utf8 -> latin1 for performance/space gains 768 SET FOREIGN_KEY_CHECKS=0; 769 ALTER TABLE calDB CONVERT TO CHARACTER SET latin1; 770 ALTER TABLE calRun CONVERT TO CHARACTER SET latin1; 771 ALTER TABLE camMask CONVERT TO CHARACTER SET latin1; 772 ALTER TABLE camProcessedExp CONVERT TO CHARACTER SET latin1; 773 ALTER TABLE camRun CONVERT TO CHARACTER SET latin1; 774 ALTER TABLE chipMask CONVERT TO CHARACTER SET latin1; 775 ALTER TABLE chipProcessedImfile CONVERT TO CHARACTER SET latin1; 776 ALTER TABLE chipRun CONVERT TO CHARACTER SET latin1; 777 ALTER TABLE detInputExp CONVERT TO CHARACTER SET latin1; 778 ALTER TABLE detNormalizedExp CONVERT TO CHARACTER SET latin1; 779 ALTER TABLE detNormalizedImfile CONVERT TO CHARACTER SET latin1; 780 ALTER TABLE detNormalizedStatImfile CONVERT TO CHARACTER SET latin1; 781 ALTER TABLE detProcessedExp CONVERT TO CHARACTER SET latin1; 782 ALTER TABLE detProcessedImfile CONVERT TO CHARACTER SET latin1; 783 ALTER TABLE detRegisteredImfile CONVERT TO CHARACTER SET latin1; 784 ALTER TABLE detResidExp CONVERT TO CHARACTER SET latin1; 785 ALTER TABLE detResidImfile CONVERT TO CHARACTER SET latin1; 786 ALTER TABLE detRun CONVERT TO CHARACTER SET latin1; 787 ALTER TABLE detRunSummary CONVERT TO CHARACTER SET latin1; 788 ALTER TABLE detStackedImfile CONVERT TO CHARACTER SET latin1; 789 ALTER TABLE diffInputSkyfile CONVERT TO CHARACTER SET latin1; 790 ALTER TABLE diffRun CONVERT TO CHARACTER SET latin1; 791 ALTER TABLE diffSkyfile CONVERT TO CHARACTER SET latin1; 792 ALTER TABLE fakeMask CONVERT TO CHARACTER SET latin1; 793 ALTER TABLE fakeProcessedImfile CONVERT TO CHARACTER SET latin1; 794 ALTER TABLE fakeRun CONVERT TO CHARACTER SET latin1; 795 ALTER TABLE flatcorrExp CONVERT TO CHARACTER SET latin1; 796 ALTER TABLE flatcorrRun CONVERT TO CHARACTER SET latin1; 797 ALTER TABLE guidePendingExp CONVERT TO CHARACTER SET latin1; 798 ALTER TABLE magicInputSkyfile CONVERT TO CHARACTER SET latin1; 799 ALTER TABLE magicMask CONVERT TO CHARACTER SET latin1; 800 ALTER TABLE magicNodeResult CONVERT TO CHARACTER SET latin1; 801 ALTER TABLE magicRun CONVERT TO CHARACTER SET latin1; 802 ALTER TABLE magicSkyfileMask CONVERT TO CHARACTER SET latin1; 803 ALTER TABLE magicTree CONVERT TO CHARACTER SET latin1; 804 ALTER TABLE newExp CONVERT TO CHARACTER SET latin1; 805 ALTER TABLE newImfile CONVERT TO CHARACTER SET latin1; 806 ALTER TABLE pstampDataStore CONVERT TO CHARACTER SET latin1; 807 ALTER TABLE pstampJob CONVERT TO CHARACTER SET latin1; 808 ALTER TABLE pstampRequest CONVERT TO CHARACTER SET latin1; 809 ALTER TABLE pzDataStore CONVERT TO CHARACTER SET latin1; 810 ALTER TABLE pzDownloadExp CONVERT TO CHARACTER SET latin1; 811 ALTER TABLE pzDownloadImfile CONVERT TO CHARACTER SET latin1; 812 ALTER TABLE rawExp CONVERT TO CHARACTER SET latin1; 813 ALTER TABLE rawImfile CONVERT TO CHARACTER SET latin1; 814 ALTER TABLE stackInputSkyfile CONVERT TO CHARACTER SET latin1; 815 ALTER TABLE stackRun CONVERT TO CHARACTER SET latin1; 816 ALTER TABLE stackSumSkyfile CONVERT TO CHARACTER SET latin1; 817 ALTER TABLE summitExp CONVERT TO CHARACTER SET latin1; 818 ALTER TABLE summitImfile CONVERT TO CHARACTER SET latin1; 819 ALTER TABLE warpMask CONVERT TO CHARACTER SET latin1; 820 ALTER TABLE warpRun CONVERT TO CHARACTER SET latin1; 821 ALTER TABLE warpSkyCellMap CONVERT TO CHARACTER SET latin1; 822 ALTER TABLE warpSkyfile CONVERT TO CHARACTER SET latin1; 823 SET FOREIGN_KEY_CHECKS=1; 824 825 -- first use of fake* tables 826 -- drop and recreate any fake* tables created prior to this point 827 828 DROP TABLE IF EXISTS fakeRun; 829 CREATE TABLE fakeRun ( 830 fake_id BIGINT AUTO_INCREMENT, 831 cam_id BIGINT, 832 state VARCHAR(64), 833 workdir VARCHAR(255), 834 label VARCHAR(64), 835 reduction VARCHAR(64), 836 expgroup VARCHAR(64), 837 dvodb VARCHAR(255), 838 tess_id VARCHAR(64), 839 end_stage VARCHAR(64), 840 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 841 PRIMARY KEY(fake_id), 842 KEY(cam_id), 843 KEY(state), 844 KEY(label), 845 KEY(expgroup), 846 KEY(end_stage), 847 INDEX(fake_id, cam_id), 848 FOREIGN KEY (cam_id) 849 REFERENCES camRun(cam_id)) 850 ENGINE=innodb DEFAULT CHARSET=latin1; 851 852 DROP TABLE IF EXISTS fakeProcessedImfile; 853 CREATE TABLE fakeProcessedImfile ( 854 fake_id BIGINT AUTO_INCREMENT, 855 exp_id BIGINT(20), 856 class_id VARCHAR(64), 857 uri VARCHAR(255), 858 dtime_fake FLOAT, 859 hostname VARCHAR(64), 860 path_base VARCHAR(255), 861 fault SMALLINT NOT NULL, 862 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 863 PRIMARY KEY(fake_id, exp_id, class_id), 864 KEY(fault), 865 FOREIGN KEY (fake_id) 866 REFERENCES fakeRun(fake_id), 867 FOREIGN KEY(exp_id, class_id) 868 REFERENCES rawImfile(exp_id, class_id) 869 ) ENGINE=innodb DEFAULT CHARSET=latin1; 870 871 DROP TABLE IF EXISTS fakeMask; 872 CREATE TABLE fakeMask ( 873 label VARCHAR(64), 874 PRIMARY KEY(label)) 875 ENGINE=innodb DEFAULT CHARSET=latin1; 876 877 -- re-normalize camProcessedExp table 878 -- unrelated to other changes 879 ALTER TABLE camProcessedExp DROP FOREIGN KEY camProcessedExp_ibfk_1; 880 ALTER TABLE camProcessedExp DROP COLUMN chip_id; 881 ALTER TABLE camProcessedExp ADD FOREIGN KEY (cam_id) REFERENCES camRun (cam_id); 882 883 -- insert fakeRun betwen camRun and warpRun 884 -- populate fakeRun/fakeProcessedImfile 885 -- then heal the foreign key references 886 887 CREATE TEMPORARY TABLE warpCamMap ( 888 warp_id BIGINT, 889 cam_id BIGINT, 890 PRIMARY KEY(warp_id), 891 KEY(cam_id) 892 ) ENGINE=MEMORY; 893 894 INSERT INTO warpCamMap SELECT warp_id, cam_id FROM warpRun; 895 896 ALTER TABLE warpRun drop FOREIGN KEY warpRun_ibfk_1; 897 ALTER TABLE warpSkyCellMap DROP FOREIGN KEY warpSkyCellMap_ibfk_1; 898 899 ALTER TABLE warpRun change COLUMN cam_id fake_id BIGINT(20) DEFAULT NULL; 900 ALTER TABLE warpSkyCellMap DROP COLUMN cam_id; 901 902 SET FOREIGN_KEY_CHECKS=0; 903 ALTER TABLE warpRun ADD FOREIGN KEY (fake_id) REFERENCES fakeRun (fake_id); 904 SET FOREIGN_KEY_CHECKS=1; 905 ALTER TABLE warpSkyCellMap ADD FOREIGN KEY (warp_id) REFERENCES warpRun(warp_id); 906 907 INSERT INTO fakeRun 908 SELECT 909 NULL, 910 camRun.cam_id, 911 'stop', 912 workdir, 913 label, 914 reduction, 915 expgroup, 916 dvodb, 917 tess_id, 918 end_stage, 919 NULL 920 FROM camRun 921 JOIN warpCamMap 922 using(cam_id); 923 924 INSERT INTO fakeProcessedImfile 925 SELECT 926 fake_id, 927 chipRun.exp_id, 928 class_id, 929 uri, 930 0, 931 hostname, 932 path_base, 933 fault, 934 NULL 935 FROM fakeRun 936 JOIN camRun 937 USING(cam_id) 938 JOIN chipRun 939 USING(chip_id) 940 JOIN chipProcessedImfile 941 USING(chip_id); 942 943 UPDATE warpRun, fakeRun, warpCamMap 944 SET warpRun.fake_id = fakeRun.fake_id 945 WHERE warpRun.warp_id = warpCamMap.warp_id 946 AND warpCamMap.cam_id = fakeRun.fake_id; 947 948 DROP TABLE warpCamMap; 949 950 951 -- new values for chipRun.state 952 953 update chipRun set state = 'new' where state = 'run'; 954 update chipRun set state = 'full' where state = 'stop'; 955 956 -- from eam_branch_20080806 957 -- add 'data_state' to detrend tables 958 959 alter table detProcessedImfile add column data_state varchar(64) after path_base; 960 alter table detProcessedExp add column data_state varchar(64) after path_base; 961 alter table detStackedImfile add column data_state varchar(64) after user_5; 962 alter table detNormalizedStatImfile add column data_state varchar(64) after norm; 963 alter table detNormalizedImfile add column data_state varchar(64) after path_base; 964 alter table detNormalizedExp add column data_state varchar(64) after path_base; 965 alter table detResidImfile add column data_state varchar(64) after path_base; 966 alter table detResidExp add column data_state varchar(64) after path_base; 967 alter table detRunSummary add column data_state varchar(64) after iteration; 968 alter table detRegisteredImfile add column data_state varchar(64) after path_base; 969 970 update camRun set state = 'new' where state = 'run'; 971 update camRun set state = 'full' where state = 'stop'; 972 973 update fakeRun set state = 'new' where state = 'run'; 974 update fakeRun set state = 'full' where state = 'stop'; 975 976 update warpRun set state = 'new' where state = 'run'; 977 update warpRun set state = 'full' where state = 'stop'; 978 979 update stackRun set state = 'new' where state = 'run'; 980 update stackRun set state = 'full' where state = 'stop'; 981 982 update diffRun set state = 'new' where state = 'run'; 983 update diffRun set state = 'full' where state = 'stop'; 984 985 -- not sure when 'filter' was added to stackRun, but it is needed now: 986 987 alter table stackRun add column filter varchar(64) after tess_id; 988 989 -- changes to the flatcorr tables : no valid flatcorr tables have been created to date expect my tests 990 -- this sql just drops and recreates the flatcorrRun with the correct layout 991 992 delete from flatcorrExp; 993 delete from flatcorrRun; 994 995 drop table flatcorrExp; 996 drop table flatcorrRun; 997 998 CREATE TABLE flatcorrRun ( 999 corr_id BIGINT AUTO_INCREMENT, 1000 dvodb VARCHAR(64), 1001 filter VARCHAR(64), 1002 state VARCHAR(64), 1003 workdir VARCHAR(255), 1004 label VARCHAR(64), 1005 reduction VARCHAR(64), 1006 region VARCHAR(64), 1007 hostname VARCHAR(64), 1008 fault SMALLINT NOT NULL, 1009 PRIMARY KEY(corr_id), 1010 KEY(corr_id) 1011 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1012 1013 CREATE TABLE flatcorrChipLink ( 1014 corr_id BIGINT, 1015 chip_id BIGINT, 1016 PRIMARY KEY(corr_id, chip_id), 1017 FOREIGN KEY (corr_id) REFERENCES flatcorrRun(corr_id), 1018 FOREIGN KEY (chip_id) REFERENCES chipRun(chip_id) 1019 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1020 1021 CREATE TABLE flatcorrCamLink ( 1022 corr_id BIGINT, 1023 chip_id BIGINT, 1024 cam_id BIGINT, 1025 PRIMARY KEY(corr_id, chip_id, cam_id), 1026 FOREIGN KEY (corr_id) REFERENCES flatcorrRun(corr_id), 1027 FOREIGN KEY (chip_id) REFERENCES chipRun(chip_id), 1028 FOREIGN KEY (cam_id) REFERENCES camRun(cam_id) 1029 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1030 1031 -- I initially defined flatcorrCamLin without the chip_id entry. this 1032 -- command corrects for that, but should not be needed widely. 1033 -- ALTER TABLE flatcorrCamLink ADD COLUMN chip_id BIGINT AFTER corr_id; 1034 -- alter table flatcorrRun add column hostname varchar(64) after region; 1035 -- alter table flatcorrRun add column fault smallint after hostname; 1036 -- alter table flatcorrRun add column reduction varchar(64) after stats; 1037 1038 -- changes to the chip tables to support cleanup and reprocessing 1039 1040 ALTER TABLE chipProcessedImfile ADD COLUMN data_state VARCHAR(64) AFTER class_id; 1041 UPDATE chipProcessedImfile SET data_state = 'full'; 1042 1043 -- I have added 'label' and 'reduction' entries to stack and diff 1044 1045 ALTER TABLE stackRun ADD COLUMN label VARCHAR(64) AFTER workdir; 1046 ALTER TABLE stackRun ADD COLUMN reduction VARCHAR(64) AFTER label; 1047 1048 ALTER TABLE stackSumSkyfile add column data_state varchar(64) after path_base; 1049 UPDATE stackSumSkyfile SET data_state = 'full'; 1050 1051 alter table diffRun add column label varchar(64) after workdir; 1052 alter table diffRun add column reduction varchar(64) after label; 1053 1054 ALTER TABLE diffSkyfile add column data_state varchar(64) after path_base; 1055 UPDATE diffSkyfile SET data_state = 'full'; 1056 1057 ALTER TABLE warpSkyfile add column data_state varchar(64) after path_base; 1058 UPDATE warpSkyfile SET data_state = 'full'; 1059 1060 ALTER TABLE fakeProcessedImfile add column data_state varchar(64) after path_base; 1061 update fakeProcessedImfile set data_state ='full'; 1062 1063 -- adding ref_det_id and ref_iter to detRun and detResidImfile 1064 1065 ALTER TABLE detResidImfile add column ref_det_id bigint after iteration; 1066 ALTER TABLE detResidImfile add column ref_iter int after ref_det_id; 1067 1068 ALTER TABLE detRun change column parent ref_det_id bigint; 1069 ALTER TABLE detRun add column ref_iter int after ref_det_id; 1070 1071 -- populate ref_det_id and ref_iter 1072 UPDATE detResidImfile SET ref_det_id = det_id, ref_iter = iteration; 1073 1074 -- Next we drop the old constraint and add the new one 1075 ALTER TABLE detResidImfile DROP FOREIGN KEY detResidImfile_ibfk_3; 1076 ALTER TABLE detResidImfile add FOREIGN KEY (ref_det_id, ref_iter) 1077 REFERENCES detNormalizedExp(det_id, iteration); 1078 1079 --- Additions for stack/diff QA by PAP. 1080 ALTER TABLE diffSkyfile ADD COLUMN stamps_mean FLOAT AFTER stamps_num; 1081 ALTER TABLE diffSkyfile ADD COLUMN dtime_match FLOAT AFTER dtime_diff; 1082 ALTER TABLE diffSkyfile ADD COLUMN dtime_phot FLOAT AFTER dtime_match; 1083 1084 ALTER TABLE stackSumSkyfile ADD COLUMN dtime_match_mean FLOAT AFTER dtime_stack; 1085 ALTER TABLE stackSumSkyfile ADD COLUMN dtime_match_stdev FLOAT AFTER dtime_match_mean; 1086 ALTER TABLE stackSumSkyfile ADD COLUMN dtime_initial FLOAT AFTER dtime_match_stdev; 1087 ALTER TABLE stackSumSkyfile ADD COLUMN dtime_reject FLOAT AFTER dtime_initial; 1088 ALTER TABLE stackSumSkyfile ADD COLUMN dtime_final FLOAT AFTER dtime_reject; 1089 ALTER TABLE stackSumSkyfile ADD COLUMN dtime_phot FLOAT AFTER dtime_final; 1090 ALTER TABLE stackSumSkyfile ADD COLUMN match_mean FLOAT AFTER dtime_phot; 1091 ALTER TABLE stackSumSkyfile ADD COLUMN match_stdev FLOAT AFTER match_mean; 1092 ALTER TABLE stackSumSkyfile ADD COLUMN match_rms FLOAT AFTER match_stdev; 1093 ALTER TABLE stackSumSkyfile ADD COLUMN stamps_mean FLOAT AFTER match_rms; 1094 ALTER TABLE stackSumSkyfile ADD COLUMN stamps_stdev FLOAT AFTER stamps_mean; 1095 ALTER TABLE stackSumSkyfile ADD COLUMN stamps_min INT AFTER stamps_stdev; 1096 ALTER TABLE stackSumSkyfile ADD COLUMN reject_images INT AFTER stamps_min; 1097 ALTER TABLE stackSumSkyfile ADD COLUMN reject_pix_mean FLOAT AFTER reject_images; 1098 ALTER TABLE stackSumSkyfile ADD COLUMN reject_pix_stdev FLOAT AFTER reject_pix_mean; 1099 ALTER TABLE stackSumSkyfile ADD COLUMN sources INT AFTER reject_pix_stdev; 1100 ALTER TABLE stackSumSkyfile DROP COLUMN data_state; 1101 ALTER TABLE diffSkyfile DROP COLUMN data_state; 1102 1103 -- Adding the new solar-system info (sun & moon data) 1104 ALTER TABLE rawExp CHANGE COLUMN solang sun_angle FLOAT; 1105 ALTER TABLE rawExp ADD COLUMN sun_alt FLOAT AFTER sun_angle; 1106 ALTER TABLE rawExp ADD COLUMN moon_angle FLOAT AFTER sun_alt; 1107 ALTER TABLE rawExp ADD COLUMN moon_alt FLOAT AFTER moon_angle; 1108 ALTER TABLE rawExp ADD COLUMN moon_phase FLOAT AFTER moon_alt; 1109 1110 ALTER TABLE rawImfile ADD COLUMN sun_angle FLOAT AFTER object; 1111 ALTER TABLE rawImfile ADD COLUMN sun_alt FLOAT AFTER sun_angle; 1112 ALTER TABLE rawImfile ADD COLUMN moon_angle FLOAT AFTER sun_alt; 1113 ALTER TABLE rawImfile ADD COLUMN moon_alt FLOAT AFTER moon_angle; 1114 ALTER TABLE rawImfile ADD COLUMN moon_phase FLOAT AFTER moon_alt; 1115 1116 CREATE TABLE pstampProject ( 1117 proj_id BIGINT AUTO_INCREMENT, 1118 state VARCHAR(64), 1119 dbname VARCHAR(64), 1120 dvodb VARCHAR(64), 1121 camera VARCHAR(64), 1122 telescope VARCHAR(64), 1123 need_magic TINYINT, 1124 PRIMARY KEY(proj_id), 1125 KEY(proj_id) 1126 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1127 1128 1129 -- Reusing astrometry time field since ppImage doesn't do that any more 1130 ALTER TABLE chipProcessedImfile CHANGE COLUMN dtime_astrom dtime_total FLOAT; 1131 1132 -- Deleting fields requiring astrometric matching from chipProcessedImfile 1133 ALTER TABLE chipProcessedImfile DROP COLUMN sigma_ra; 1134 ALTER TABLE chipProcessedImfile DROP COLUMN sigma_dec; 1135 ALTER TABLE chipProcessedImfile DROP COLUMN zp_mean; 1136 ALTER TABLE chipProcessedImfile DROP COLUMN zp_stdev; 1137 ALTER TABLE chipProcessedImfile DROP COLUMN n_astrom; 1138 1139 -- No need to propagate processing times from chip to camera 1140 ALTER TABLE camProcessedExp DROP COLUMN dtime_detrend; 1141 ALTER TABLE camProcessedExp DROP COLUMN dtime_photom; 1142 ALTER TABLE camProcessedExp DROP COLUMN dtime_astrom; 1143 1144 -- Add "dtime_script" to processing results 1145 ALTER TABLE chipProcessedImfile ADD COLUMN dtime_script FLOAT AFTER dtime_total; 1146 ALTER TABLE camProcessedExp ADD COLUMN dtime_script FLOAT AFTER fwhm_minor; 1147 ALTER TABLE fakeProcessedImfile ADD COLUMN dtime_script FLOAT AFTER dtime_fake; 1148 ALTER TABLE warpSkyfile ADD COLUMN dtime_script FLOAT AFTER dtime_warp; 1149 ALTER TABLE stackSumSkyfile ADD COLUMN dtime_script FLOAT AFTER dtime_phot; 1150 ALTER TABLE diffSkyfile ADD COLUMN dtime_script FLOAT AFTER dtime_phot; 1151 1152 * 1.1.40 1153 1154 -- Add moments statistics (M2, M3, M4) 1155 1156 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m2 FLOAT AFTER fwhm_minor; 1157 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m2_err FLOAT AFTER iq_m2; 1158 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m2_lq FLOAT AFTER iq_m2_err; 1159 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m2_uq FLOAT AFTER iq_m2_lq; 1160 1161 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m2c FLOAT AFTER iq_m2_uq; 1162 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m2c_err FLOAT AFTER iq_m2c; 1163 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m2c_lq FLOAT AFTER iq_m2c_err; 1164 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m2c_uq FLOAT AFTER iq_m2c_lq; 1165 1166 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m2s FLOAT AFTER iq_m2c_uq; 1167 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m2s_err FLOAT AFTER iq_m2s; 1168 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m2s_lq FLOAT AFTER iq_m2s_err; 1169 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m2s_uq FLOAT AFTER iq_m2s_lq; 1170 1171 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m3 FLOAT AFTER iq_m2s_uq; 1172 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m3_err FLOAT AFTER iq_m3; 1173 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m3_lq FLOAT AFTER iq_m3_err; 1174 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m3_uq FLOAT AFTER iq_m3_lq; 1175 1176 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m4 FLOAT AFTER iq_m3_uq; 1177 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m4_err FLOAT AFTER iq_m4; 1178 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m4_lq FLOAT AFTER iq_m4_err; 1179 ALTER TABLE chipProcessedImfile ADD COLUMN iq_m4_uq FLOAT AFTER iq_m4_lq; 1180 1181 ALTER TABLE chipProcessedImfile ADD COLUMN n_psfstars INT AFTER n_stars; 1182 ALTER TABLE chipProcessedImfile ADD COLUMN n_iqstars INT AFTER n_psfstars; 1183 1184 1185 ALTER TABLE camProcessedExp ADD COLUMN iq_m2 FLOAT AFTER fwhm_minor; 1186 ALTER TABLE camProcessedExp ADD COLUMN iq_m2_err FLOAT AFTER iq_m2; 1187 ALTER TABLE camProcessedExp ADD COLUMN iq_m2_lq FLOAT AFTER iq_m2_err; 1188 ALTER TABLE camProcessedExp ADD COLUMN iq_m2_uq FLOAT AFTER iq_m2_lq; 1189 1190 ALTER TABLE camProcessedExp ADD COLUMN iq_m2c FLOAT AFTER iq_m2_uq; 1191 ALTER TABLE camProcessedExp ADD COLUMN iq_m2c_err FLOAT AFTER iq_m2c; 1192 ALTER TABLE camProcessedExp ADD COLUMN iq_m2c_lq FLOAT AFTER iq_m2c_err; 1193 ALTER TABLE camProcessedExp ADD COLUMN iq_m2c_uq FLOAT AFTER iq_m2c_lq; 1194 1195 ALTER TABLE camProcessedExp ADD COLUMN iq_m2s FLOAT AFTER iq_m2c_uq; 1196 ALTER TABLE camProcessedExp ADD COLUMN iq_m2s_err FLOAT AFTER iq_m2s; 1197 ALTER TABLE camProcessedExp ADD COLUMN iq_m2s_lq FLOAT AFTER iq_m2s_err; 1198 ALTER TABLE camProcessedExp ADD COLUMN iq_m2s_uq FLOAT AFTER iq_m2s_lq; 1199 1200 ALTER TABLE camProcessedExp ADD COLUMN iq_m3 FLOAT AFTER iq_m2s_uq; 1201 ALTER TABLE camProcessedExp ADD COLUMN iq_m3_err FLOAT AFTER iq_m3; 1202 ALTER TABLE camProcessedExp ADD COLUMN iq_m3_lq FLOAT AFTER iq_m3_err; 1203 ALTER TABLE camProcessedExp ADD COLUMN iq_m3_uq FLOAT AFTER iq_m3_lq; 1204 1205 ALTER TABLE camProcessedExp ADD COLUMN iq_m4 FLOAT AFTER iq_m3_uq; 1206 ALTER TABLE camProcessedExp ADD COLUMN iq_m4_err FLOAT AFTER iq_m4; 1207 ALTER TABLE camProcessedExp ADD COLUMN iq_m4_lq FLOAT AFTER iq_m4_err; 1208 ALTER TABLE camProcessedExp ADD COLUMN iq_m4_uq FLOAT AFTER iq_m4_lq; 1209 1210 ALTER TABLE camProcessedExp ADD COLUMN n_psfstars INT AFTER n_stars; 1211 ALTER TABLE camProcessedExp ADD COLUMN n_iqstars INT AFTER n_psfstars; 1212 1213 * 1.1.41 1214 1215 ALTER TABLE camProcessedExp ADD COLUMN dtime_astrom FLOAT AFTER dtime_script; 1216 ALTER TABLE camProcessedExp ADD COLUMN dtime_addstar FLOAT AFTER dtime_astrom; 1217 1218 * 1.1.42 1219 1220 ALTER TABLE diffSkyfile ADD COLUMN norm FLOAT AFTER stamps_rms; 1221 ALTER TABLE diffSkyfile ADD COLUMN bg_diff FLOAT AFTER norm; 1222 ALTER TABLE diffSkyfile ADD COLUMN kernel_x FLOAT AFTER bg_diff; 1223 ALTER TABLE diffSkyfile ADD COLUMN kernel_y FLOAT AFTER kernel_x; 1224 ALTER TABLE diffSkyfile ADD COLUMN kernel_xx FLOAT AFTER kernel_y; 1225 ALTER TABLE diffSkyfile ADD COLUMN kernel_xy FLOAT AFTER kernel_xx; 1226 ALTER TABLE diffSkyfile ADD COLUMN kernel_yy FLOAT AFTER kernel_xy; 1227 1228 * 1.1.43 1229 1230 ALTER TABLE rawExp ADD COLUMN obs_mode VARCHAR(64) AFTER comment; 1231 ALTER TABLE rawExp ADD COLUMN obs_group VARCHAR(64) AFTER obs_mode; 1232 1233 ALTER TABLE rawImfile ADD COLUMN obs_mode VARCHAR(64) AFTER comment; 1234 ALTER TABLE rawImfile ADD COLUMN obs_group VARCHAR(64) AFTER obs_mode; 1235 1236 * 1.1.44 1237 1238 ALTER TABLE chipProcessedImfile ADD COLUMN fwhm_major_lq FLOAT AFTER fwhm_major; 1239 ALTER TABLE chipProcessedImfile ADD COLUMN fwhm_major_uq FLOAT AFTER fwhm_major_lq; 1240 1241 ALTER TABLE chipProcessedImfile ADD COLUMN fwhm_minor_lq FLOAT AFTER fwhm_minor; 1242 ALTER TABLE chipProcessedImfile ADD COLUMN fwhm_minor_uq FLOAT AFTER fwhm_minor_lq; 1243 1244 ALTER TABLE chipProcessedImfile ADD COLUMN iq_fwhm_major FLOAT AFTER fwhm_minor_uq; 1245 ALTER TABLE chipProcessedImfile ADD COLUMN iq_fwhm_major_err FLOAT AFTER iq_fwhm_major; 1246 ALTER TABLE chipProcessedImfile ADD COLUMN iq_fwhm_minor FLOAT AFTER iq_fwhm_major_err; 1247 ALTER TABLE chipProcessedImfile ADD COLUMN iq_fwhm_minor_err FLOAT AFTER iq_fwhm_minor; 1248 1249 ALTER TABLE camProcessedExp ADD COLUMN fwhm_major_lq FLOAT AFTER fwhm_major; 1250 ALTER TABLE camProcessedExp ADD COLUMN fwhm_major_uq FLOAT AFTER fwhm_major_lq; 1251 1252 ALTER TABLE camProcessedExp ADD COLUMN fwhm_minor_lq FLOAT AFTER fwhm_minor; 1253 ALTER TABLE camProcessedExp ADD COLUMN fwhm_minor_uq FLOAT AFTER fwhm_minor_lq; 1254 1255 ALTER TABLE camProcessedExp ADD COLUMN iq_fwhm_major FLOAT AFTER fwhm_minor_uq; 1256 ALTER TABLE camProcessedExp ADD COLUMN iq_fwhm_major_err FLOAT AFTER iq_fwhm_major; 1257 ALTER TABLE camProcessedExp ADD COLUMN iq_fwhm_minor FLOAT AFTER iq_fwhm_major_err; 1258 ALTER TABLE camProcessedExp ADD COLUMN iq_fwhm_minor_err FLOAT AFTER iq_fwhm_minor; 1259 1260 ALTER TABLE flatcorrRun ADD COLUMN camera VARCHAR(64) AFTER dvodb; 1261 ALTER TABLE flatcorrRun ADD COLUMN telescope VARCHAR(64) AFTER camera; 1262 ALTER TABLE flatcorrRun ADD COLUMN epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP AFTER telescope; 1263 1264 * 1.1.45 1265 1266 ALTER TABLE camProcessedExp CHANGE COLUMN zp_mean zpt_obs FLOAT; 1267 ALTER TABLE camProcessedExp CHANGE COLUMN zp_stdev zpt_stdev FLOAT; 1268 ALTER TABLE camProcessedExp ADD COLUMN zpt_lq FLOAT AFTER zpt_stdev; 1269 ALTER TABLE camProcessedExp ADD COLUMN zpt_uq FLOAT AFTER zpt_lq; 1270 1271 * 1.1.46 1272 1273 ALTER TABLE pzDownloadImfile ADD COLUMN hostname varchar(64) after epoch; 1274 ALTER TABLE flatcorrRun ADD COLUMN det_type varchar(64) after corr_id; 1275 ALTER TABLE flatcorrChipLink ADD COLUMN include tinyint after chip_id; 1276 ALTER TABLE flatcorrCamLink ADD COLUMN include tinyint after cam_id; 1277 1278 ALTER TABLE rawImfile ADD COLUMN ignored TINYINT DEFAULT 0 AFTER moon_phase; 1279 1280 -- add new tables to control magic de-streaking 1281 CREATE TABLE magicDSRun ( 1282 magic_ds_id BIGINT AUTO_INCREMENT, 1283 magic_id BIGINT, 1284 state VARCHAR(64), 1285 stage VARCHAR(64), 1286 outroot VARCHAR(255), 1287 recoveryroot VARCHAR(255), 1288 re_place TINYINT, 1289 remove TINYINT, 1290 PRIMARY KEY(magic_ds_id), 1291 KEY(magic_ds_id), 1292 KEY(state), 1293 FOREIGN KEY (magic_id) REFERENCES magicRun(magic_id) 1294 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1295 1296 CREATE TABLE magicDSFile ( 1297 magic_ds_id BIGINT, 1298 component VARCHAR(64), 1299 backup_path_base VARCHAR(255), 1300 recovery_path_base VARCHAR(255), 1301 fault SMALLINT, 1302 PRIMARY KEY(magic_ds_id, component), 1303 KEY(fault), 1304 FOREIGN KEY (magic_ds_id) REFERENCES magicDSRun(magic_ds_id) 1305 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1306 1307 -- add to the run table to make the queries far less expensive 1308 ALTER TABLE magicDSRun ADD COLUMN stage_id BIGINT AFTER stage; 1309 ALTER TABLE magicDSRun ADD COLUMN cam_id BIGINT AFTER stage_id; 1310 1311 1312 1313 -- magic adaptations to diff reorginization 1314 ALTER TABLE magicRun ADD COLUMN diff_id BIGINT AFTER exp_id; 1315 ALTER TABLE magicRun ADD CONSTRAINT FOREIGN KEY(diff_id) REFERENCES diffRun(diff_id); 1316 1317 ALTER TABLE magicInputSkyfile DROP FOREIGN KEY magicInputSkyfile_ibfk_2; 1318 ALTER TABLE magicInputSkyfile DROP column diff_id; -
branches/bills_081204/dbconfig/diff.md
r20890 r20903 1 # $Id: diff.md,v 1.14 2008-10-11 02:33:40 priceExp $1 # $Id: diff.md,v 1.14.8.1 2008-12-04 23:44:33 bills Exp $ 2 2 3 3 diffRun METADATA … … 9 9 dvodb STR 255 10 10 registered TAI NULL 11 skycell_id STR 64 # Key11 exp_id S64 0 # fkey(exp_id) ref rawExp(exp_id) 12 12 tess_id STR 64 # Key 13 13 END … … 17 17 # 18 18 19 # only ever 2 per run - one template / one not20 19 diffInputSkyfile METADATA 21 20 diff_id S64 0 # Primary Key fkey(diff_id) ref diffRun(diff_id) 22 template BOOL f # Primary Key 23 stack_id S64 0 # fkey(stack_id) ref stackSumSkyfile(stack_id) 24 warp_id S64 0 # fkey(warp_id, skycell_id, tess_id) ref warpSkyfile(warp_id, skycell_id, tess_id) 21 warp1 S64 0 # fkey(warp1, skycell_id, tess_id) ref warpSkyfile(warp_id, skycell_id, tess_id) 22 warp2 S64 0 # fkey(warp2, skycell_id, tess_id) ref warpSkyfile(warp_id, skycell_id, tess_id) 23 stack1 S64 0 # fkey(stack1) ref stackSumSkyfile(stack_id) 24 stack2 S64 0 # fkey(stack2) ref stackSumSkyfile(stack_id) 25 25 skycell_id STR 64 # Key 26 26 tess_id STR 64 # Key 27 # either a input or a template28 kind STR 64 # Key29 27 END 30 28 31 29 diffSkyfile METADATA 32 30 diff_id S64 0 # Primary Key fkey(diff_id) ref diffRun(diff_id) 31 skycell_id STR 64 # Key 33 32 uri STR 255 34 33 path_base STR 255 -
branches/bills_081204/dbconfig/magic.md
r20890 r20903 1 # $Id: magic.md,v 1.12 2008-11-26 03:21:13 bills Exp $1 # $Id: magic.md,v 1.12.2.1 2008-12-04 23:44:33 bills Exp $ 2 2 3 3 ### Fault in magicRun indicates that the processing tree failed … … 5 5 magic_id S64 0 # Primary Key AUTO_INCREMENT 6 6 exp_id S64 0 # Key 7 diff_id S64 0 # Key 7 8 state STR 64 # Key 8 9 workdir STR 255 … … 16 17 magicInputSkyfile METADATA 17 18 magic_id S64 0 # Primary Key fkey(magic_id) ref magicRun(magic_id) 18 diff_id S64 0 # Primary Key fkey(diff_id) ref diffRun(diff_id)19 19 node STR 64 # 20 20 END -
branches/bills_081204/ippScripts/scripts/diff_skycell.pl
r20456 r20903 28 28 29 29 my ($diff_id, $dbname, $threads, $outroot, $reduction, $verbose, $no_update, $no_op, $redirect); 30 my $skycell_id; # Skycell identifier 30 31 GetOptions( 31 'diff_id|d=s' => \$diff_id, # Diff identifier 32 'diff_id=s' => \$diff_id, # Diff identifier 33 'skycell_id=s' => \$skycell_id, # Diff identifier 32 34 'dbname|d=s' => \$dbname, # Database name 33 35 'threads=s' => \$threads, # Number of threads to use … … 42 44 pod2usage( -msg => "Unknown option: @ARGV", -exitval => 2 ) if @ARGV; 43 45 pod2usage( 44 -msg => "Required options: --diff_id -- outroot",46 -msg => "Required options: --diff_id --skycell_id --outroot", 45 47 -exitval => 3, 46 48 ) unless defined $diff_id 49 and defined $skycell_id 47 50 and defined $outroot; 48 51 … … 67 70 my $files; 68 71 { 69 my $command = "$difftool -inputskyfile -diff_id $diff_id ";72 my $command = "$difftool -inputskyfile -diff_id $diff_id -skycell_id $skycell_id"; 70 73 $command .= " -dbname $dbname" if defined $dbname; 71 74 my ( $success, $error_code, $full_buf, $stdout_buf, $stderr_buf ) = … … 89 92 my ($template, $templateMask, $templateWeight, $templatePath, $templateSources); # Template files and path 90 93 my $tess_id; # Tesselation identifier 91 my $skycell_id; # Skycell identifier92 94 my $camera; # Camera 93 95 foreach my $file (@$files) { … … 220 222 &my_die("Couldn't find expected output file: $outputMask", $diff_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputMask); 221 223 &my_die("Couldn't find expected output file: $outputWeight", $diff_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputWeight); 222 &my_die("Couldn't find expected output file: $outputSources", $diff_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputSources);224 # &my_die("Couldn't find expected output file: $outputSources", $diff_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($outputSources); 223 225 # &my_die("Couldn't find expected output file: $bin1Name", $diff_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($bin1Name); 224 226 # &my_die("Couldn't find expected output file: $bin2Name", $diff_id, $PS_EXIT_SYS_ERROR) unless $ipprc->file_exists($bin2Name); … … 245 247 # Add the subtraction result 246 248 { 247 my $command = "$difftool -adddiffskyfile -diff_id $diff_id - uri $outputName -path_base $outroot";249 my $command = "$difftool -adddiffskyfile -diff_id $diff_id -skycell_id $skycell_id -uri $outputName -path_base $outroot"; 248 250 $command .= " $cmdflags"; 249 251 $command .= (" -dtime_script " . ((DateTime->now->mjd - $mjd_start) * 86400)); … … 269 271 warn($msg); 270 272 if (defined $diff_id and not $no_update) { 271 my $command = "$difftool -adddiffskyfile -diff_id $diff_id - code $exit_code";273 my $command = "$difftool -adddiffskyfile -diff_id $diff_id -skycell_id $skycell_id -code $exit_code"; 272 274 $command .= (" -dtime_script " . ((DateTime->now->mjd - $mjd_start) * 86400)); 273 275 $command .= " -hostname $host" if defined $host; -
branches/bills_081204/ippTasks/diff.pro
r19545 r20903 156 156 stderr $LOGDIR/diff.skycell.log 157 157 158 $run = diff_skycell.pl --threads @MAX_THREADS@ --diff_id $DIFF_ID -- outroot $outroot --redirect-output158 $run = diff_skycell.pl --threads @MAX_THREADS@ --diff_id $DIFF_ID --skycell_id $SKYCELL_ID --outroot $outroot --redirect-output 159 159 add_standard_args run 160 160 -
branches/bills_081204/ippTasks/simtest.auto
r20890 r20903 73 73 automate METADATA 74 74 name STR MAGIC 75 regular STR "magictool -definebyquery -workdir file://@CWD@/magic - good_frac 0.2 -dbname @DBNAME@"75 regular STR "magictool -definebyquery -workdir file://@CWD@/magic -dbname @DBNAME@" 76 76 END 77 77 -
branches/bills_081204/ippTools/share/Makefile.am
r20841 r20903 70 70 dettool_toresidimfile.sql \ 71 71 dettool_tostacked.sql \ 72 difftool_completed_runs.sql \ 72 73 difftool_definebyquery.sql \ 73 74 difftool_donecleanup.sql \ -
branches/bills_081204/ippTools/share/difftool_definebyquery.sql
r20682 r20903 9 9 warpsToDiff.good_frac, 10 10 warpsToDiff.diff_id, 11 warpsToDiff.kind,12 11 current_stack_id, 13 best_stack_id 12 best_stack_id, 13 exp_id 14 14 FROM ( 15 15 -- Get list of warps that can be diffed, with any associated diff … … 23 23 warpRun.label as warp_label, 24 24 diffInputs.diff_id, 25 diffInputs. kind,26 diffTemplates.stack_id AS current_stack_id25 diffInputs.stack2 AS current_stack_id, 26 rawExp.exp_id 27 27 FROM warpSkyfile 28 28 JOIN warpRun USING(warp_id) … … 33 33 -- Check if it has an associated diff 34 34 LEFT JOIN diffInputSkyfile AS diffInputs 35 ON diffInputs.warp _id= warpSkyfile.warp_id35 ON diffInputs.warp1 = warpSkyfile.warp_id 36 36 AND diffInputs.skycell_id = warpSkyfile.skycell_id 37 AND diffInputs.template = 0 -- only join input files 38 -- Get the stack_id currently used as a template, if any 39 LEFT JOIN diffInputSkyfile AS diffTemplates 40 ON diffTemplates.diff_id = diffInputs.diff_id 41 AND diffTemplates.template != 0 -- only join template files 37 AND diffInputs.stack2 IS NOT NULL 42 38 WHERE 43 39 warpSkyfile.fault = 0 -
branches/bills_081204/ippTools/share/difftool_inputskyfile.sql
r19582 r20903 1 1 SELECT * FROM 2 (SELECT 2 (SELECT 3 -- warp input 3 4 diffRun.diff_id, 4 diff Run.skycell_id,5 diff Run.tess_id,5 diffInputSkyfile.skycell_id, 6 diffInputSkyfile.tess_id, 6 7 0 as stack_id, 7 8 warpSkyfile.warp_id, 8 9 warpSkyfile.uri, 9 10 warpSkyfile.path_base, 10 diffInputSkyfile.template,11 0 as template, 11 12 rawExp.camera 12 13 FROM diffRun … … 14 15 USING(diff_id) 15 16 JOIN warpSkyfile 16 ON diffInputSkyfile.warp _id= warpSkyfile.warp_id17 ON diffInputSkyfile.warp1 = warpSkyfile.warp_id 17 18 AND diffInputSkyfile.skycell_id = warpSkyfile.skycell_id 18 19 AND diffInputSkyfile.tess_id = warpSkyfile.tess_id 19 20 JOIN warpRun 20 ON diffInputSkyfile.warp_id = warpRun.warp_id 21 ON diffInputSkyfile.warp1 = warpRun.warp_id 22 JOIN fakeRun 23 USING(fake_id) 24 JOIN camRun 25 USING(cam_id) 26 JOIN chipRun 27 USING(chip_id) 28 JOIN chipProcessedImfile 29 USING(chip_id) 30 JOIN rawExp 31 ON chipRun.exp_id = rawExp.exp_id 32 WHERE 33 diffRun.state = 'new' 34 AND warpRun.state = 'full' 35 AND fakeRun.state = 'full' 36 AND camRun.state = 'full' 37 AND chipRun.state = 'full' 38 -- where hook %s 39 UNION 40 SELECT 41 -- warp template 42 diffRun.diff_id, 43 diffInputSkyfile.skycell_id, 44 diffInputSkyfile.tess_id, 45 0 as stack_id, 46 warpSkyfile.warp_id, 47 warpSkyfile.uri, 48 warpSkyfile.path_base, 49 0 as template, 50 rawExp.camera 51 FROM diffRun 52 JOIN diffInputSkyfile 53 USING(diff_id) 54 JOIN warpSkyfile 55 ON diffInputSkyfile.warp2 = warpSkyfile.warp_id 56 AND diffInputSkyfile.skycell_id = warpSkyfile.skycell_id 57 AND diffInputSkyfile.tess_id = warpSkyfile.tess_id 58 JOIN warpRun 59 ON diffInputSkyfile.warp2 = warpRun.warp_id 21 60 JOIN fakeRun 22 61 USING(fake_id) … … 38 77 UNION 39 78 SELECT 79 -- stack input 40 80 diffRun.diff_id, 41 diff Run.skycell_id,42 diff Run.tess_id,81 diffInputSkyfile.skycell_id, 82 diffInputSkyfile.tess_id, 43 83 stackSumSkyfile.stack_id, 44 84 0 as warp_id, 45 85 stackSumSkyfile.uri, 46 86 stackSumSkyfile.path_base, 47 diffInputSkyfile.template,87 1 as template, 48 88 rawExp.camera 49 89 FROM diffRun … … 51 91 USING(diff_id) 52 92 JOIN stackSumSkyfile 53 ON diffInputSkyfile.stack _id= stackSumSkyfile.stack_id93 ON diffInputSkyfile.stack1 = stackSumSkyfile.stack_id 54 94 JOIN stackInputSkyfile 55 ON diffInputSkyfile.stack_id = stackInputSkyfile.stack_id 56 JOIN warpRun 57 ON stackInputSkyfile.warp_id = warpRun.warp_id 58 JOIN fakeRun 59 USING(fake_id) 60 JOIN camRun 61 USING(cam_id) 62 JOIN chipRun 63 USING(chip_id) 64 JOIN chipProcessedImfile 65 USING(chip_id) 95 ON diffInputSkyfile.stack1 = stackInputSkyfile.stack_id 66 96 JOIN rawExp 67 ON chipRun.exp_id = rawExp.exp_id97 USING(exp_id) 68 98 WHERE 69 99 diffRun.state = 'new' 70 AND warpRun.state = 'full' 71 AND fakeRun.state = 'full' 72 AND camRun.state = 'full' 73 AND chipRun.state = 'full' 100 -- where hook %s 101 UNION 102 SELECT 103 -- stack template 104 diffRun.diff_id, 105 diffInputSkyfile.skycell_id, 106 diffInputSkyfile.tess_id, 107 stackSumSkyfile.stack_id, 108 0 as warp_id, 109 stackSumSkyfile.uri, 110 stackSumSkyfile.path_base, 111 1 as template, 112 rawExp.camera 113 FROM diffRun 114 JOIN diffInputSkyfile 115 USING(diff_id) 116 JOIN stackSumSkyfile 117 ON diffInputSkyfile.stack2 = stackSumSkyfile.stack_id 118 JOIN stackInputSkyfile 119 ON diffInputSkyfile.stack2 = stackInputSkyfile.stack_id 120 JOIN rawExp 121 USING(exp_id) 122 WHERE 123 diffRun.state = 'new' 74 124 -- where hook %s 75 125 ) as Foo -
branches/bills_081204/ippTools/share/difftool_skyfile.sql
r20694 r20903 1 1 SELECT 2 diff Run.skycell_id,2 diffSkyfile.*, 3 3 diffRun.tess_id, 4 4 diffRun.state, 5 diffSkyfile.*, 6 (SELECT warp_id FROM diffInputSkyfile WHERE diffInputSkyfile.diff_id = diffRun.diff_id 7 AND diffInputSkyfile.template = 0 ) AS warp_id_temp_0, 8 (SELECT stack_id FROM diffInputSkyfile WHERE diffInputSkyfile.diff_id = diffRun.diff_id 9 AND diffInputSkyfile.template = 0 ) AS stack_id_temp_0, 10 (SELECT warp_id FROM diffInputSkyfile WHERE diffInputSkyfile.diff_id = diffRun.diff_id 11 AND diffInputSkyfile.template = 1 ) AS warp_id_temp_1, 12 (SELECT stack_id FROM diffInputSkyfile WHERE diffInputSkyfile.diff_id = diffRun.diff_id 13 AND diffInputSkyfile.template = 1 ) AS stack_id_temp_1 5 warp1, 6 stack1, 7 warp2, 8 stack2 9 -- (SELECT warp_id FROM diffInputSkyfile WHERE diffInputSkyfile.diff_id = diffRun.diff_id 10 -- AND diffInputSkyfile.template = 0 ) AS warp_id_temp_0, 11 -- (SELECT stack_id FROM diffInputSkyfile WHERE diffInputSkyfile.diff_id = diffRun.diff_id 12 -- AND diffInputSkyfile.template = 0 ) AS stack_id_temp_0, 13 -- (SELECT warp_id FROM diffInputSkyfile WHERE diffInputSkyfile.diff_id = diffRun.diff_id 14 -- AND diffInputSkyfile.template = 1 ) AS warp_id_temp_1, 15 -- (SELECT stack_id FROM diffInputSkyfile WHERE diffInputSkyfile.diff_id = diffRun.diff_id 16 -- AND diffInputSkyfile.template = 1 ) AS stack_id_temp_1 14 17 FROM diffRun 15 18 JOIN diffSkyfile … … 17 20 JOIN diffInputSkyfile 18 21 ON diffInputSkyfile.diff_id = diffRun.diff_id 19 AND diffInputSkyfile.template = 020 22 JOIN warpRun 21 USING(warp_id) 22 JOIN fakeRun 23 USING(fake_id) 24 JOIN camRun 25 USING(cam_id) 26 JOIN chipRun 27 USING(chip_id) 23 ON warpRun.warp_id = diffInputSkyfile.warp1 28 24 JOIN rawExp 29 25 USING(exp_id) -
branches/bills_081204/ippTools/share/difftool_todiffskyfile.sql
r19678 r20903 5 5 diffRun.diff_id, 6 6 diffRun.workdir, 7 diff Run.skycell_id,7 diffInputSkyfile.skycell_id, 8 8 diffRun.tess_id, 9 9 diffRun.label, 10 10 diffRun.state 11 11 FROM diffRun 12 JOIN diffInputSkyfile USING(diff_id) 13 12 14 -- Get list of templates for each diffRun 13 JOIN diffInputSkyfile AS diffTemplateSkyfile14 ON diffRun.diff_id = diffTemplateSkyfile.diff_id15 AND diffRun.skycell_id = diffTemplateSkyfile.skycell_id16 AND diffTemplateSkyfile.template = 115 -- JOIN diffInputSkyfile AS diffTemplateSkyfile 16 -- ON diffRun.diff_id = diffTemplateSkyfile.diff_id 17 -- AND diffRun.skycell_id = diffTemplateSkyfile.skycell_id 18 -- AND diffTemplateSkyfile.template = 1 17 19 -- Get list of inputs for each diffRun 18 JOIN diffInputSkyfile 19 ON diffRun.diff_id = diffInputSkyfile.diff_id 20 AND diffRun.skycell_id = diffInputSkyfile.skycell_id 21 AND diffInputSkyfile.template = 0 20 -- JOIN diffInputSkyfile 21 -- ON diffRun.diff_id = diffInputSkyfile.diff_id 22 -- AND diffRun.skycell_id = diffInputSkyfile.skycell_id 23 -- AND diffInputSkyfile.template = 0 24 22 25 -- Get warp templates 23 26 LEFT JOIN warpRun AS warpTemplateRun 24 ON warpTemplateRun.warp_id = diff TemplateSkyfile.warp_id25 AND diff TemplateSkyfile.warp_idIS NOT NULL27 ON warpTemplateRun.warp_id = diffInputSkyfile.warp2 28 AND diffInputSkyfile.warp2 IS NOT NULL 26 29 LEFT JOIN warpSkyfile AS warpTemplateSkyfile 27 30 ON warpTemplateSkyfile.warp_id = warpTemplateRun.warp_id 28 AND warpTemplateSkyfile.skycell_id = diffTemplateSkyfile.skycell_id 31 AND warpTemplateSkyfile.skycell_id = diffInputSkyfile.skycell_id 32 29 33 -- Get warp inputs 30 34 LEFT JOIN warpRun 31 ON warpRun.warp_id = diffInputSkyfile.warp _id32 AND diffInputSkyfile.warp _idIS NOT NULL35 ON warpRun.warp_id = diffInputSkyfile.warp1 36 AND diffInputSkyfile.warp1 IS NOT NULL 33 37 LEFT JOIN warpSkyfile 34 38 ON warpSkyfile.warp_id = warpRun.warp_id 35 39 AND warpSkyfile.skycell_id = diffInputSkyfile.skycell_id 40 36 41 -- Get stack templates 37 42 LEFT JOIN stackRun AS stackTemplateRun 38 ON stackTemplateRun.stack_id = diffTemplateSkyfile.stack_id 43 ON stackTemplateRun.stack_id = diffInputSkyfile.stack2 44 AND diffInputSkyfile.stack2 IS NOT NULL 39 45 LEFT JOIN stackSumSkyfile AS stackTemplateSkyfile 40 46 ON stackTemplateSkyfile.stack_id = stackTemplateRun.stack_id 47 41 48 -- Get stack inputs 42 49 LEFT JOIN stackRun 43 ON stackRun.stack_id = diffInputSkyfile.stack _id44 AND diffInputSkyfile. warp_id ISNULL50 ON stackRun.stack_id = diffInputSkyfile.stack1 51 AND diffInputSkyfile.stack1 IS NOT NULL 45 52 LEFT JOIN stackSumSkyfile 46 53 ON stackSumSkyfile.stack_id = stackRun.stack_id 47 AND diffInputSkyfile.warp_id IS NULL 54 48 55 -- Get what's already been processed 49 56 LEFT JOIN diffSkyfile … … 57 64 ) 58 65 -- Ensure input warps are available 59 AND (diffInputSkyfile.warp _idIS NULL66 AND (diffInputSkyfile.warp1 IS NULL 60 67 OR (warpRun.state = 'full' 61 68 AND warpSkyfile.fault = 0 62 69 AND warpSkyfile.ignored = 0)) 63 70 -- Ensure input stacks are available 64 AND (diffInputSkyfile.stack _idIS NULL71 AND (diffInputSkyfile.stack1 IS NULL 65 72 OR (stackRun.state = 'full' 66 73 AND stackSumSkyfile.fault = 0)) 67 74 -- Ensure template warps are available 68 AND (diff TemplateSkyfile.warp_idIS NULL75 AND (diffInputSkyfile.warp2 IS NULL 69 76 OR (warpTemplateRun.state = 'full' 70 77 AND warpTemplateSkyfile.fault = 0 71 78 AND warpTemplateSkyfile.ignored = 0)) 72 79 -- Ensure template stacks are available 73 AND (diff TemplateSkyfile.stack_idIS NULL80 AND (diffInputSkyfile.stack2 IS NULL 74 81 OR (stackTemplateRun.state = 'full' 75 82 AND stackTemplateSkyfile.fault = 0)) -
branches/bills_081204/ippTools/share/magictool_definebyquery_insert.sql
r20890 r20903 3 3 SELECT 4 4 @MAGIC_ID@, -- Update this with the appropriate magic_id 5 diff_id,6 5 skycell_id 7 FROM magicBestDiffs6 FROM diffSkyfile 8 7 WHERE 9 exp_id = @EXP_ID@ -- Update this with the appropriate exp_id 8 diff_id = @DIFF_ID@ -- Update this with the appropriate diff_id 9 AND fault = 0 -
branches/bills_081204/ippTools/share/magictool_definebyquery_select.sql
r20742 r20903 1 1 -- Get a list of exposures on which magic may be performed 2 SELECT DISTINCT2 SELECT 3 3 exp_id, 4 filter, 5 num_todo, 6 num_done, 7 MAX(magic_id) 8 FROM ( 9 -- Number of skycells as a function of exposure 10 SELECT 11 exp_id, 12 filter, 13 COUNT(DISTINCT warpSkyfile.tess_id,warpSkyfile.skycell_id) AS num_todo 14 FROM rawExp 15 JOIN chipRun USING(exp_id) 16 JOIN camRun USING(chip_id) 17 JOIN fakeRun USING(cam_id) 18 JOIN warpRun USING(fake_id) 19 JOIN warpSkyCellMap USING(warp_id) 20 JOIN warpSkyfile USING(warp_id, skycell_id) 21 JOIN diffInputSkyfile USING(warp_id,skycell_id) 22 JOIN diffRun USING(diff_id) 23 WHERE 24 warpSkyfile.ignored = 0 25 -- magicSkycellNums WHERE hook %s 26 GROUP BY 27 exp_id 28 ) AS magicSkycellNums 29 JOIN ( 30 -- Number of completed diffs for an exposure 31 SELECT 32 exp_id, 33 COUNT(diff_id) AS num_done 34 FROM magicBestDiffs 35 GROUP BY 36 exp_id 37 ) AS magicDiffNums USING(exp_id) 4 MAX(diff_id) AS diff_id 5 FROM diffRun 6 JOIN rawExp USING(exp_id) 38 7 LEFT JOIN magicRun USING(exp_id) 8 -- WHERE hook %s 9 GROUP BY exp_id -
branches/bills_081204/ippTools/share/magictool_definebyquery_temp_insert.sql
r20738 r20903 14 14 JOIN warpSkyfile USING(warp_id, skycell_id) 15 15 JOIN diffInputSkyfile 16 ON diffInputSkyfile.warp _id= warpSkyfile.warp_id16 ON diffInputSkyfile.warp1 = warpSkyfile.warp_id 17 17 AND diffInputSkyfile.skycell_id = warpSkyfile.skycell_id 18 AND diffInputSkyfile.template = 0 -- selecting inputs only19 18 JOIN diffRun USING(diff_id) 20 19 JOIN diffSkyfile USING(diff_id) -
branches/bills_081204/ippTools/share/magictool_inputs.sql
r20695 r20903 11 11 diffSkyfile.fault 12 12 FROM magicInputSkyfile 13 JOIN magicRun USING(magic_id) 13 14 JOIN diffSkyfile 14 15 USING(diff_id) 15 JOIN magicRun16 USING(magic_id)17 16 UNION 18 17 -- Merged skycells … … 21 20 magicRun.state, 22 21 magicTree.node, 23 0, 22 0, -- no diff_id 24 23 magicNodeResult.uri, 25 24 NULL, -- magicNodeResult doesn't have a path_base -
branches/bills_081204/ippTools/share/pxadmin_create_tables.sql
r20841 r20903 941 941 dvodb VARCHAR(255), 942 942 registered DATETIME, 943 skycell_id VARCHAR(64),943 exp_id BIGINT, 944 944 tess_id VARCHAR(64), 945 945 PRIMARY KEY(diff_id), 946 946 KEY(diff_id), 947 947 KEY(state), 948 KEY(skycell_id),949 948 KEY(tess_id) 950 949 ) ENGINE=innodb DEFAULT CHARSET=latin1; … … 952 951 CREATE TABLE diffInputSkyfile ( 953 952 diff_id BIGINT, 954 template TINYINT, 955 stack_id BIGINT, 956 warp_id BIGINT, 953 warp1 BIGINT, 954 warp2 BIGINT, 955 stack1 BIGINT, 956 stack2 BIGINT, 957 957 skycell_id VARCHAR(64), 958 958 tess_id VARCHAR(64), 959 kind VARCHAR(64), 960 PRIMARY KEY(diff_id, template), 961 KEY(stack_id), 962 KEY(warp_id), 959 PRIMARY KEY(diff_id), 960 KEY(warp1), 961 KEY(warp2), 962 KEY(stack1), 963 KEY(stack2), 963 964 KEY(skycell_id), 964 965 KEY(tess_id), 965 KEY(kind),966 966 FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id), 967 FOREIGN KEY (stack_id) REFERENCES stackSumSkyfile(stack_id), 968 FOREIGN KEY (warp_id, skycell_id, tess_id) REFERENCES warpSkyfile(warp_id, skycell_id, tess_id) 967 FOREIGN KEY (warp1, skycell_id, tess_id) REFERENCES warpSkyfile(warp_id, skycell_id, tess_id), 968 FOREIGN KEY (warp2, skycell_id, tess_id) REFERENCES warpSkyfile(warp_id, skycell_id, tess_id), 969 FOREIGN KEY (stack1) REFERENCES stackSumSkyfile(stack_id), 970 FOREIGN KEY (stack2) REFERENCES stackSumSkyfile(stack_id) 969 971 ) ENGINE=innodb DEFAULT CHARSET=latin1; 970 972 971 973 CREATE TABLE diffSkyfile ( 972 974 diff_id BIGINT, 975 skycell_id VARCHAR(64), 973 976 uri VARCHAR(255), 974 977 path_base VARCHAR(255), … … 996 999 KEY(good_frac), 997 1000 KEY(fault), 1001 KEY(skycell_id), 998 1002 FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id) 999 1003 ) ENGINE=innodb DEFAULT CHARSET=latin1; … … 1002 1006 magic_id BIGINT AUTO_INCREMENT, 1003 1007 exp_id BIGINT, 1008 diff_id BIGINT, 1004 1009 state VARCHAR(64), 1005 1010 workdir VARCHAR(255), … … 1015 1020 KEY(label), 1016 1021 KEY(fault), 1017 FOREIGN KEY (exp_id) REFERENCES rawExp(exp_id) 1022 FOREIGN KEY (exp_id) REFERENCES rawExp(exp_id), 1023 FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id) 1018 1024 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1019 1025 1020 1026 CREATE TABLE magicInputSkyfile ( 1021 1027 magic_id BIGINT, 1022 diff_id BIGINT,1023 1028 node VARCHAR(64), 1024 PRIMARY KEY(magic_id, diff_id), 1025 FOREIGN KEY (magic_id) REFERENCES magicRun(magic_id), 1026 FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id) 1029 PRIMARY KEY(magic_id), 1030 FOREIGN KEY (magic_id) REFERENCES magicRun(magic_id) 1027 1031 ) ENGINE=innodb DEFAULT CHARSET=latin1; 1028 1032 -
branches/bills_081204/ippTools/src/difftool.c
r20719 r20903 47 47 48 48 static bool setdiffRunState(pxConfig *config, psS64 diff_id, const char *state); 49 static bool diffRunComplete(pxConfig *config); 49 50 50 51 # define MODECASE(caseName, func) \ … … 108 109 // required options 109 110 PXOPT_LOOKUP_STR(workdir, config->args, "-workdir", true, false); 110 PXOPT_LOOKUP_STR(skycell_id, config->args, "-skycell_id", true, false);111 111 PXOPT_LOOKUP_STR(tess_id, config->args, "-tess_id", true, false); 112 112 PXOPT_LOOKUP_STR(label, config->args, "-label", false, false); 113 113 PXOPT_LOOKUP_STR(reduction, config->args, "-reduction", false, false); 114 PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", false, false); 114 115 115 116 // default … … 125 126 NULL, // dvodb 126 127 registered, 127 skycell_id,128 exp_id, 128 129 tess_id 129 130 ); … … 178 179 179 180 // optional 180 PXOPT_LOOKUP_S64(stack_id, config->args, "-stack_id", false, false); 181 PXOPT_LOOKUP_S64(warp_id, config->args, "-warp_id", false, false); 182 PXOPT_LOOKUP_STR(kind, config->args, "-kind", false, false); 183 184 // defaults to false 185 PXOPT_LOOKUP_BOOL(template, config->args, "-template", false); 186 187 // must provide either stack_id or warp_id but not BOTH 188 if (!(stack_id || warp_id)) { 189 psError(PS_ERR_UNKNOWN, true, "either -stack_id or -warp_id must be specified"); 190 return false; 191 } 192 if (stack_id && warp_id) { 193 psError(PS_ERR_UNKNOWN, true, "either -stack_id or -warp_id must be specified"); 194 return false; 195 } 196 197 // if a warp_id was provided we need to lookup the skycell_id and tess_id 198 // from the warpRun 199 psString skycell_id = NULL; 181 PXOPT_LOOKUP_S64(stack1, config->args, "-stack1", false, false); 182 PXOPT_LOOKUP_S64(stack2, config->args, "-stack2", false, false); 183 PXOPT_LOOKUP_S64(warp1, config->args, "-warp1", false, false); 184 PXOPT_LOOKUP_S64(warp2, config->args, "-warp2", false, false); 185 PXOPT_LOOKUP_STR(skycell_id, config->args, "-skycell_id", true, false); 186 187 // must provide either stack1 or warp1 but not BOTH 188 if (!(stack1 || warp1)) { 189 psError(PS_ERR_UNKNOWN, true, "either -stack1 or -warp1 must be specified"); 190 return false; 191 } 192 if (stack1 && warp1) { 193 psError(PS_ERR_UNKNOWN, true, "either -stack1 or -warp1 must be specified"); 194 return false; 195 } 196 // must provide either stack2 or warp2 but not BOTH 197 if (!(stack2 || warp2)) { 198 psError(PS_ERR_UNKNOWN, true, "either -stack2 or -warp2 must be specified"); 199 return false; 200 } 201 if (stack2 && warp2) { 202 psError(PS_ERR_UNKNOWN, true, "either -stack2 or -warp2 must be specified"); 203 return false; 204 } 205 206 // if a warp1 was provided we need to lookup the and tess_id from the diffRun 200 207 psString tess_id = NULL; 201 if (warp _id) {208 if (warp1) { 202 209 if (!p_psDBRunQuery(config->dbh, "SELECT * from diffRun WHERE diff_id = %" PRId64, diff_id)) { 203 210 psError(PS_ERR_UNKNOWN, false, "database error"); … … 217 224 218 225 diffRunRow *run = diffRunObjectFromMetadata(output->data[0]); 219 skycell_id = run->skycell_id;220 226 tess_id = run->tess_id; 221 227 } … … 228 234 if (!diffInputSkyfileInsert(config->dbh, 229 235 diff_id, 230 template, 231 stack_id ? stack_id : PS_MAX_S64, // defined or NULL 232 warp_id ? warp_id : PS_MAX_S64, // defined or NULL 236 warp1 ? warp1 : PS_MAX_S64, // defined or NULL 237 warp2 ? warp2 : PS_MAX_S64, // defined or NULL 238 stack1 ? stack1 : PS_MAX_S64, // defined or NULL 239 stack2 ? stack2 : PS_MAX_S64, // defined or NULL 233 240 skycell_id, 234 tess_id, 235 kind 241 tess_id 236 242 )) { 237 243 if (!psDBRollback(config->dbh)) { … … 300 306 PXOPT_COPY_STR(config->args, where, "-skycell_id", "skycell_id", "=="); 301 307 PXOPT_COPY_STR(config->args, where, "-tess_id", "tess_id", "=="); 302 PXOPT_COPY_STR(config->args, where, "-kind", "kind", "==");303 308 304 309 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); … … 349 354 } 350 355 351 if (!p_psDBRunQuery(config->dbh, query, whereClause, whereClause )) {356 if (!p_psDBRunQuery(config->dbh, query, whereClause, whereClause, whereClause, whereClause)) { 352 357 psError(PS_ERR_UNKNOWN, false, "database error"); 353 358 psFree(whereClause); … … 471 476 472 477 PXOPT_LOOKUP_S64(diff_id, config->args, "-diff_id", true, false); // required 478 PXOPT_LOOKUP_STR(skycell_id, config->args, "-skycell_id", true, false); 473 479 PXOPT_LOOKUP_S16(code, config->args, "-code", false, false); 474 480 PXOPT_LOOKUP_STR(uri, config->args, "-uri", (code == 0), false); … … 503 509 if (!diffSkyfileInsert(config->dbh, 504 510 diff_id, 511 skycell_id, 505 512 uri, 506 513 path_base, … … 533 540 } 534 541 535 if (! setdiffRunState(config, diff_id, "full")) {542 if (!diffRunComplete(config)) { 536 543 if (!psDBRollback(config->dbh)) { 537 544 psError(PS_ERR_UNKNOWN, false, "database error"); … … 546 553 return false; 547 554 } 555 548 556 549 557 return true; … … 762 770 psS64 template_warp_id, // Warp identifier for template image, PS_MAX_S64 for none 763 771 psS64 template_stack_id, // Stack identifier for template image, PS_MAX_S64 for none 772 psS64 exp_id, // exposure id for input_warp_id (if defined) 764 773 pxConfig *config // Configuration 765 774 ) … … 791 800 NULL, // dvodb 792 801 registered, 793 skycell_id,802 exp_id, 794 803 tess_id 795 804 ); … … 817 826 if (!diffInputSkyfileInsert(config->dbh, 818 827 run->diff_id, 819 true, 828 input_warp_id, 829 template_warp_id, 830 input_stack_id, 820 831 template_stack_id, 821 template_warp_id,822 832 skycell_id, 823 tess_id, 824 NULL // kind 825 )) { 826 if (!psDBRollback(config->dbh)) { 827 psError(PS_ERR_UNKNOWN, false, "database error"); 828 } 829 psError(PS_ERR_UNKNOWN, false, "database error"); 830 return false; 831 } 832 833 // Input 834 if (!diffInputSkyfileInsert(config->dbh, 835 run->diff_id, 836 false, 837 input_stack_id, 838 input_warp_id, 839 skycell_id, 840 tess_id, 841 NULL // kind 833 tess_id 842 834 )) { 843 835 if (!psDBRollback(config->dbh)) { … … 887 879 PXOPT_LOOKUP_S64(input_warp_id, config->args, "-input_warp_id", false, false); 888 880 PXOPT_LOOKUP_S64(input_stack_id, config->args, "-input_stack_id", false, false); 881 PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", false, false); 889 882 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 890 883 … … 906 899 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 907 900 "No input has been defined (-input_stack_id or -input_warp_id)"); 901 return false; 902 } 903 if (input_warp_id && !exp_id) { 904 psError(PS_ERR_BAD_PARAMETER_VALUE, true, 905 "-exp_id is required with -input_warp_id."); 908 906 return false; 909 907 } … … 916 914 template_warp_id ? template_warp_id : PS_MAX_S64, 917 915 template_stack_id ? template_stack_id : PS_MAX_S64, 916 exp_id, 918 917 config)) { 919 918 psError(PS_ERR_UNKNOWN, false, "failed to create populated diffRun"); … … 945 944 PXOPT_COPY_STR(config->args, warpWhere, "-filter", "rawExp.filter", "=="); 946 945 PXOPT_COPY_STR(config->args, warpWhere, "-warp_label", "warpRun.label", "=="); 947 PXOPT_COPY_STR(config->args, warpWhere, "-kind", "warpsToDiff.kind", "==");948 946 PXOPT_COPY_F32(config->args, warpWhere, "-good_frac", "warpSkyfile.good_frac", ">="); 949 947 PXOPT_COPY_STR(config->args, stackWhere, "-stack_label", "stackRun.label", "=="); … … 1048 1046 continue; 1049 1047 } 1048 psS64 exp_id = psMetadataLookupS64(&mdok, row, "exp_id"); 1049 if (!mdok) { 1050 psWarning("exp_id not found --- ignoring row %ld", i); 1051 continue; 1052 } 1050 1053 1051 1054 if (!populatedrun(list, workdir, skycell_id, tess_id, label, reduction, warp_id, 1052 PS_MAX_S64, PS_MAX_S64, stack_id, config)) {1055 PS_MAX_S64, PS_MAX_S64, stack_id, exp_id, config)) { 1053 1056 psWarning("Unable to add run for %s,%s,%" PRId64 ",%" PRId64, skycell_id, tess_id, 1054 1057 warp_id, stack_id); … … 1274 1277 } 1275 1278 1279 static bool diffRunComplete(pxConfig *config) 1280 { 1281 PS_ASSERT_PTR_NON_NULL(config, false); 1282 1283 // look for completed diffRuns 1284 psString query = pxDataGet("difftool_completed_runs.sql"); 1285 if (!query) { 1286 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 1287 return false; 1288 } 1289 1290 if (!p_psDBRunQuery(config->dbh, query)) { 1291 psError(PS_ERR_UNKNOWN, false, "database error"); 1292 psFree(query); 1293 return false; 1294 } 1295 psFree(query); 1296 1297 psArray *output = p_psDBFetchResult(config->dbh); 1298 if (!output) { 1299 psError(PS_ERR_UNKNOWN, false, "database error"); 1300 return false; 1301 } 1302 if (!psArrayLength(output)) { 1303 psTrace("difftool", PS_LOG_INFO, "no rows found"); 1304 psFree(output); 1305 return true; 1306 } 1307 for (long i = 0; i < psArrayLength(output); i++) { 1308 psMetadata *row = output->data[i]; 1309 1310 psS64 diff_id = psMetadataLookupS64(NULL, row, "diff_id"); 1311 1312 // set diffRun.state to 'stop' 1313 if (!setdiffRunState(config, diff_id, "full")) { 1314 psError(PS_ERR_UNKNOWN, false, "failed to change diffRun.state for diff_id: %" PRId64, 1315 diff_id); 1316 psFree(output); 1317 return false; 1318 } 1319 } 1320 1321 return true; 1322 } 1323 -
branches/bills_081204/ippTools/src/difftoolConfig.c
r20693 r20903 48 48 psMetadata *definerunArgs = psMetadataAlloc(); 49 49 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-workdir", 0, "define workdir (required)", NULL); 50 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-skycell_id", 0, "define skycell ID (required)", NULL);51 50 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-tess_id", 0, "define tessellation ID (required)", NULL); 52 51 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL); … … 65 64 psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-stack_id", 0, "define stack ID", 0); 66 65 psMetadataAddS64(addinputskyfileArgs, PS_LIST_TAIL, "-warp_id", 0, "define warp ID", 0); 67 psMetadataAddStr(addinputskyfileArgs, PS_LIST_TAIL, "-kind", 0, "define kind", NULL);68 66 psMetadataAddBool(addinputskyfileArgs, PS_LIST_TAIL, "-template", 0, "this sky cell file is the subtrahend", false); 69 67 … … 74 72 psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0, "search by skycell ID", NULL); 75 73 psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-tess_id", 0, "search by tess ID", NULL); 76 psMetadataAddStr(inputskyfileArgs, PS_LIST_TAIL, "-kind", 0, "search by kind", NULL);77 74 psMetadataAddBool(inputskyfileArgs, PS_LIST_TAIL, "-template", 0, "find only subtrahend", false); 78 75 psMetadataAddBool(inputskyfileArgs, PS_LIST_TAIL, "-input", 0, "find only minuend", false); … … 90 87 psMetadata *adddiffskyfileArgs = psMetadataAlloc(); 91 88 psMetadataAddS64(adddiffskyfileArgs, PS_LIST_TAIL, "-diff_id", 0, "define warp ID (required)", 0); 89 psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-skycell_id", 0, "define skycell of file (required)", 0); 92 90 psMetadataAddS16(adddiffskyfileArgs, PS_LIST_TAIL, "-code", 0, "set fault code", 0); 93 91 psMetadataAddStr(adddiffskyfileArgs, PS_LIST_TAIL, "-uri", 0, "define URI of file", 0); … … 155 153 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-warp_label", 0, "search by warp label", NULL); 156 154 psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-good_frac", 0, "minimum good fraction of skycell", NAN); 157 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-kind", 0, "search by kind", NULL);158 155 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-workdir", 0, "define workdir (required)", NULL); 159 156 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL); -
branches/bills_081204/ippTools/src/magictool.c
r20783 r20903 128 128 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 129 129 130 // Create temporary table of the best diffs 131 { 132 psString query = pxDataGet("magictool_definebyquery_temp_create.sql"); 133 if (!query) { 134 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 135 return false; 136 } 137 138 if (!p_psDBRunQuery(config->dbh, query)) { 139 psError(PS_ERR_UNKNOWN, false, "database error"); 140 return false; 141 } 142 psFree(query); 143 } 144 145 // Insert list of best diffs into temporary table 146 { 147 psString query = pxDataGet("magictool_definebyquery_temp_insert.sql"); 148 if (!query) { 149 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 150 return false; 151 } 152 153 psMetadata *where = psMetadataAlloc(); 154 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 155 PXOPT_COPY_STR(config->args, where, "-diff_label", "diffRun.label", "=="); 156 PXOPT_COPY_F32(config->args, where, "-good_frac", "warpSkyfile.good_frac", ">="); 157 158 psString whereClause = NULL; // WHERE conditions 159 if (psListLength(where->list)) { 160 whereClause = psDBGenerateWhereConditionSQL(where, NULL); 161 psStringPrepend(&whereClause, "\n AND "); 162 } 163 psFree(where); 164 165 if (!p_psDBRunQuery(config->dbh, query, whereClause)) { 166 psError(PS_ERR_UNKNOWN, false, "database error"); 167 psFree(whereClause); 168 psFree(query); 169 return false; 170 } 171 psFree(whereClause); 172 psFree(query); 173 } 130 psMetadata *where = psMetadataAlloc(); 131 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 132 PXOPT_COPY_STR(config->args, where, "-diff_label", "diffRun.label", "=="); 133 174 134 175 135 // Get list of exposures ready to magic … … 181 141 } 182 142 183 psString magicSkyCellNumsWhere = NULL; // WHERE conditions for magicSkyCellNums 184 { 185 psMetadata *where = psMetadataAlloc(); 186 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 187 PXOPT_COPY_STR(config->args, where, "-diff_label", "diffRun.label", "=="); 188 PXOPT_COPY_F32(config->args, where, "-good_frac", "warpSkyfile.good_frac", ">="); 189 190 if (psListLength(where->list)) { 191 magicSkyCellNumsWhere = psDBGenerateWhereConditionSQL(where, NULL); 192 psStringPrepend(&magicSkyCellNumsWhere, "\n AND "); 193 } 194 psFree(where); 195 } 196 197 // "available" means only concern ourselves with exposures that have all diffs completed, unless we're 198 // told to only take what's available. 199 // "new" means we want a new run even if there's already a magic run defined 143 // "available" means queue magic run even though the diffRun has skycells that did not complete 144 // "rerun" means we want a new run even if there's already a magic run defined for the exposure 200 145 PXOPT_LOOKUP_BOOL(available, config->args, "-available", false); 201 PXOPT_LOOKUP_BOOL( new, config->args, "-new", false);146 PXOPT_LOOKUP_BOOL(rerun, config->args, "-rerun", false); 202 147 203 148 psString queryWhere = NULL; // WHERE conditions for entire query 204 if (available) { 205 psStringAppend(&queryWhere, " WHERE num_done = num_todo"); 206 } 207 if (new) { 149 if (!available) { 150 psStringAppend(&queryWhere, " \nWHERE diffRun.state = 'full'"); 151 } else { 152 // what if no skycells for the diff run completed? 153 } 154 if (!rerun) { 208 155 const char *newWhere = " magic_id IS NULL"; // String to add 209 156 if (queryWhere) { 210 157 psStringAppend(&queryWhere, " AND %s", newWhere); 211 158 } else { 212 psStringAppend(&queryWhere, " WHERE %s", newWhere);159 psStringAppend(&queryWhere, "\nWHERE %s", newWhere); 213 160 } 214 161 } 215 if (queryWhere) { 216 psStringAppend(&query, " %s", queryWhere); 162 if (!queryWhere) { 163 psStringAppend(&queryWhere, " "); 164 } 165 166 if (!p_psDBRunQuery(config->dbh, query, queryWhere)) { 167 psError(PS_ERR_UNKNOWN, false, "database error"); 217 168 psFree(queryWhere); 218 }219 220 221 if (!p_psDBRunQuery(config->dbh, query, magicSkyCellNumsWhere ? magicSkyCellNumsWhere : "")) {222 psError(PS_ERR_UNKNOWN, false, "database error");223 psFree(magicSkyCellNumsWhere);224 169 psFree(query); 225 170 return false; 226 171 } 227 psFree( magicSkyCellNumsWhere);172 psFree(queryWhere); 228 173 psFree(query); 229 174 } … … 262 207 psMetadata *row = output->data[i]; // Row of interest 263 208 psS64 exp_id = psMetadataLookupS64(NULL, row, "exp_id"); // Exposure identifier 209 psS64 diff_id = psMetadataLookupS64(NULL, row, "diff_id"); // Exposure identifier 264 210 265 211 // create a new magicRun for this group 266 magicRunRow *run = magicRunRowAlloc(0, exp_id, "run", workdir, "dirty", label, dvodb, registered, 0);212 magicRunRow *run = magicRunRowAlloc(0, exp_id, diff_id, "run", workdir, "dirty", label, dvodb, registered, 0); 267 213 if (!run) { 268 214 psAbort("failed to alloc magicRun object"); … … 297 243 { 298 244 psString idString = NULL; 299 psStringAppend(&idString, "%" PRId64, exp_id);300 psStringSubstitute(&thisInsert, idString, "@ EXP_ID@");245 psStringAppend(&idString, "%" PRId64, diff_id); 246 psStringSubstitute(&thisInsert, idString, "@DIFF_ID@"); 301 247 psFree(idString); 302 248 } … … 340 286 PXOPT_LOOKUP_STR(workdir, config->args, "-workdir", true, false); 341 287 PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", true, false); 288 PXOPT_LOOKUP_S64(diff_id, config->args, "-diff_id", true, false); 342 289 343 290 // optional … … 350 297 0, // ID 351 298 exp_id, 299 diff_id, 352 300 "reg", // state 353 301 workdir, … … 414 362 config->dbh, 415 363 magic_id, 416 diff_id,417 364 node 418 365 ); -
branches/bills_081204/ippTools/src/magictoolConfig.c
r20744 r20903 55 55 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-exp_id", 0, "search exp_id", 0); 56 56 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-diff_label", 0, "select diff label", NULL); 57 psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-good_frac", 0, "limit good_frac", NAN);58 57 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-available", 0, "process what's immediately available?", false); 59 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "- new", 0, "generate new run even if existing?", false);58 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-rerun", 0, "generate new run even if existing?", false); 60 59 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 61 60
Note:
See TracChangeset
for help on using the changeset viewer.
