Changeset 20106
- Timestamp:
- 09/07/21 14:03:51 (3 years ago)
- Location:
- trunk/Mars/hawc/processing/DiskToDB
- Files:
-
- 4 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Mars/hawc/processing/DiskToDB/run-scripts.sh
r20104 r20106 229 229 mkdir -p ./queries 230 230 readonly ONDISK="./queries/insert-OnDisk-${TEL}.sql" 231 readonly AUXDISK="./queries/insert-AuxOnDisk-${TEL}.sql" 231 232 readonly RAW="./queries/insert-raw-${TEL}.sql" 232 233 readonly CALIB="./queries/find-calibration2-${TEL}.sql" … … 239 240 240 241 # Create Database of existing files 241 # Create SQL query with:242 # (Telescope, Night, RUNID, ISDRSFILE).243 242 echo "Updating file table" 244 243 bash ./update-file-table2.sh -i -o "${ONDISK}" "${TEL}" "${DIR}/raw" … … 246 245 echo "Uploading updated table" 247 246 mysql --defaults-file="${CRED}" < "${ONDISK}" 247 248 # Create Database of existing auxiliary files 249 bash ./update-aux-table.sh -r -o "${AUXDISK}" "${TEL}" "${DIR}/auxil" 250 # Update DataOnDisk tabel in database 251 echo "Uploading updated table" 252 mysql --defaults-file="${CRED}" < "${AUXDISK}" 248 253 249 254 # get list of NIGHTS with unprocessed files -
trunk/Mars/hawc/processing/DiskToDB/update-aux-table.sh
r20105 r20106 121 121 122 122 123 echo \ 124 "\ 123 EXT=0 124 NIGHT=`find "${DIR}"/[0-9][0-9][0-9][0-9]/ -type f \ 125 | grep -o "/[0-9]\{8\}.${AUX}.fits" \ 126 | cut -f2 -d "/" \ 127 | cut -f1 -d "."`|| EXT=1 128 129 if [ ${EXT} = "0" ] 130 then 131 132 echo \ 133 "\ 125 134 INSERT INTO AuxOnDisk_tmp (Telescope, NIGHT, ${AUX}) 126 135 VALUES … … 128 137 129 138 130 NIGHT=`find "${DIR}"/[0-9][0-9][0-9][0-9]/ -type f \ 131 | grep -o "/[0-9]\{8\}.${AUX}.fits" \ 132 | cut -f2 -d "/" \ 133 | cut -f1 -d "."` 134 135 # Format to (Telescope, NIGHT, FAD_CONTROL_TEMPERATURE), 136 QUERY=`paste <(for i in ${NIGHT}; do echo ${TEL}; done) \ 137 <(echo "${NIGHT}") \ 138 <(for i in ${NIGHT}; do echo "0"; done) \ 139 --delimiters "," \ 140 | sed 's/^/(/' \ 141 | sed 's/$/),/'` 142 143 # Write query to OUTPUT file 144 echo "${QUERY}" >> ${OUTPUT} 145 # Change last comma to semicolon 146 sed -i '$s/,$//' "${OUTPUT}" 147 148 echo "ON DUPLICATE KEY UPDATE ${AUX} = 0;" >> ${OUTPUT} 149 150 # 1) If there is data in the database that is not on disk then set 151 # ${AUX} = NULL for that night 152 # 2) Delete all entries from the database that are not on disk 153 # 3) ${INSERT} all entries into the database that are on disk 154 echo \ 155 "\ 156 CREATE TEMPORARY TABLE TableNotDisk_${AUX} 157 ( 158 Telescope tinyint UNSIGNED NOT NULL, 159 NIGHT int UNSIGNED NOT NULL, 160 FAD_CONTROL_TEMPERATURE tinyint UNSIGNED, 161 BIAS_CONTROL_DYNAMIC_DATA tinyint UNSIGNED, 162 FTM_CONTROL_DATA tinyint UNSIGNED, 163 FTU_CONTROL_DATA tinyint UNSIGNED, 164 Updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 165 ON UPDATE CURRENT_TIMESTAMP, 166 PRIMARY KEY (Telescope, NIGHT) 167 ) SELECT * FROM AuxOnDisk 168 WHERE (Telescope, NIGHT) NOT IN 169 (SELECT Telescope, NIGHT FROM AuxOnDisk_tmp) 170 AND Telescope=${TEL}; 171 172 UPDATE AuxOnDisk SET ${AUX} = NULL WHERE NIGHT IN 173 (SELECT NIGHT FROM TableNotDisk_${AUX}) 174 AND Telescope=${TEL}; 175 176 DELETE FROM AuxOnDisk 177 WHERE (Telescope, NIGHT) NOT IN 178 (SELECT Telescope, NIGHT FROM AuxOnDisk_tmp) 179 AND Telescope=${TEL}; 180 181 ${INSERT} AuxOnDisk (SELECT * FROM AuxOnDisk_tmp); 182 "\ >> ${OUTPUT} 139 # Format to (Telescope, NIGHT, FAD_CONTROL_TEMPERATURE), 140 QUERY=`paste <(for i in ${NIGHT}; do echo ${TEL}; done) \ 141 <(echo "${NIGHT}") \ 142 <(for i in ${NIGHT}; do echo "0"; done) \ 143 --delimiters "," \ 144 | sed 's/^/(/' \ 145 | sed 's/$/),/'` 146 147 # Write query to OUTPUT file 148 echo "${QUERY}" >> ${OUTPUT} 149 # Change last comma to semicolon 150 sed -i '$s/,$//' "${OUTPUT}" 151 152 echo "ON DUPLICATE KEY UPDATE ${AUX} = 0;" >> ${OUTPUT} 153 154 # 1) If there is data in the database that is not on disk then set 155 # ${AUX} = NULL for that night 156 # 2) Delete all entries from the database that are not on disk 157 # 3) ${INSERT} all entries into the database that are on disk 158 echo \ 159 "\ 160 CREATE TEMPORARY TABLE TableNotDisk_${AUX} 161 ( 162 Telescope tinyint UNSIGNED NOT NULL, 163 NIGHT int UNSIGNED NOT NULL, 164 FAD_CONTROL_TEMPERATURE tinyint UNSIGNED, 165 BIAS_CONTROL_DYNAMIC_DATA tinyint UNSIGNED, 166 FTM_CONTROL_DATA tinyint UNSIGNED, 167 FTU_CONTROL_DATA tinyint UNSIGNED, 168 Updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 169 ON UPDATE CURRENT_TIMESTAMP, 170 PRIMARY KEY (Telescope, NIGHT) 171 ) SELECT * FROM AuxOnDisk 172 WHERE (Telescope, NIGHT) NOT IN 173 (SELECT Telescope, NIGHT FROM AuxOnDisk_tmp) 174 AND Telescope=${TEL}; 175 176 UPDATE DataOnDisk SET auxiliary = NULL 177 WHERE DataOnDisk.NIGHT IN 178 (SELECT NIGHT FROM AuxOnDisk_tmp) 179 AND Telescope=${TEL}; 180 181 DELETE FROM AuxOnDisk 182 WHERE (Telescope, NIGHT) NOT IN 183 (SELECT Telescope, NIGHT FROM AuxOnDisk_tmp) 184 AND Telescope=${TEL}; 185 186 ${INSERT} AuxOnDisk (SELECT * FROM AuxOnDisk_tmp); 187 "\ >> ${OUTPUT} 188 189 else 190 # 1) If there is data in the database that is not on disk then set 191 # ${AUX} = NULL for that night 192 # 2) Delete all entries from the database that are not on disk 193 # 3) ${INSERT} all entries into the database that are on disk 194 echo \ 195 "\ 196 CREATE TEMPORARY TABLE TableNotDisk_${AUX} 197 ( 198 Telescope tinyint UNSIGNED NOT NULL, 199 NIGHT int UNSIGNED NOT NULL, 200 FAD_CONTROL_TEMPERATURE tinyint UNSIGNED, 201 BIAS_CONTROL_DYNAMIC_DATA tinyint UNSIGNED, 202 FTM_CONTROL_DATA tinyint UNSIGNED, 203 FTU_CONTROL_DATA tinyint UNSIGNED, 204 Updated_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP 205 ON UPDATE CURRENT_TIMESTAMP, 206 PRIMARY KEY (Telescope, NIGHT) 207 ) SELECT * FROM AuxOnDisk 208 WHERE (Telescope, NIGHT) NOT IN 209 (SELECT Telescope, NIGHT FROM AuxOnDisk_tmp) 210 AND Telescope=${TEL}; 211 212 UPDATE DataOnDisk SET auxiliary = NULL 213 WHERE DataOnDisk.NIGHT IN 214 (SELECT NIGHT FROM AuxOnDisk_tmp) 215 AND Telescope=${TEL}; 216 217 DELETE FROM AuxOnDisk 218 WHERE (Telescope, NIGHT) NOT IN 219 (SELECT Telescope, NIGHT FROM AuxOnDisk_tmp) 220 AND Telescope=${TEL}; 221 222 ${INSERT} AuxOnDisk (SELECT * FROM AuxOnDisk_tmp); 223 "\ >> ${OUTPUT} 224 225 226 echo "No Auxiliary files." 227 continue; 228 fi 229 230 183 231 184 232 done -
trunk/Mars/hawc/processing/DiskToDB/update-file-table2.sh
r20104 r20106 147 147 sed -i '$s/,$/;/' "${OUTPUT}" 148 148 149 # 1) If there is data in the database that is not on disk then set star = 0150 # 149 # 1) If there is data in the database that is not on disk then set 150 # header = NULL for that night 151 151 # 2) Delete all entries from the database that are not on disk 152 152 # 3) ${INSERT} all entries into the database that are on disk -
trunk/Mars/hawc/processing/DiskToDB/write-calibration-query.sh
r20104 r20106 218 218 WHERE NIGHT=${NIGHT} 219 219 AND Telescope=${TEL} 220 ) = 0; 220 ) = 0 221 AND NIGHT=${NIGHT} 222 AND Telescope=${TEL}; 221 223 "\ >> ${OUTPUT}
Note:
See TracChangeset
for help on using the changeset viewer.