Changeset 18923
- Timestamp:
- Aug 5, 2008, 2:07:07 PM (18 years ago)
- Location:
- branches/eam_branch_20080719/ippTools
- Files:
-
- 10 added
- 3 deleted
- 25 edited
-
configure.ac (modified) (1 diff)
-
doc/magic_flow.txt (added)
-
share/Makefile.am (modified) (2 diffs)
-
share/chiptool_processedimfile.sql (modified) (1 diff)
-
share/difftool_definebyquery.sql (added)
-
share/faketool_find_pendingexp.sql (modified) (2 diffs)
-
share/faketool_pendingimfile.sql (modified) (3 diffs)
-
share/magictool_definebyquery.sql (added)
-
share/magictool_definebyquery_insert.sql (added)
-
share/magictool_definebyquery_select_part1.sql (added)
-
share/magictool_definebyquery_select_part2.sql (added)
-
share/magictool_definebyquery_select_test.sql (added)
-
share/magictool_definebyquery_temp_create.sql (added)
-
share/magictool_definebyquery_temp_insert.sql (added)
-
share/magictool_definebyquery_temp_insert_groupby.sql (added)
-
share/magictool_find_complete_diffed_exposures.sql (deleted)
-
share/magictool_find_complete_warpruns.sql (deleted)
-
share/magictool_find_unmagiced.sql (deleted)
-
share/magictool_inputs.sql (modified) (2 diffs)
-
share/magictool_tomask.sql (modified) (1 diff)
-
share/magictool_toprocess_inputs.sql (modified) (1 diff)
-
share/magictool_toprocess_tree.sql (modified) (2 diffs)
-
share/magictool_totree.sql (modified) (1 diff)
-
share/pxadmin_create_tables.sql (modified) (8 diffs)
-
share/warptool_tooverlap.sql (modified) (1 diff)
-
src/chiptool.c (modified) (4 diffs)
-
src/difftool.c (modified) (10 diffs)
-
src/faketool.c (modified) (2 diffs)
-
src/faketoolConfig.c (modified) (1 diff)
-
src/magictool.c (modified) (9 diffs)
-
src/magictoolConfig.c (modified) (2 diffs)
-
src/pstamptool.c (modified) (2 diffs)
-
src/pstamptoolConfig.c (modified) (1 diff)
-
src/pxadmin.c (modified) (2 diffs)
-
src/pxtree.c (modified) (3 diffs)
-
src/pzgetexp.c (modified) (2 diffs)
-
src/pzgetexpConfig.c (modified) (3 diffs)
-
src/stacktool.c (modified) (11 diffs)
Legend:
- Unmodified
- Added
- Removed
-
branches/eam_branch_20080719/ippTools/configure.ac
r17879 r18923 18 18 PKG_CHECK_MODULES([PSLIB], [pslib >= 1.1.0]) 19 19 PKG_CHECK_MODULES([PSMODULES], [psmodules >= 1.1.0]) 20 PKG_CHECK_MODULES([IPPDB], [ippdb >= 1.1.3 8])20 PKG_CHECK_MODULES([IPPDB], [ippdb >= 1.1.39]) 21 21 22 22 PXTOOLS_CFLAGS="${PSLIB_CFLAGS=} ${PSMODULES_CFLAGS=} ${IPPDB_CFLAGS=}" -
branches/eam_branch_20080719/ippTools/share/Makefile.am
r18622 r18923 58 58 dettool_tostacked.sql \ 59 59 difftool_inputskyfile.sql \ 60 difftool_ queue.sql \60 difftool_definebyquery.sql \ 61 61 difftool_revertdiffskyfile.sql \ 62 62 difftool_skyfile.sql \ … … 75 75 flatcorr_find_processedimfiles.sql \ 76 76 flatcorr_pending.sql \ 77 magictool_create_tmp_warpcomplete.sql \ 78 magictool_find_complete_diffed_exposures.sql \ 79 magictool_find_complete_warpruns.sql \ 80 magictool_find_unmagiced.sql \ 77 magictool_definebyquery_temp_create.sql \ 78 magictool_definebyquery_temp_insert.sql \ 79 magictool_definebyquery_temp_insert_groupby.sql \ 80 magictool_definebyquery_select_part1.sql \ 81 magictool_definebyquery_select_part2.sql \ 82 magictool_definebyquery_insert.sql \ 81 83 magictool_inputskyfile.sql \ 82 84 magictool_totree.sql \ -
branches/eam_branch_20080719/ippTools/share/chiptool_processedimfile.sql
r14118 r18923 6 6 chipProcessedImfile.bg_mean_stdev, 7 7 chipProcessedImfile.path_base, 8 rawExp.exp_id, 8 9 rawExp.exp_tag, 9 10 rawExp.exp_name, -
branches/eam_branch_20080719/ippTools/share/faketool_find_pendingexp.sql
r18644 r18923 1 1 -- this query is used by both camtool -pendingexp & camtool -addprocessedexp it 2 2 -- does a little more work then is necessary for -addprocessed but it seems 3 -- "cleaner" to use the same query for both cases 3 -- "cleaner" to use the same query for both cases 4 4 SELECT * FROM 5 5 (SELECT … … 29 29 AND chipRun.state = 'full' 30 30 AND fakeMask.label IS NULL 31 AND fakeProcessedImfile.fake_id IS N ULL31 AND fakeProcessedImfile.fake_id IS NOT NULL 32 32 GROUP BY 33 33 fakeRun.fake_id -
branches/eam_branch_20080719/ippTools/share/faketool_pendingimfile.sql
r18125 r18923 1 SELECT DISTINCT * FROM 2 -- the subselect is so where criteria can be specified without knowing3 -- which table the field came from4 (SELECT1 SELECT DISTINCT * FROM ( 2 -- the subselect is so where criteria can be specified without knowing 3 -- which table the field came from 4 SELECT 5 5 fakeRun.*, 6 6 chipProcessedImfile.exp_id, … … 29 29 rawExp.filelevel 30 30 FROM fakeRun 31 JOIN camRun 32 USING(cam_id) 33 JOIN camProcessedExp 34 USING(cam_id) 35 JOIN chipRun 36 USING(chip_id) 37 JOIN chipProcessedImfile 38 USING(chip_id) 31 JOIN camRun USING(cam_id) 32 JOIN camProcessedExp USING(cam_id) 33 JOIN chipRun USING(chip_id) 34 JOIN chipProcessedImfile USING(chip_id) 39 35 JOIN rawExp 40 36 ON chipProcessedImfile.exp_id = rawExp.exp_id 41 37 LEFT JOIN fakeProcessedImfile 42 38 ON fakeRun.fake_id = fakeProcessedImfile.fake_id 39 AND chipProcessedImfile.class_id = fakeProcessedImfile.class_id 43 40 LEFT JOIN fakeMask 44 41 ON fakeRun.label = fakeMask.label … … 47 44 AND fakeProcessedImfile.class_id IS NULL 48 45 AND fakeMask.label IS NULL 49 ) as f oo46 ) as fakePendingImfile -
branches/eam_branch_20080719/ippTools/share/magictool_inputs.sql
r18622 r18923 7 7 magicInputSkyfile.node, 8 8 diffSkyfile.uri, 9 diffSkyfile.path_base, 9 10 diffSkyfile.fault 10 11 FROM magicInputSkyfile … … 20 21 magicTree.node, 21 22 magicNodeResult.uri, 23 NULL, -- magicNodeResult doesn't have a path_base 22 24 magicNodeResult.fault 23 25 FROM magicTree -
branches/eam_branch_20080719/ippTools/share/magictool_tomask.sql
r18622 r18923 1 1 SELECT 2 2 magic_id, 3 exp_id, 4 camera, 5 magicRun.workdir, 3 6 uri 4 7 FROM magicRun 5 JOIN magicTree 6 USING(magic_id) 7 LEFT JOIN magicNodeResult 8 USING(magic_id, node) 8 JOIN rawExp USING(exp_id) 9 JOIN magicTree USING(magic_id) 10 LEFT JOIN magicNodeResult USING(magic_id, node) 9 11 WHERE 10 12 magicRun.state = 'run' -
branches/eam_branch_20080719/ippTools/share/magictool_toprocess_inputs.sql
r18622 r18923 1 1 SELECT 2 2 magicTree.*, 3 rawExp.camera, 4 diffSkyfile.path_base, 3 5 -- convert magic_id into a boolean value (1 or 0) 4 6 -- note that the type stays a 64 bit int 5 7 magicNodeResult.magic_id IS TRUE as done 6 8 FROM magicTree 7 JOIN magicRun 8 USING(magic_id) 9 JOIN magicInputSkyfile 10 USING(magic_id, node) 11 JOIN diffSkyfile 12 using(diff_id) 9 JOIN magicRun USING(magic_id) 10 JOIN magicInputSkyfile USING(magic_id, node) 11 JOIN diffSkyfile USING(diff_id) 12 JOIN rawExp USING(exp_id) 13 13 LEFT JOIN magicNodeResult 14 14 ON magicTree.magic_id = magicNodeResult.magic_id -
branches/eam_branch_20080719/ippTools/share/magictool_toprocess_tree.sql
r18622 r18923 1 1 SELECT 2 2 magicTree.*, 3 exp_id, 4 camera, 5 magicRun.workdir, 3 6 -- convert magic_id into a boolean value (1 or 0) 4 7 -- note that the type stays a 64 bit int … … 6 9 magicNodeResult.fault IS TRUE as bad 7 10 FROM magicTree 8 JOIN magicRun 9 USING(magic_id)11 JOIN magicRun USING(magic_id) 12 JOIN rawExp USING(exp_id) 10 13 LEFT JOIN magicNodeResult 11 14 ON magicTree.magic_id = magicNodeResult.magic_id -
branches/eam_branch_20080719/ippTools/share/magictool_totree.sql
r18622 r18923 1 1 SELECT 2 magic_id 2 magic_id, 3 exp_id, 4 camera, 5 workdir, 6 ra, 7 decl, 8 tess_id 3 9 FROM magicRun 10 JOIN rawExp USING(exp_id) 4 11 LEFT JOIN magicTree 5 12 USING(magic_id) -
branches/eam_branch_20080719/ippTools/share/pxadmin_create_tables.sql
r18643 r18923 235 235 CREATE TABLE chipRun ( 236 236 chip_id BIGINT AUTO_INCREMENT, 237 exp_id BIGINT, 238 state VARCHAR(64), 239 workdir VARCHAR(255), 240 workdir_state VARCHAR(64), 241 label VARCHAR(64), 237 exp_id BIGINT, 238 state VARCHAR(64), 239 workdir VARCHAR(255), 240 workdir_state VARCHAR(64), 241 label VARCHAR(64), 242 242 reduction VARCHAR(64), 243 expgroup VARCHAR(64), 244 dvodb VARCHAR(255), 245 tess_id VARCHAR(64), 246 end_stage VARCHAR(64), 247 PRIMARY KEY(chip_id), 248 KEY(chip_id), KEY(exp_id), 249 KEY(state), 243 expgroup VARCHAR(64), 244 dvodb VARCHAR(255), 245 tess_id VARCHAR(64), 246 end_stage VARCHAR(64), 247 PRIMARY KEY(chip_id), 248 KEY(chip_id), KEY(exp_id), 249 KEY(state), 250 250 KEY(workdir_state), 251 KEY(label), 252 KEY(expgroup), 253 KEY(end_stage), 254 INDEX(chip_id, exp_id), 255 FOREIGN KEY (exp_id) 251 KEY(label), 252 KEY(expgroup), 253 KEY(end_stage), 254 INDEX(chip_id, exp_id), 255 FOREIGN KEY (exp_id) 256 256 REFERENCES rawExp(exp_id)) 257 257 ENGINE=innodb DEFAULT CHARSET=latin1; 258 258 259 259 CREATE TABLE chipProcessedImfile ( 260 chip_id BIGINT, 261 exp_id BIGINT, 262 class_id VARCHAR(64), 263 uri VARCHAR(255), 264 bg FLOAT, 265 bg_stdev FLOAT, 266 bg_mean_stdev FLOAT, 267 bias FLOAT, 268 bias_stdev FLOAT, 269 fringe_0 FLOAT, 270 fringe_1 FLOAT, 271 fringe_2 FLOAT, 272 sigma_ra FLOAT, 273 sigma_dec FLOAT, 274 ap_resid FLOAT, 275 ap_resid_stdev FLOAT, 276 zp_mean FLOAT, 277 zp_stdev FLOAT, 278 fwhm_major FLOAT, 279 fwhm_minor FLOAT, 280 dtime_detrend FLOAT, 281 dtime_photom FLOAT, 282 dtime_astrom FLOAT, 283 hostname VARCHAR(64), 284 n_stars INT, 285 n_extended INT, 286 n_cr INT, 287 n_astrom INT, 288 path_base VARCHAR(255), 289 fault SMALLINT NOT NULL, 290 PRIMARY KEY(chip_id, exp_id, class_id), 291 KEY(fault), 292 FOREIGN KEY (chip_id, exp_id) 260 chip_id BIGINT, 261 exp_id BIGINT, 262 class_id VARCHAR(64), 263 uri VARCHAR(255), 264 bg FLOAT, 265 bg_stdev FLOAT, 266 bg_mean_stdev FLOAT, 267 bias FLOAT, 268 bias_stdev FLOAT, 269 fringe_0 FLOAT, 270 fringe_1 FLOAT, 271 fringe_2 FLOAT, 272 sigma_ra FLOAT, 273 sigma_dec FLOAT, 274 ap_resid FLOAT, 275 ap_resid_stdev FLOAT, 276 zp_mean FLOAT, 277 zp_stdev FLOAT, 278 fwhm_major FLOAT, 279 fwhm_minor FLOAT, 280 dtime_detrend FLOAT, 281 dtime_photom FLOAT, 282 dtime_astrom FLOAT, 283 hostname VARCHAR(64), 284 n_stars INT, 285 n_extended INT, 286 n_cr INT, 287 n_astrom INT, 288 path_base VARCHAR(255), 289 fault SMALLINT NOT NULL, 290 PRIMARY KEY(chip_id, exp_id, class_id), 291 KEY(fault), 292 FOREIGN KEY (chip_id, exp_id) 293 293 REFERENCES chipRun(chip_id, exp_id), 294 294 FOREIGN KEY (exp_id, class_id) … … 297 297 298 298 CREATE TABLE chipMask ( 299 label VARCHAR(64), 300 PRIMARY KEY(label)) 299 label VARCHAR(64), 300 PRIMARY KEY(label)) 301 301 ENGINE=innodb DEFAULT CHARSET=latin1; 302 302 303 303 CREATE TABLE camRun ( 304 cam_id BIGINT AUTO_INCREMENT, 305 chip_id BIGINT, 306 state VARCHAR(64), 307 workdir VARCHAR(255), 308 workdir_state VARCHAR(64), 309 label VARCHAR(64), 310 reduction VARCHAR(64), 311 expgroup VARCHAR(64), 312 dvodb VARCHAR(255), 313 tess_id VARCHAR(64), 314 end_stage VARCHAR(64), 315 PRIMARY KEY(cam_id), 316 KEY(cam_id), 317 KEY(chip_id), 318 KEY(state), 319 KEY(workdir_state), 320 KEY(label), 321 KEY(expgroup), 322 KEY(end_stage), 323 INDEX(cam_id, chip_id), 324 FOREIGN KEY (chip_id) 325 REFERENCES chipRun(chip_id)) 304 cam_id BIGINT AUTO_INCREMENT, 305 chip_id BIGINT, 306 state VARCHAR(64), 307 workdir VARCHAR(255), 308 workdir_state VARCHAR(64), 309 label VARCHAR(64), 310 reduction VARCHAR(64), 311 expgroup VARCHAR(64), 312 dvodb VARCHAR(255), 313 tess_id VARCHAR(64), 314 end_stage VARCHAR(64), 315 PRIMARY KEY(cam_id), 316 KEY(cam_id), 317 KEY(chip_id), 318 KEY(state), 319 KEY(workdir_state), 320 KEY(label), 321 KEY(expgroup), 322 KEY(end_stage), 323 INDEX(cam_id, chip_id), 324 FOREIGN KEY (chip_id) 325 REFERENCES chipRun(chip_id)) 326 326 ENGINE=innodb DEFAULT CHARSET=latin1; 327 327 328 328 CREATE TABLE camProcessedExp ( 329 329 cam_id BIGINT, 330 uri VARCHAR(255), 331 bg FLOAT, 332 bg_stdev FLOAT, 333 bg_mean_stdev FLOAT, 334 bias FLOAT, 335 bias_stdev FLOAT, 336 fringe_0 FLOAT, 337 fringe_1 FLOAT, 338 fringe_2 FLOAT, 339 sigma_ra FLOAT, 340 sigma_dec FLOAT, 341 ap_resid FLOAT, 342 ap_resid_stdev FLOAT, 343 zp_mean FLOAT, 344 zp_stdev FLOAT, 345 fwhm_major FLOAT, 346 fwhm_minor FLOAT, 347 dtime_detrend FLOAT, 348 dtime_photom FLOAT, 349 dtime_astrom FLOAT, 330 uri VARCHAR(255), 331 bg FLOAT, 332 bg_stdev FLOAT, 333 bg_mean_stdev FLOAT, 334 bias FLOAT, 335 bias_stdev FLOAT, 336 fringe_0 FLOAT, 337 fringe_1 FLOAT, 338 fringe_2 FLOAT, 339 sigma_ra FLOAT, 340 sigma_dec FLOAT, 341 ap_resid FLOAT, 342 ap_resid_stdev FLOAT, 343 zp_mean FLOAT, 344 zp_stdev FLOAT, 345 fwhm_major FLOAT, 346 fwhm_minor FLOAT, 347 dtime_detrend FLOAT, 348 dtime_photom FLOAT, 349 dtime_astrom FLOAT, 350 350 hostname VARCHAR(64), 351 n_stars INT, 352 n_extended INT, 353 n_cr INT, 354 n_astrom INT, 355 path_base VARCHAR(255), 356 fault SMALLINT NOT NULL, 357 PRIMARY KEY(cam_id), 358 KEY(fault), 359 FOREIGN KEY (cam_id) 360 REFERENCES camRun(cam_id)) 351 n_stars INT, 352 n_extended INT, 353 n_cr INT, 354 n_astrom INT, 355 path_base VARCHAR(255), 356 fault SMALLINT NOT NULL, 357 PRIMARY KEY(cam_id), 358 KEY(fault), 359 FOREIGN KEY (cam_id) 360 REFERENCES camRun(cam_id)) 361 361 ENGINE=innodb DEFAULT CHARSET=latin1; 362 362 … … 367 367 368 368 CREATE TABLE fakeRun ( 369 fake_id BIGINT AUTO_INCREMENT, 370 cam_id BIGINT, 371 state VARCHAR(64), 372 workdir VARCHAR(255), 373 label VARCHAR(64), 374 reduction VARCHAR(64), 375 expgroup VARCHAR(64), 376 dvodb VARCHAR(255), 377 tess_id VARCHAR(64), 378 end_stage VARCHAR(64), 379 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 380 PRIMARY KEY(fake_id), 381 KEY(cam_id), 382 KEY(state), 383 KEY(label), 384 KEY(expgroup), 385 KEY(end_stage), 386 INDEX(fake_id, cam_id), 387 FOREIGN KEY (cam_id) 388 REFERENCES camRun(cam_id)) 369 fake_id BIGINT AUTO_INCREMENT, 370 cam_id BIGINT, 371 state VARCHAR(64), 372 workdir VARCHAR(255), 373 label VARCHAR(64), 374 reduction VARCHAR(64), 375 expgroup VARCHAR(64), 376 dvodb VARCHAR(255), 377 tess_id VARCHAR(64), 378 end_stage VARCHAR(64), 379 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 380 PRIMARY KEY(fake_id), 381 KEY(cam_id), 382 KEY(state), 383 KEY(label), 384 KEY(expgroup), 385 KEY(end_stage), 386 INDEX(fake_id, cam_id), 387 FOREIGN KEY (cam_id) 388 REFERENCES camRun(cam_id)) 389 389 ENGINE=innodb DEFAULT CHARSET=latin1; 390 390 391 391 CREATE TABLE fakeProcessedImfile ( 392 fake_id BIGINT AUTO_INCREMENT, 393 exp_id BIGINT, 394 class_id VARCHAR(64), 395 uri VARCHAR(255), 396 dtime_fake FLOAT, 392 fake_id BIGINT AUTO_INCREMENT, 393 exp_id BIGINT, 394 class_id VARCHAR(64), 395 uri VARCHAR(255), 396 dtime_fake FLOAT, 397 397 hostname VARCHAR(64), 398 path_base VARCHAR(255), 399 fault SMALLINT NOT NULL, 400 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 401 PRIMARY KEY(fake_id, exp_id, class_id), 402 KEY(fault), 403 FOREIGN KEY (fake_id) 398 path_base VARCHAR(255), 399 fault SMALLINT NOT NULL, 400 epoch TIMESTAMP DEFAULT CURRENT_TIMESTAMP, 401 PRIMARY KEY(fake_id, exp_id, class_id), 402 KEY(fault), 403 FOREIGN KEY (fake_id) 404 404 REFERENCES fakeRun(fake_id), 405 FOREIGN KEY (exp_id, class_id) 406 REFERENCES rawImfile(exp_id, class_id)) 405 FOREIGN KEY (exp_id, class_id) 406 REFERENCES rawImfile(exp_id, class_id)) 407 407 ENGINE=innodb DEFAULT CHARSET=latin1; 408 408 409 409 CREATE TABLE fakeMask ( 410 label VARCHAR(64), 411 PRIMARY KEY(label)) 410 label VARCHAR(64), 411 PRIMARY KEY(label)) 412 412 ENGINE=innodb DEFAULT CHARSET=latin1; 413 413 … … 419 419 state VARCHAR(64), 420 420 filelevel VARCHAR(64), 421 workdir VARCHAR(255), 422 camera VARCHAR(64), 423 telescope VARCHAR(64), 424 exp_type VARCHAR(64), 425 reduction VARCHAR(64), 426 filter VARCHAR(64), 427 airmass_min FLOAT, 428 airmass_max FLOAT, 429 exp_time_min FLOAT, 430 exp_time_max FLOAT, 431 ccd_temp_min FLOAT, 432 ccd_temp_max FLOAT, 433 posang_min DOUBLE, 434 posang_max DOUBLE, 435 registered DATETIME, 436 time_begin DATETIME, 437 time_end DATETIME, 438 use_begin DATETIME, 439 use_end DATETIME, 440 solang_min FLOAT, 441 solang_max FLOAT, 442 label VARCHAR(64), 443 parent INT, 444 PRIMARY KEY(det_id), 445 KEY(det_id), 446 KEY(iteration), 447 KEY(det_type), 448 KEY(mode), 449 KEY(state), 450 KEY(label), 451 KEY(parent), 452 INDEX(det_id, iteration)) 421 workdir VARCHAR(255), 422 camera VARCHAR(64), 423 telescope VARCHAR(64), 424 exp_type VARCHAR(64), 425 reduction VARCHAR(64), 426 filter VARCHAR(64), 427 airmass_min FLOAT, 428 airmass_max FLOAT, 429 exp_time_min FLOAT, 430 exp_time_max FLOAT, 431 ccd_temp_min FLOAT, 432 ccd_temp_max FLOAT, 433 posang_min DOUBLE, 434 posang_max DOUBLE, 435 registered DATETIME, 436 time_begin DATETIME, 437 time_end DATETIME, 438 use_begin DATETIME, 439 use_end DATETIME, 440 solang_min FLOAT, 441 solang_max FLOAT, 442 label VARCHAR(64), 443 parent INT, 444 PRIMARY KEY(det_id), 445 KEY(det_id), 446 KEY(iteration), 447 KEY(det_type), 448 KEY(mode), 449 KEY(state), 450 KEY(label), 451 KEY(parent), 452 INDEX(det_id, iteration)) 453 453 ENGINE=innodb DEFAULT CHARSET=latin1; 454 454 455 455 CREATE TABLE detInputExp ( 456 det_id BIGINT, 457 iteration INT, 458 exp_id BIGINT, 459 include TINYINT, 460 PRIMARY KEY(det_id, iteration, exp_id), 461 INDEX(det_id, exp_id), 462 INDEX(det_id, iteration), 463 FOREIGN KEY (det_id) 464 REFERENCES detRun(det_id), 465 FOREIGN KEY (exp_id) 466 REFERENCES rawExp(exp_id)) 456 det_id BIGINT, 457 iteration INT, 458 exp_id BIGINT, 459 include TINYINT, 460 PRIMARY KEY(det_id, iteration, exp_id), 461 INDEX(det_id, exp_id), 462 INDEX(det_id, iteration), 463 FOREIGN KEY (det_id) 464 REFERENCES detRun(det_id), 465 FOREIGN KEY (exp_id) 466 REFERENCES rawExp(exp_id)) 467 467 ENGINE=innodb DEFAULT CHARSET=latin1; 468 468 469 469 CREATE TABLE detProcessedImfile ( 470 470 det_id BIGINT, 471 exp_id BIGINT, 472 class_id VARCHAR(64), 473 uri VARCHAR(255), 474 recipe VARCHAR(64), 475 bg DOUBLE, 476 bg_stdev DOUBLE, 477 bg_mean_stdev DOUBLE, 478 fringe_0 DOUBLE, 479 fringe_1 DOUBLE, 480 fringe_2 DOUBLE, 481 user_1 DOUBLE, 482 user_2 DOUBLE, 483 user_3 DOUBLE, 484 user_4 DOUBLE, 485 user_5 DOUBLE, 486 path_base VARCHAR(255), 487 fault SMALLINT NOT NULL, 488 PRIMARY KEY(det_id, exp_id, class_id), 489 KEY(fault), 490 INDEX(det_id, class_id), 491 INDEX(det_id, exp_id), 492 FOREIGN KEY (det_id, exp_id) 493 REFERENCES detInputExp(det_id, exp_id), 494 FOREIGN KEY (exp_id, class_id) 471 exp_id BIGINT, 472 class_id VARCHAR(64), 473 uri VARCHAR(255), 474 recipe VARCHAR(64), 475 bg DOUBLE, 476 bg_stdev DOUBLE, 477 bg_mean_stdev DOUBLE, 478 fringe_0 DOUBLE, 479 fringe_1 DOUBLE, 480 fringe_2 DOUBLE, 481 user_1 DOUBLE, 482 user_2 DOUBLE, 483 user_3 DOUBLE, 484 user_4 DOUBLE, 485 user_5 DOUBLE, 486 path_base VARCHAR(255), 487 fault SMALLINT NOT NULL, 488 PRIMARY KEY(det_id, exp_id, class_id), 489 KEY(fault), 490 INDEX(det_id, class_id), 491 INDEX(det_id, exp_id), 492 FOREIGN KEY (det_id, exp_id) 493 REFERENCES detInputExp(det_id, exp_id), 494 FOREIGN KEY (exp_id, class_id) 495 495 REFERENCES rawImfile(exp_id, class_id) 496 496 ) ENGINE=innodb DEFAULT CHARSET=latin1; 497 497 498 498 CREATE TABLE detProcessedExp ( 499 det_id BIGINT, 500 exp_id BIGINT, 501 recipe VARCHAR(64), 502 bg DOUBLE, 503 bg_stdev DOUBLE, 504 bg_mean_stdev DOUBLE, 505 fringe_0 DOUBLE, 506 fringe_1 DOUBLE, 507 fringe_2 DOUBLE, 508 user_1 DOUBLE, 509 user_2 DOUBLE, 510 user_3 DOUBLE, 511 user_4 DOUBLE, 512 user_5 DOUBLE, 513 path_base VARCHAR(255), 514 fault SMALLINT NOT NULL, 515 PRIMARY KEY(det_id, exp_id), 516 KEY(fault), 517 FOREIGN KEY (det_id, exp_id) 518 REFERENCES detInputExp(det_id, exp_id), 519 FOREIGN KEY (det_id, exp_id) 499 det_id BIGINT, 500 exp_id BIGINT, 501 recipe VARCHAR(64), 502 bg DOUBLE, 503 bg_stdev DOUBLE, 504 bg_mean_stdev DOUBLE, 505 fringe_0 DOUBLE, 506 fringe_1 DOUBLE, 507 fringe_2 DOUBLE, 508 user_1 DOUBLE, 509 user_2 DOUBLE, 510 user_3 DOUBLE, 511 user_4 DOUBLE, 512 user_5 DOUBLE, 513 path_base VARCHAR(255), 514 fault SMALLINT NOT NULL, 515 PRIMARY KEY(det_id, exp_id), 516 KEY(fault), 517 FOREIGN KEY (det_id, exp_id) 518 REFERENCES detInputExp(det_id, exp_id), 519 FOREIGN KEY (det_id, exp_id) 520 520 REFERENCES detProcessedImfile(det_id, exp_id) 521 521 ) ENGINE=innodb DEFAULT CHARSET=latin1; … … 528 528 recipe VARCHAR(64), 529 529 bg DOUBLE, 530 bg_stdev DOUBLE, 531 bg_mean_stdev DOUBLE, 532 user_1 DOUBLE, 533 user_2 DOUBLE, 534 user_3 DOUBLE, 535 user_4 DOUBLE, 536 user_5 DOUBLE, 537 fault SMALLINT NOT NULL, 538 PRIMARY KEY(det_id, iteration, class_id), 539 KEY(fault), 540 FOREIGN KEY (det_id, iteration) 541 REFERENCES detInputExp(det_id, iteration), 542 FOREIGN KEY (det_id, class_id) 530 bg_stdev DOUBLE, 531 bg_mean_stdev DOUBLE, 532 user_1 DOUBLE, 533 user_2 DOUBLE, 534 user_3 DOUBLE, 535 user_4 DOUBLE, 536 user_5 DOUBLE, 537 fault SMALLINT NOT NULL, 538 PRIMARY KEY(det_id, iteration, class_id), 539 KEY(fault), 540 FOREIGN KEY (det_id, iteration) 541 REFERENCES detInputExp(det_id, iteration), 542 FOREIGN KEY (det_id, class_id) 543 543 REFERENCES detProcessedImfile(det_id, class_id) 544 544 ) ENGINE=innodb DEFAULT CHARSET=latin1; 545 545 546 546 CREATE TABLE detNormalizedStatImfile ( 547 det_id BIGINT, 548 iteration INT, 549 class_id VARCHAR(64), 550 norm FLOAT, 551 fault SMALLINT NOT NULL, 552 PRIMARY KEY(det_id, iteration, class_id), 553 KEY(fault), 554 FOREIGN KEY (det_id, iteration) 555 REFERENCES detInputExp(det_id, iteration), 556 FOREIGN KEY (det_id, iteration, class_id) 547 det_id BIGINT, 548 iteration INT, 549 class_id VARCHAR(64), 550 norm FLOAT, 551 fault SMALLINT NOT NULL, 552 PRIMARY KEY(det_id, iteration, class_id), 553 KEY(fault), 554 FOREIGN KEY (det_id, iteration) 555 REFERENCES detInputExp(det_id, iteration), 556 FOREIGN KEY (det_id, iteration, class_id) 557 557 REFERENCES detStackedImfile(det_id, iteration, class_id) 558 558 ) ENGINE=innodb DEFAULT CHARSET=latin1; 559 559 560 560 CREATE TABLE detNormalizedImfile ( 561 det_id BIGINT, 562 iteration INT, 563 class_id VARCHAR(64), 564 uri VARCHAR(255), 565 bg DOUBLE, 566 bg_stdev DOUBLE, 567 bg_mean_stdev DOUBLE, 568 user_1 DOUBLE, 569 user_2 DOUBLE, 570 user_3 DOUBLE, 571 user_4 DOUBLE, 572 user_5 DOUBLE, 573 path_base VARCHAR(255), 574 fault SMALLINT NOT NULL, 575 PRIMARY KEY(det_id, iteration, class_id), 576 KEY(fault), 577 INDEX(det_id, iteration), 578 FOREIGN KEY (det_id) 579 REFERENCES detInputExp(det_id), 580 FOREIGN KEY (det_id, iteration, class_id) 561 det_id BIGINT, 562 iteration INT, 563 class_id VARCHAR(64), 564 uri VARCHAR(255), 565 bg DOUBLE, 566 bg_stdev DOUBLE, 567 bg_mean_stdev DOUBLE, 568 user_1 DOUBLE, 569 user_2 DOUBLE, 570 user_3 DOUBLE, 571 user_4 DOUBLE, 572 user_5 DOUBLE, 573 path_base VARCHAR(255), 574 fault SMALLINT NOT NULL, 575 PRIMARY KEY(det_id, iteration, class_id), 576 KEY(fault), 577 INDEX(det_id, iteration), 578 FOREIGN KEY (det_id) 579 REFERENCES detInputExp(det_id), 580 FOREIGN KEY (det_id, iteration, class_id) 581 581 REFERENCES detNormalizedStatImfile(det_id, iteration, class_id) 582 582 ) ENGINE=innodb DEFAULT CHARSET=latin1; 583 583 584 584 CREATE TABLE detNormalizedExp ( 585 det_id BIGINT, 586 iteration INT, 587 recipe VARCHAR(64), 588 bg DOUBLE, 589 bg_stdev DOUBLE, 590 bg_mean_stdev DOUBLE, 591 user_1 DOUBLE, 592 user_2 DOUBLE, 593 user_3 DOUBLE, 594 user_4 DOUBLE, 595 user_5 DOUBLE, 596 path_base VARCHAR(255), 597 fault SMALLINT NOT NULL, 598 PRIMARY KEY(det_id, iteration), 599 KEY(fault), 600 FOREIGN KEY (det_id, iteration) 601 REFERENCES detInputExp(det_id, iteration), 602 FOREIGN KEY (det_id, iteration) 585 det_id BIGINT, 586 iteration INT, 587 recipe VARCHAR(64), 588 bg DOUBLE, 589 bg_stdev DOUBLE, 590 bg_mean_stdev DOUBLE, 591 user_1 DOUBLE, 592 user_2 DOUBLE, 593 user_3 DOUBLE, 594 user_4 DOUBLE, 595 user_5 DOUBLE, 596 path_base VARCHAR(255), 597 fault SMALLINT NOT NULL, 598 PRIMARY KEY(det_id, iteration), 599 KEY(fault), 600 FOREIGN KEY (det_id, iteration) 601 REFERENCES detInputExp(det_id, iteration), 602 FOREIGN KEY (det_id, iteration) 603 603 REFERENCES detNormalizedImfile(det_id, iteration) 604 604 ) ENGINE=innodb DEFAULT CHARSET=latin1; 605 605 606 606 CREATE TABLE detResidImfile ( 607 det_id BIGINT, 608 iteration INT, 609 exp_id BIGINT, 610 class_id VARCHAR(64), 611 uri VARCHAR(255), 612 recipe VARCHAR(64), 613 bg DOUBLE, 614 bg_stdev DOUBLE, 615 bg_mean_stdev DOUBLE, 616 bg_skewness DOUBLE, 617 bg_kurtosis DOUBLE, 618 bin_stdev DOUBLE, 619 fringe_0 DOUBLE, 620 fringe_1 DOUBLE, 621 fringe_2 DOUBLE, 622 fringe_resid_0 DOUBLE, 623 fringe_resid_1 DOUBLE, 624 fringe_resid_2 DOUBLE, 607 det_id BIGINT, 608 iteration INT, 609 exp_id BIGINT, 610 class_id VARCHAR(64), 611 uri VARCHAR(255), 612 recipe VARCHAR(64), 613 bg DOUBLE, 614 bg_stdev DOUBLE, 615 bg_mean_stdev DOUBLE, 616 bg_skewness DOUBLE, 617 bg_kurtosis DOUBLE, 618 bin_stdev DOUBLE, 619 fringe_0 DOUBLE, 620 fringe_1 DOUBLE, 621 fringe_2 DOUBLE, 622 fringe_resid_0 DOUBLE, 623 fringe_resid_1 DOUBLE, 624 fringe_resid_2 DOUBLE, 625 625 user_1 DOUBLE, 626 user_2 DOUBLE, 627 user_3 DOUBLE, 628 user_4 DOUBLE, 629 user_5 DOUBLE, 630 path_base VARCHAR(255), 631 fault SMALLINT NOT NULL, 632 PRIMARY KEY(det_id, iteration, exp_id, class_id), 633 KEY(fault), 634 INDEX(det_id, iteration, exp_id), 635 FOREIGN KEY (det_id, iteration, exp_id) 636 REFERENCES detInputExp(det_id, iteration, exp_id), 637 FOREIGN KEY (det_id, exp_id, class_id) 638 REFERENCES detProcessedImfile(det_id, exp_id, class_id), 639 FOREIGN KEY (det_id, iteration) 626 user_2 DOUBLE, 627 user_3 DOUBLE, 628 user_4 DOUBLE, 629 user_5 DOUBLE, 630 path_base VARCHAR(255), 631 fault SMALLINT NOT NULL, 632 PRIMARY KEY(det_id, iteration, exp_id, class_id), 633 KEY(fault), 634 INDEX(det_id, iteration, exp_id), 635 FOREIGN KEY (det_id, iteration, exp_id) 636 REFERENCES detInputExp(det_id, iteration, exp_id), 637 FOREIGN KEY (det_id, exp_id, class_id) 638 REFERENCES detProcessedImfile(det_id, exp_id, class_id), 639 FOREIGN KEY (det_id, iteration) 640 640 REFERENCES detNormalizedExp(det_id, iteration) 641 641 ) ENGINE=innodb DEFAULT CHARSET=latin1; … … 646 646 647 647 CREATE TABLE warpRun ( 648 warp_id BIGINT AUTO_INCREMENT, 649 fake_id BIGINT, 650 mode VARCHAR(64), 651 state VARCHAR(64), 652 workdir VARCHAR(255), 653 workdir_state VARCHAR(64), 654 label VARCHAR(64), 655 dvodb VARCHAR(255), 656 tess_id VARCHAR(64), 657 end_stage VARCHAR(64), 658 registered DATETIME, 659 magiced TINYINT, 660 PRIMARY KEY(warp_id), 661 KEY(warp_id), 662 KEY(fake_id), 663 KEY(mode), 664 KEY(state), 665 KEY(workdir_state), 666 KEY(label), 667 KEY(end_stage), 668 KEY(magiced), 669 INDEX(warp_id, fake_id), 670 FOREIGN KEY (fake_id) 648 warp_id BIGINT AUTO_INCREMENT, 649 fake_id BIGINT, 650 mode VARCHAR(64), 651 state VARCHAR(64), 652 workdir VARCHAR(255), 653 workdir_state VARCHAR(64), 654 label VARCHAR(64), 655 dvodb VARCHAR(255), 656 tess_id VARCHAR(64), 657 end_stage VARCHAR(64), 658 registered DATETIME, 659 magiced TINYINT, 660 PRIMARY KEY(warp_id), 661 KEY(warp_id), 662 KEY(fake_id), 663 KEY(mode), 664 KEY(state), 665 KEY(workdir_state), 666 KEY(label), 667 KEY(end_stage), 668 KEY(magiced), 669 INDEX(warp_id, fake_id), 670 FOREIGN KEY (fake_id) 671 671 REFERENCES fakeRun(fake_id) 672 672 ) ENGINE=innodb DEFAULT CHARSET=latin1; … … 685 685 686 686 CREATE TABLE warpSkyfile ( 687 warp_id BIGINT, 688 skycell_id VARCHAR(64), 689 tess_id VARCHAR(64), 690 uri VARCHAR(255), 691 path_base VARCHAR(255), 692 bg DOUBLE, 693 bg_stdev DOUBLE, 694 dtime_warp FLOAT, 695 hostname VARCHAR(64), 696 good_frac FLOAT, 697 xmin INT, 698 xmax INT, 699 ymin INT, 700 ymax INT, 701 ignored TINYINT, 702 fault SMALLINT, 703 PRIMARY KEY(warp_id, skycell_id, tess_id), 704 KEY(good_frac), 705 KEY(ignored), KEY(fault), 706 FOREIGN KEY (warp_id, skycell_id, tess_id) 687 warp_id BIGINT, 688 skycell_id VARCHAR(64), 689 tess_id VARCHAR(64), 690 uri VARCHAR(255), 691 path_base VARCHAR(255), 692 bg DOUBLE, 693 bg_stdev DOUBLE, 694 dtime_warp FLOAT, 695 hostname VARCHAR(64), 696 good_frac FLOAT, 697 xmin INT, 698 xmax INT, 699 ymin INT, 700 ymax INT, 701 ignored TINYINT, 702 fault SMALLINT, 703 PRIMARY KEY(warp_id, skycell_id, tess_id), 704 KEY(good_frac), 705 KEY(ignored), KEY(fault), 706 FOREIGN KEY (warp_id, skycell_id, tess_id) 707 707 REFERENCES warpSkyCellMap(warp_id, skycell_id, tess_id) 708 708 ) ENGINE=innodb DEFAULT CHARSET=latin1; … … 714 714 715 715 CREATE TABLE stackRun ( 716 stack_id BIGINT AUTO_INCREMENT,717 state VARCHAR(64),718 workdir VARCHAR(255),719 dvodb VARCHAR(255),720 registered DATETIME,721 skycell_id VARCHAR(64),722 tess_id VARCHAR(64),723 filter VARCHAR(64),724 PRIMARY KEY(stack_id),725 KEY(stack_id),726 KEY(state),727 KEY(skycell_id),728 KEY(tess_id)716 stack_id BIGINT AUTO_INCREMENT, 717 state VARCHAR(64), 718 workdir VARCHAR(255), 719 dvodb VARCHAR(255), 720 registered DATETIME, 721 skycell_id VARCHAR(64), 722 tess_id VARCHAR(64), 723 filter VARCHAR(64), 724 PRIMARY KEY(stack_id), 725 KEY(stack_id), 726 KEY(state), 727 KEY(skycell_id), 728 KEY(tess_id) 729 729 ) ENGINE=innodb DEFAULT CHARSET=latin1; 730 730 731 731 CREATE TABLE stackInputSkyfile ( 732 stack_id BIGINT,733 warp_id BIGINT,734 PRIMARY KEY(stack_id, warp_id),735 FOREIGN KEY (stack_id) REFERENCES stackRun(stack_id),736 FOREIGN KEY (warp_id) REFERENCES warpSkyfile(warp_id)732 stack_id BIGINT, 733 warp_id BIGINT, 734 PRIMARY KEY(stack_id, warp_id), 735 FOREIGN KEY (stack_id) REFERENCES stackRun(stack_id), 736 FOREIGN KEY (warp_id) REFERENCES warpSkyfile(warp_id) 737 737 ) ENGINE=innodb DEFAULT CHARSET=latin1; 738 738 739 739 CREATE TABLE stackSumSkyfile ( 740 stack_id BIGINT,741 uri VARCHAR(255),742 path_base VARCHAR(255),743 bg DOUBLE,744 bg_stdev DOUBLE,745 dtime_stack FLOAT,746 hostname VARCHAR(64),747 good_frac FLOAT,748 fault SMALLINT,749 PRIMARY KEY(stack_id),750 KEY(dtime_stack),751 KEY(good_frac),752 KEY(fault),753 FOREIGN KEY (stack_id) REFERENCES stackRun(stack_id)740 stack_id BIGINT, 741 uri VARCHAR(255), 742 path_base VARCHAR(255), 743 bg DOUBLE, 744 bg_stdev DOUBLE, 745 dtime_stack FLOAT, 746 hostname VARCHAR(64), 747 good_frac FLOAT, 748 fault SMALLINT, 749 PRIMARY KEY(stack_id), 750 KEY(dtime_stack), 751 KEY(good_frac), 752 KEY(fault), 753 FOREIGN KEY (stack_id) REFERENCES stackRun(stack_id) 754 754 ) ENGINE=innodb DEFAULT CHARSET=latin1; 755 755 756 756 CREATE TABLE diffRun ( 757 diff_id BIGINT AUTO_INCREMENT,758 state VARCHAR(64),759 workdir VARCHAR(255),760 dvodb VARCHAR(255),761 registered DATETIME,762 skycell_id VARCHAR(64),763 tess_id VARCHAR(64),764 PRIMARY KEY(diff_id),765 KEY(diff_id),766 KEY(state),767 KEY(skycell_id),768 KEY(tess_id)757 diff_id BIGINT AUTO_INCREMENT, 758 state VARCHAR(64), 759 workdir VARCHAR(255), 760 dvodb VARCHAR(255), 761 registered DATETIME, 762 skycell_id VARCHAR(64), 763 tess_id VARCHAR(64), 764 PRIMARY KEY(diff_id), 765 KEY(diff_id), 766 KEY(state), 767 KEY(skycell_id), 768 KEY(tess_id) 769 769 ) ENGINE=innodb DEFAULT CHARSET=latin1; 770 770 771 771 CREATE TABLE diffInputSkyfile ( 772 diff_id BIGINT,773 template TINYINT,774 stack_id BIGINT,775 warp_id BIGINT,776 skycell_id VARCHAR(64),777 tess_id VARCHAR(64),778 kind VARCHAR(64),779 PRIMARY KEY(diff_id, template),780 KEY(stack_id),781 KEY(warp_id),782 KEY(skycell_id),783 KEY(tess_id),784 KEY(kind),785 FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id),786 FOREIGN KEY (stack_id) REFERENCES stackSumSkyfile(stack_id),787 FOREIGN KEY (warp_id, skycell_id, tess_id) REFERENCES warpSkyfile(warp_id, skycell_id, tess_id)772 diff_id BIGINT, 773 template TINYINT, 774 stack_id BIGINT, 775 warp_id BIGINT, 776 skycell_id VARCHAR(64), 777 tess_id VARCHAR(64), 778 kind VARCHAR(64), 779 PRIMARY KEY(diff_id, template), 780 KEY(stack_id), 781 KEY(warp_id), 782 KEY(skycell_id), 783 KEY(tess_id), 784 KEY(kind), 785 FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id), 786 FOREIGN KEY (stack_id) REFERENCES stackSumSkyfile(stack_id), 787 FOREIGN KEY (warp_id, skycell_id, tess_id) REFERENCES warpSkyfile(warp_id, skycell_id, tess_id) 788 788 ) ENGINE=innodb DEFAULT CHARSET=latin1; 789 789 790 790 CREATE TABLE diffSkyfile ( 791 diff_id BIGINT,792 uri VARCHAR(255),793 path_base VARCHAR(255),794 bg DOUBLE,795 bg_stdev DOUBLE,796 stamps_num INT,797 stamps_rms FLOAT,798 sources INT,799 dtime_diff FLOAT,800 hostname VARCHAR(64),801 good_frac FLOAT,802 fault SMALLINT,803 PRIMARY KEY(diff_id),804 KEY(good_frac),805 KEY(fault),806 FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id)791 diff_id BIGINT, 792 uri VARCHAR(255), 793 path_base VARCHAR(255), 794 bg DOUBLE, 795 bg_stdev DOUBLE, 796 stamps_num INT, 797 stamps_rms FLOAT, 798 sources INT, 799 dtime_diff FLOAT, 800 hostname VARCHAR(64), 801 good_frac FLOAT, 802 fault SMALLINT, 803 PRIMARY KEY(diff_id), 804 KEY(good_frac), 805 KEY(fault), 806 FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id) 807 807 ) ENGINE=innodb DEFAULT CHARSET=latin1; 808 808 809 809 CREATE TABLE magicRun ( 810 magic_id BIGINT AUTO_INCREMENT, 811 state VARCHAR(64), 812 workdir VARCHAR(255), 813 workdir_state VARCHAR(255), 814 label VARCHAR(64), 815 dvodb VARCHAR(255), 816 registered DATETIME, 817 fault SMALLINT, 818 PRIMARY KEY(magic_id), 819 KEY(magic_id), 820 KEY(state), 821 KEY(workdir_state), 822 KEY(label), 823 KEY(fault) 810 magic_id BIGINT AUTO_INCREMENT, 811 exp_id BIGINT, 812 state VARCHAR(64), 813 workdir VARCHAR(255), 814 workdir_state VARCHAR(255), 815 label VARCHAR(64), 816 dvodb VARCHAR(255), 817 registered DATETIME, 818 fault SMALLINT, 819 PRIMARY KEY(magic_id), 820 KEY(magic_id), 821 KEY(state), 822 KEY(workdir_state), 823 KEY(label), 824 KEY(fault), 825 FOREIGN KEY (exp_id) REFERENCES rawExp(exp_id) 824 826 ) ENGINE=innodb DEFAULT CHARSET=latin1; 825 827 826 828 CREATE TABLE magicInputSkyfile ( 827 magic_id BIGINT,828 diff_id BIGINT,829 node VARCHAR(64),830 PRIMARY KEY(magic_id, diff_id),831 FOREIGN KEY (magic_id) REFERENCES magicRun(magic_id),832 FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id)829 magic_id BIGINT, 830 diff_id BIGINT, 831 node VARCHAR(64), 832 PRIMARY KEY(magic_id, diff_id), 833 FOREIGN KEY (magic_id) REFERENCES magicRun(magic_id), 834 FOREIGN KEY (diff_id) REFERENCES diffRun(diff_id) 833 835 ) ENGINE=innodb DEFAULT CHARSET=latin1; 834 836 835 837 CREATE TABLE magicTree ( 836 magic_id BIGINT,837 node VARCHAR(64),838 dep VARCHAR(64),839 KEY(magic_id),840 KEY(node),841 KEY(dep),842 INDEX(magic_id, node),843 FOREIGN KEY (magic_id) REFERENCES magicRun(magic_id)838 magic_id BIGINT, 839 node VARCHAR(64), 840 dep VARCHAR(64), 841 KEY(magic_id), 842 KEY(node), 843 KEY(dep), 844 INDEX(magic_id, node), 845 FOREIGN KEY (magic_id) REFERENCES magicRun(magic_id) 844 846 ) ENGINE=innodb DEFAULT CHARSET=latin1; 845 847 846 848 CREATE TABLE magicNodeResult ( 847 magic_id BIGINT,848 node VARCHAR(64),849 uri VARCHAR(255),850 fault SMALLINT,851 PRIMARY KEY(magic_id, node),852 FOREIGN KEY (magic_id) REFERENCES magicRun(magic_id),853 FOREIGN KEY (magic_id, node) REFERENCES magicTree(magic_id, node),854 KEY(fault)849 magic_id BIGINT, 850 node VARCHAR(64), 851 uri VARCHAR(255), 852 fault SMALLINT, 853 PRIMARY KEY(magic_id, node), 854 FOREIGN KEY (magic_id) REFERENCES magicRun(magic_id), 855 FOREIGN KEY (magic_id, node) REFERENCES magicTree(magic_id, node), 856 KEY(fault) 855 857 ) ENGINE=innodb DEFAULT CHARSET=latin1; 856 858 857 859 CREATE TABLE magicMask ( 858 magic_id BIGINT, 859 uri VARCHAR(255), 860 streaks INT, 861 fault SMALLINT, 862 PRIMARY KEY(magic_id), 863 FOREIGN KEY (magic_id) REFERENCES magicRun(magic_id), 864 KEY(fault) 865 ) ENGINE=innodb DEFAULT CHARSET=latin1; 866 867 CREATE TABLE calDB (cal_id BIGINT AUTO_INCREMENT, dvodb VARCHAR(64), state VARCHAR(64), PRIMARY KEY(cal_id), KEY(cal_id)) ENGINE=innodb DEFAULT CHARSET=latin1; 868 CREATE TABLE calRun (cal_id BIGINT AUTO_INCREMENT, region VARCHAR(64), last_step VARCHAR(64), state VARCHAR(64), PRIMARY KEY(cal_id), KEY(cal_id), KEY(last_step), FOREIGN KEY (cal_id) REFERENCES calDB(cal_id)) ENGINE=innodb DEFAULT CHARSET=latin1; 869 CREATE TABLE flatcorrRun (corr_id BIGINT AUTO_INCREMENT, dvodb VARCHAR(64), filter VARCHAR(64), state VARCHAR(64), workdir VARCHAR(255), label VARCHAR(64), stats VARCHAR(255), region VARCHAR(255), PRIMARY KEY(corr_id), KEY(corr_id)) ENGINE=innodb DEFAULT CHARSET=latin1; 870 CREATE TABLE flatcorrExp (corr_id BIGINT, chip_id BIGINT, PRIMARY KEY(corr_id, chip_id), FOREIGN KEY (corr_id) REFERENCES flatcorrRun(corr_id), FOREIGN KEY (chip_id) REFERENCES chipRun(chip_id)) ENGINE=innodb DEFAULT CHARSET=latin1; 871 CREATE TABLE pstampDataStore (ds_id BIGINT AUTO_INCREMENT, state VARCHAR(64), lastFileset VARCHAR(64), outProduct VARCHAR(64) UNIQUE, uri VARCHAR(255), PRIMARY KEY(ds_id), KEY(ds_id)) ENGINE=innodb DEFAULT CHARSET=latin1; 872 CREATE TABLE pstampRequest (req_id BIGINT AUTO_INCREMENT, ds_id BIGINT, state VARCHAR(64), outFileset VARCHAR(64) UNIQUE, uri VARCHAR(255), resultsFile SMALLINT, PRIMARY KEY(req_id), KEY(req_id)) ENGINE=innodb DEFAULT CHARSET=latin1; 873 CREATE TABLE pstampJob (job_id BIGINT AUTO_INCREMENT, req_id BIGINT, state VARCHAR(64), jobType VARCHAR(16), result INT, uri VARCHAR(255), outputBase VARCHAR(255), args VARCHAR(511), PRIMARY KEY(job_id, req_id), KEY(job_id), FOREIGN KEY (req_id) REFERENCES pstampRequest(req_id)) ENGINE=innodb DEFAULT CHARSET=latin1 860 magic_id BIGINT, 861 uri VARCHAR(255), 862 streaks INT, 863 fault SMALLINT, 864 PRIMARY KEY(magic_id), 865 FOREIGN KEY (magic_id) REFERENCES magicRun(magic_id), 866 KEY(fault) 867 ) ENGINE=innodb DEFAULT CHARSET=latin1; 868 869 CREATE TABLE calDB ( 870 cal_id BIGINT AUTO_INCREMENT, 871 dvodb VARCHAR(64), 872 state VARCHAR(64), 873 PRIMARY KEY(cal_id), 874 KEY(cal_id) 875 ) ENGINE=innodb DEFAULT CHARSET=latin1; 876 877 CREATE TABLE calRun ( 878 cal_id BIGINT AUTO_INCREMENT, 879 region VARCHAR(64), 880 last_step VARCHAR(64), 881 state VARCHAR(64), 882 PRIMARY KEY(cal_id), 883 KEY(cal_id), 884 KEY(last_step), 885 FOREIGN KEY (cal_id) REFERENCES calDB(cal_id) 886 ) ENGINE=innodb DEFAULT CHARSET=latin1; 887 888 CREATE TABLE flatcorrRun ( 889 corr_id BIGINT AUTO_INCREMENT, 890 dvodb VARCHAR(64), 891 filter VARCHAR(64), 892 state VARCHAR(64), 893 workdir VARCHAR(255), 894 label VARCHAR(64), 895 stats VARCHAR(255), 896 region VARCHAR(255), 897 PRIMARY KEY(corr_id), 898 KEY(corr_id) 899 ) ENGINE=innodb DEFAULT CHARSET=latin1; 900 901 CREATE TABLE flatcorrExp ( 902 corr_id BIGINT, 903 chip_id BIGINT, 904 PRIMARY KEY(corr_id, chip_id), 905 FOREIGN KEY (corr_id) REFERENCES flatcorrRun(corr_id), 906 FOREIGN KEY (chip_id) REFERENCES chipRun(chip_id) 907 ) ENGINE=innodb DEFAULT CHARSET=latin1; 908 909 CREATE TABLE pstampDataStore ( 910 ds_id BIGINT AUTO_INCREMENT, 911 state VARCHAR(64), 912 lastFileset VARCHAR(64), 913 outProduct VARCHAR(64) UNIQUE, 914 uri VARCHAR(255), 915 PRIMARY KEY(ds_id), 916 KEY(ds_id) 917 ) ENGINE=innodb DEFAULT CHARSET=latin1; 918 919 CREATE TABLE pstampRequest ( 920 req_id BIGINT AUTO_INCREMENT, 921 ds_id BIGINT, 922 state VARCHAR(64), 923 name VARCHAR(64) UNIQUE, 924 reqType VARCHAR(16), 925 outProduct VARCHAR(64), 926 uri VARCHAR(255), 927 fault SMALLINT, 928 PRIMARY KEY(req_id), 929 KEY(req_id) 930 ) ENGINE=innodb DEFAULT CHARSET=latin1; 931 932 CREATE TABLE pstampJob ( 933 job_id BIGINT AUTO_INCREMENT, 934 req_id BIGINT, 935 rownum VARCHAR(64), 936 state VARCHAR(64), 937 jobType VARCHAR(16), 938 fault SMALLINT, 939 uri VARCHAR(255), 940 outputBase VARCHAR(255), 941 args VARCHAR(511), 942 PRIMARY KEY(job_id, req_id), 943 KEY(job_id), 944 FOREIGN KEY (req_id) REFERENCES pstampRequest(req_id) 945 ) ENGINE=innodb DEFAULT CHARSET=latin1 -
branches/eam_branch_20080719/ippTools/share/warptool_tooverlap.sql
r18644 r18923 7 7 rawExp.camera, 8 8 exp_id, 9 exp_tag, 9 10 warpRun.magiced 10 11 FROM warpRun -
branches/eam_branch_20080719/ippTools/src/chiptool.c
r18561 r18923 522 522 psMetadata *where = psMetadataAlloc(); 523 523 PXOPT_COPY_S64(config->args, where, "-chip_id", "chipRun.chip_id", "=="); 524 PXOPT_COPY_S64(config->args, where, "-exp_id", "rawExp. chip_id", "==");525 PXOPT_COPY_STR(config->args, where, "-class_id", " rawImfile.class_id", "==");526 PXOPT_COPY_STR(config->args, where, "-inst", "rawExp. telescope", "==");524 PXOPT_COPY_S64(config->args, where, "-exp_id", "rawExp.exp_id", "=="); 525 PXOPT_COPY_STR(config->args, where, "-class_id", "chipProcessedImfile.class_id", "=="); 526 PXOPT_COPY_STR(config->args, where, "-inst", "rawExp.camera", "=="); 527 527 PXOPT_COPY_STR(config->args, where, "-filter", "rawExp.filter", "=="); 528 528 … … 534 534 535 535 if (where && psListLength(where->list)) { 536 psString whereClause = psDBGenerateWhereConditionSQL(where, "chipProcessedImfile");536 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 537 537 psStringAppend(&query, " AND %s", whereClause); 538 538 psFree(whereClause); … … 628 628 PXOPT_COPY_F32(config->args, where, "-solang_min", "solang", ">="); 629 629 PXOPT_COPY_F32(config->args, where, "-solang_max", "solang", "<"); 630 PXOPT_COPY_S16(config->args, where, "-code", "fault", "="); 630 631 631 632 if (!psListLength(where->list) … … 782 783 return false; 783 784 } 784 785 785 786 if (where) { 786 787 psString whereClause = psDBGenerateWhereSQL(where, "chipUnmask"); -
branches/eam_branch_20080719/ippTools/src/difftool.c
r18659 r18923 652 652 653 653 // Generate a single populated run 654 static bool populatedrun(const char *workdir, // Working directory 654 static bool populatedrun(psArray *list, // List of runs, to print 655 const char *workdir, // Working directory 655 656 const char *skycell_id, // Skycell identifier 656 657 const char *tess_id, // Tessellation identifier … … 759 760 } 760 761 761 if (!diffRunPrintObject(stdout, run, !simple)) { 762 psError(PS_ERR_UNKNOWN, false, "failed to print object"); 763 psFree(run); 764 return false; 762 if (list) { 763 psArrayAdd(list, list->n, run); 765 764 } 766 765 … … 782 781 PXOPT_LOOKUP_S64(input_warp_id, config->args, "-input_warp_id", false, false); 783 782 PXOPT_LOOKUP_S64(input_stack_id, config->args, "-input_stack_id", false, false); 783 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 784 784 785 785 if (template_stack_id && template_warp_id) { … … 803 803 } 804 804 805 return populatedrun(workdir, skycell_id, tess_id, 806 input_warp_id ? input_warp_id : PS_MAX_S64, 807 input_stack_id ? input_stack_id : PS_MAX_S64, 808 template_warp_id ? template_warp_id : PS_MAX_S64, 809 template_stack_id ? template_stack_id : PS_MAX_S64, 810 config); 805 psArray *list = psArrayAllocEmpty(16); // List of runs, to print 806 807 if (!populatedrun(list, workdir, skycell_id, tess_id, 808 input_warp_id ? input_warp_id : PS_MAX_S64, 809 input_stack_id ? input_stack_id : PS_MAX_S64, 810 template_warp_id ? template_warp_id : PS_MAX_S64, 811 template_stack_id ? template_stack_id : PS_MAX_S64, 812 config)) { 813 psError(PS_ERR_UNKNOWN, false, "failed to create populated diffRun"); 814 psFree(list); 815 return false; 816 } 817 818 if (!diffRunPrintObjects(stdout, list, !simple)) { 819 psError(PS_ERR_UNKNOWN, false, "failed to print object"); 820 psFree(list); 821 return false; 822 } 823 psFree(list); 811 824 812 825 return true; … … 820 833 psMetadata *where = psMetadataAlloc(); 821 834 822 PXOPT_COPY_S64(config->args, where, "-diff_id", "diff_id", "==");823 835 PXOPT_COPY_S64(config->args, where, "-warp_id", "warp_id", "=="); 824 836 PXOPT_COPY_STR(config->args, where, "-skycell_id", "skycell_id", "=="); 825 PXOPT_COPY_STR(config->args, where, "-tess_id", "tess_id", "=="); 837 PXOPT_COPY_STR(config->args, where, "-tess_id", "tess_id", "=="); 838 PXOPT_COPY_STR(config->args, where, "-filter", "filter", "=="); 826 839 PXOPT_COPY_STR(config->args, where, "-kind", "kind", "=="); 840 PXOPT_COPY_F32(config->args, where, "-good_frac", "good_frac", ">="); 827 841 PXOPT_LOOKUP_STR(workdir, config->args, "-workdir", true, false); // required options 828 842 PXOPT_LOOKUP_TIME(registered, config->args, "-registered", false, false); 829 PXOPT_LOOKUP_BOOL(template, config->args, "-template", false);830 843 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 844 PXOPT_LOOKUP_BOOL(newTemplates, config->args, "-new-templates", false); 831 845 832 846 // find all things to queue 833 psString query = pxDataGet("difftool_ queue.sql");847 psString query = pxDataGet("difftool_definebyquery.sql"); 834 848 if (!query) { 835 849 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); … … 837 851 } 838 852 839 if ( template) {840 // list only faulted rows841 psStringAppend(&query, " %s", " AND diffInputSkyfile.template != 0");853 if (newTemplates) { 854 // Warps that haven't been diffed OR warps that can take a newer template in the diff 855 psStringAppend(&query, " WHERE (diff_id IS NULL OR best_stack_id > current_stack_id)"); 842 856 } else { 843 // don't list faulted rows 844 psStringAppend(&query, " %s", 845 " AND (diffInputSkyfile.template = 0 OR diffInputSkyfile.template IS NULL)"); 857 // Only warps that haven't been diffed 858 psStringAppend(&query, " WHERE diff_id IS NULL"); 846 859 } 847 860 848 861 if (psListLength(where->list)) { 849 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL);862 psString whereClause = psDBGenerateWhereConditionSQL(where, "warpsToDiff"); 850 863 psStringAppend(&query, " AND %s", whereClause); 851 864 psFree(whereClause); … … 880 893 } 881 894 895 psArray *list = psArrayAllocEmpty(16); // List of runs, to print 882 896 long numGood = 0; // Number of good rows added 883 897 for (long i = 0; i < output->n; i++) { … … 896 910 continue; 897 911 } 898 psS64 stack_id = psMetadataLookupS64(&mdok, row, " stack_id");912 psS64 stack_id = psMetadataLookupS64(&mdok, row, "best_stack_id"); 899 913 if (!mdok) { 900 914 psWarning("stack_id not found --- ignoring row %ld", i); … … 907 921 } 908 922 909 if (!populatedrun(workdir, skycell_id, tess_id, warp_id, PS_MAX_S64, PS_MAX_S64, stack_id, config)) { 923 if (!populatedrun(list, workdir, skycell_id, tess_id, warp_id, PS_MAX_S64, PS_MAX_S64, 924 stack_id, config)) { 910 925 psWarning("Unable to add run for %s,%s,%" PRId64 ",%" PRId64, skycell_id, tess_id, 911 926 warp_id, stack_id); … … 916 931 numGood++; 917 932 } 918 919 psLogMsg("difftool", PS_LOG_INFO, "%ld runs added.", numGood);920 921 933 psFree(output); 934 935 if (!diffRunPrintObjects(stdout, list, !simple)) { 936 psError(PS_ERR_UNKNOWN, false, "failed to print object"); 937 psFree(list); 938 return false; 939 } 940 psFree(list); 922 941 923 942 return true; -
branches/eam_branch_20080719/ippTools/src/faketool.c
r18659 r18923 341 341 342 342 psMetadata *where = psMetadataAlloc(); 343 PXOPT_COPY_S TR(config->args, where, "-fake_id", "fake_id", "==");344 PXOPT_COPY_S TR(config->args, where, "-cam_id", "cam_id", "==");345 PXOPT_COPY_S TR(config->args, where, "-chip_id", "chip_id", "==");343 PXOPT_COPY_S64(config->args, where, "-fake_id", "fake_id", "=="); 344 PXOPT_COPY_S64(config->args, where, "-cam_id", "cam_id", "=="); 345 PXOPT_COPY_S64(config->args, where, "-chip_id", "chip_id", "=="); 346 346 347 347 psString query = pxDataGet("faketool_find_pendingexp.sql"); … … 798 798 return false; 799 799 } 800 800 801 801 if (where) { 802 802 psString whereClause = psDBGenerateWhereSQL(where, "fakeUnmask"); -
branches/eam_branch_20080719/ippTools/src/faketoolConfig.c
r18376 r18923 233 233 // -pendingexp 234 234 psMetadata *pendingexpArgs = psMetadataAlloc(); 235 psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-fake_id", 0, 236 "search by fake ID", 0); 235 237 psMetadataAddS64(pendingexpArgs, PS_LIST_TAIL, "-cam_id", 0, 236 238 "search by camtool ID", 0); -
branches/eam_branch_20080719/ippTools/src/magictool.c
r18573 r18923 110 110 PS_ASSERT_PTR_NON_NULL(config, false); 111 111 112 // Required 112 113 PXOPT_LOOKUP_STR(workdir, config->args, "-workdir", false, false); 114 115 // Optional 113 116 PXOPT_LOOKUP_STR(label, config->args, "-label", false, false); 114 117 PXOPT_LOOKUP_STR(dvodb, config->args, "-dvodb", false, false); 115 118 PXOPT_LOOKUP_TIME(registered, config->args, "-registered", false, false); 116 117 // create warped skycells temp table 119 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); 120 121 // Create temporary table of the best diffs 118 122 { 119 psString query = pxDataGet("magictool_ create_tmp_warpcomplete.sql");123 psString query = pxDataGet("magictool_definebyquery_temp_create.sql"); 120 124 if (!query) { 121 125 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); … … 127 131 return false; 128 132 } 129 } 130 131 // find warped skycells 133 psFree(query); 134 } 135 136 // Insert list of best diffs into temporary table 132 137 { 133 psString query = pxDataGet("magictool_ find_complete_warpruns.sql");138 psString query = pxDataGet("magictool_definebyquery_temp_insert.sql"); 134 139 if (!query) { 135 140 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 136 141 return false; 137 142 } 143 144 psMetadata *where = psMetadataAlloc(); 145 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 146 PXOPT_COPY_F32(config->args, where, "-good_frac", "warpSkyfile.good_frac", ">="); 147 148 if (psListLength(where->list)) { 149 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 150 psStringAppend(&query, " AND %s", whereClause); 151 psFree(whereClause); 152 } 153 psFree(where); 154 155 psString groupby = pxDataGet("magictool_definebyquery_temp_insert_groupby.sql"); 156 if (!groupby) { 157 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 158 psFree(query); 159 return false; 160 } 161 162 psStringAppend(&query, " %s", groupby); 163 psFree(groupby); 138 164 139 165 if (!p_psDBRunQuery(config->dbh, query)) { … … 145 171 } 146 172 147 // find the diff_id's of the warped skycells173 // Get list of exposures ready to magic 148 174 { 149 psString query = pxDataGet("magictool_ find_complete_diffed_exposures.sql");175 psString query = pxDataGet("magictool_definebyquery_select_part1.sql"); 150 176 if (!query) { 151 177 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 152 178 return false; 153 179 } 180 181 { 182 psMetadata *where = psMetadataAlloc(); 183 PXOPT_COPY_S64(config->args, where, "-exp_id", "exp_id", "=="); 184 PXOPT_COPY_F32(config->args, where, "-good_frac", "warpSkyfile.good_frac", ">="); 185 186 if (psListLength(where->list)) { 187 psString whereClause = psDBGenerateWhereConditionSQL(where, NULL); 188 psStringAppend(&query, " AND %s", whereClause); 189 psFree(whereClause); 190 } 191 psFree(where); 192 } 193 194 psString part2 = pxDataGet("magictool_definebyquery_select_part2.sql"); 195 if (!part2) { 196 psError(PXTOOLS_ERR_DATA, false, "failed to retreive SQL statement"); 197 return false; 198 } 199 200 psStringAppend(&query, " %s", part2); 201 psFree(part2); 154 202 155 203 if (!p_psDBRunQuery(config->dbh, query)) { … … 180 228 } 181 229 182 // pre-allocate enough hash buckets for 1 unique warp_id per row 183 psHash *groups = psHashAlloc(psArrayLength(output)); 184 // iterate over result set, and group by warp_id 230 if (!psDBTransaction(config->dbh)) { 231 psError(PS_ERR_UNKNOWN, false, "database error"); 232 return false; 233 } 234 235 psString insert = pxDataGet("magictool_definebyquery_insert.sql"); // Insert query 236 237 psArray *list = psArrayAllocEmpty(16); // List of runs, to print 185 238 for (long i = 0; i < psArrayLength(output); i++) { 186 // lookup the key we're grouping by 187 bool status = false; 188 psS64 warp_id = psMetadataLookupS64(&status, output->data[i], "warp_id"); 189 if (!status) { 190 psAbort("failed to lookup value for warp_id"); 191 } 192 193 psString key = psDBIntToString(warp_id); 194 // look to see if there is a bin for this key 195 psArray *groupBin = psHashLookup(groups, key); 196 if (!groupBin) { 197 // if not, create one 198 groupBin = psArrayAlloc(0); 199 psHashAdd(groups, key, groupBin); 200 } 201 psFree(key); 202 203 // add this row to the bin 204 psArrayAdd(groupBin, 0, output->data[i]); 205 psFree(groupBin); 206 } 207 psFree(output); 208 209 // create a magic run 210 psArray *grouped = psHashToArray(groups); 211 psFree(groups); 212 213 // iterate over array of grouped warp_ids 214 for (long i = 0; i < psArrayLength(grouped); i++) { 215 psArray *group = grouped->data[i]; 239 psMetadata *row = output->data[i]; // Row of interest 240 psS64 exp_id = psMetadataLookupS64(NULL, row, "exp_id"); // Exposure identifier 216 241 217 242 // create a new magicRun for this group 218 magicRunRow *run = magicRunRowAlloc( 219 0, // ID 220 "reg", // state 221 workdir, // workdir 222 "dirty", // workdir_state 223 label, // label 224 dvodb, // dvodb 225 registered, // registered 226 0 // fault 227 ); 243 magicRunRow *run = magicRunRowAlloc(0, exp_id, "run", workdir, "dirty", label, dvodb, registered, 0); 228 244 if (!run) { 229 245 psAbort("failed to alloc magicRun object"); 230 246 } 247 231 248 if (!magicRunInsertObject(config->dbh, run)) { 232 249 psError(PS_ERR_UNKNOWN, false, "database error"); 233 250 psFree(run); 234 psFree(grouped); 235 return false; 236 } 237 238 // get the assigned warp_id 239 psS64 magic_id = psDBLastInsertID(config->dbh); 240 241 // insert all rows in this bin into the new magicRun 242 for (long j = 0; j < psArrayLength(group); j++) { 243 psMetadata *row = group->data[j]; 244 245 bool status = false; 246 psS64 diff_id = psMetadataLookupS64(&status, row, "diff_id"); 247 if (!status) { 248 psAbort("failed to lookup value for diff_id"); 251 psFree(insert); 252 psFree(output); 253 psFree(list); 254 if (!psDBRollback(config->dbh)) { 255 psError(PS_ERR_UNKNOWN, false, "database error"); 249 256 } 250 psString node = psMetadataLookupStr(&status, row, "skycell_id"); 251 if (!status) { 252 psAbort("failed to lookup value for diff_id"); 257 return false; 258 } 259 260 psS64 magic_id = psDBLastInsertID(config->dbh); // Assigned identifier 261 run->magic_id = magic_id; 262 263 psArrayAdd(list, list->n, run); 264 psFree(run); 265 266 // Create a suitable insertion query for this run 267 psString thisInsert = psStringCopy(insert); 268 { 269 psString idString = NULL; 270 psStringAppend(&idString, "%" PRId64, magic_id); 271 psStringSubstitute(&thisInsert, idString, "@MAGIC_ID@"); 272 psFree(idString); 273 } 274 { 275 psString idString = NULL; 276 psStringAppend(&idString, "%" PRId64, exp_id); 277 psStringSubstitute(&thisInsert, idString, "@EXP_ID@"); 278 psFree(idString); 279 } 280 281 if (!p_psDBRunQuery(config->dbh, thisInsert, magic_id, exp_id)) { 282 psError(PS_ERR_UNKNOWN, false, "database error"); 283 psFree(thisInsert); 284 psFree(insert); 285 psFree(output); 286 psFree(list); 287 if (!psDBRollback(config->dbh)) { 288 psError(PS_ERR_UNKNOWN, false, "database error"); 253 289 } 254 255 if (!magicInputSkyfileInsert(config->dbh, 256 magic_id, 257 diff_id, 258 node)) { 259 psError(PS_ERR_UNKNOWN, false, "database error"); 260 psFree(grouped); 261 return false; 262 } 263 } 264 265 // set magicRun.state to 'run' 266 return setmagicRunState(config, magic_id, "run"); 267 } 268 psFree(grouped); 290 return false; 291 } 292 psFree(thisInsert); 293 } 294 295 if (!psDBCommit(config->dbh)) { 296 psError(PS_ERR_UNKNOWN, false, "database error"); 297 return false; 298 } 299 psFree(output); 300 301 if (!magicRunPrintObjects(stdout, list, !simple)) { 302 psError(PS_ERR_UNKNOWN, false, "failed to print object"); 303 psFree(list); 304 return false; 305 } 306 307 psFree(list); 269 308 270 309 return true; … … 277 316 // required 278 317 PXOPT_LOOKUP_STR(workdir, config->args, "-workdir", true, false); 318 PXOPT_LOOKUP_S64(exp_id, config->args, "-exp_id", true, false); 279 319 280 320 // optional … … 286 326 magicRunRow *run = magicRunRowAlloc( 287 327 0, // ID 328 exp_id, 288 329 "reg", // state 289 330 workdir, … … 658 699 } 659 700 701 if (!node->data) { 702 // It's a leaf node, not done 703 return false; 704 } 705 660 706 if (psMetadataLookupBool(NULL, node->data, "done")) { 661 707 // It's already done … … 671 717 while ((child = psListGetAndIncrement(iter))) { 672 718 psMetadata *data = child->data; 719 if (!data) { 720 // Child is a leaf node, not done 721 psFree(iter); 722 psFree(work); 723 return false; 724 } 673 725 674 726 bool status = false; … … 812 864 813 865 // find the root of the tree 814 pxNode *root = ps HashLookup(forest, "root");866 pxNode *root = psMemIncrRefCounter(psHashLookup(forest, "root")); 815 867 psFree(forest); 816 // pxTreePrint(stdout, root);868 // pxTreePrint(stdout, root); 817 869 818 870 // crawl through the tree and looking for nodes with children that are all -
branches/eam_branch_20080719/ippTools/src/magictoolConfig.c
r18573 r18923 48 48 49 49 // -definebyquery 50 psMetadata *queueArgs = psMetadataAlloc(); 51 psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-workdir", 0, "define workdir (required)", NULL); 52 psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL); 53 psMetadataAddStr(queueArgs, PS_LIST_TAIL, "-dvodb", 0, "define dvodb", NULL); 54 psMetadataAddTime(queueArgs, PS_LIST_TAIL, "-registered", 0, "time detrend run was registered", now); 50 psMetadata *definebyqueryArgs = psMetadataAlloc(); 51 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-workdir", 0, "define workdir (required)", NULL); 52 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL); 53 psMetadataAddStr(definebyqueryArgs, PS_LIST_TAIL, "-dvodb", 0, "define dvodb", NULL); 54 psMetadataAddTime(definebyqueryArgs, PS_LIST_TAIL, "-registered", 0, "time detrend run was registered", now); 55 psMetadataAddS64(definebyqueryArgs, PS_LIST_TAIL, "-exp_id", 0, "search exp_id", 0); 56 psMetadataAddF32(definebyqueryArgs, PS_LIST_TAIL, "-good_frac", 0, "limit good_frac", NAN); 57 psMetadataAddBool(definebyqueryArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); 55 58 56 59 // -definerun 57 60 psMetadata *definerunArgs = psMetadataAlloc(); 58 61 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-workdir", 0, "define workdir (required)", NULL); 62 psMetadataAddS64(definerunArgs, PS_LIST_TAIL, "-exp_id", 0, "define exp_id (required)", 0); 59 63 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-label", 0, "define label", NULL); 60 64 psMetadataAddStr(definerunArgs, PS_LIST_TAIL, "-dvodb", 0, "define dvodb", NULL); … … 152 156 psMetadata *modes = psMetadataAlloc(); 153 157 154 PXOPT_ADD_MODE("-definebyquery", "", MAGICTOOL_MODE_DEFINEBYQUERY, queueArgs);158 PXOPT_ADD_MODE("-definebyquery", "", MAGICTOOL_MODE_DEFINEBYQUERY, definebyqueryArgs); 155 159 PXOPT_ADD_MODE("-definerun", "", MAGICTOOL_MODE_DEFINERUN, definerunArgs); 156 160 PXOPT_ADD_MODE("-updaterun", "", MAGICTOOL_MODE_UPDATERUN, updaterunArgs); -
branches/eam_branch_20080719/ippTools/src/pstamptool.c
r18622 r18923 250 250 251 251 psMetadata *where = psMetadataAlloc(); 252 PXOPT_COPY_STR(config->args, where, "- ds_id", "ds_id", "==");252 PXOPT_COPY_STR(config->args, where, "-req_id", "req_id", "=="); 253 253 254 254 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); … … 625 625 626 626 psMetadata *where = psMetadataAlloc(); 627 PXOPT_COPY_S64(config->args, where, "-cam_id", "cam_id", "=="); 628 627 628 PXOPT_COPY_S64(config->args, where, "-job_id", "job_id", "=="); 629 629 PXOPT_LOOKUP_U64(limit, config->args, "-limit", false, false); 630 630 PXOPT_LOOKUP_BOOL(simple, config->args, "-simple", false); -
branches/eam_branch_20080719/ippTools/src/pstamptoolConfig.c
r18561 r18923 119 119 // -pendingjob 120 120 psMetadata *pendingjobArgs = psMetadataAlloc(); 121 psMetadataAddS tr(pendingjobArgs, PS_LIST_TAIL, "-job_id", 0, "define job", NULL);121 psMetadataAddS64(pendingjobArgs, PS_LIST_TAIL, "-job_id", 0, "define job", 0); 122 122 psMetadataAddU64(pendingjobArgs, PS_LIST_TAIL, "-limit", 0, "limit result set to N items", 0); 123 123 psMetadataAddBool(pendingjobArgs, PS_LIST_TAIL, "-simple", 0, "use the simple output format", false); -
branches/eam_branch_20080719/ippTools/src/pxadmin.c
r18622 r18923 128 128 psString dbName = psMetadataLookupStr(&status, config->modules->complete, "DBNAME"); 129 129 130 fprintf (stdout, "*** delete the chip tables from database %s? ***\n", dbName); 131 fprintf (stdout, "*** to delete the tables, answer YES, and give password ***\n"); 132 fprintf (stdout, "*** WARNING: this action is permanent ***\n\n"); 133 134 fprintf (stdout, "delete the chip tables (YES/[n]): "); 135 fgets (line, 128, stdin); 136 sscanf (line, "%s", answer); 130 fprintf(stdout, "*** delete the tables from database %s? ***\n", dbName); 131 fprintf(stdout, "*** to delete the tables, answer YES, and give password ***\n"); 132 fprintf(stdout, "*** WARNING: this action is permanent ***\n\n"); 133 134 fprintf(stdout, "delete the tables (YES/[n]): "); 135 if (!fgets(line, 128, stdin)) { 136 psError(PS_ERR_IO, true, "Unable to read response."); 137 return false; 138 } 139 sscanf(line, "%s", answer); 137 140 if (strcmp (answer, "YES")) { 138 141 psError(PS_ERR_UNKNOWN, true, "tables NOT deleleted"); … … 140 143 } 141 144 142 fprintf (stdout, "enter dbh connection password: "); 143 fgets (line, 128, stdin); 144 sscanf (line, "%s", answer); 145 fprintf(stdout, "enter dbh connection password: "); 146 if (!fgets(line, 128, stdin)) { 147 psError(PS_ERR_IO, true, "Unable to read response."); 148 return false; 149 } 150 sscanf(line, "%s", answer); 145 151 146 152 psString dbPassword = psMetadataLookupStr(&status, config->modules->complete, "DBPASSWORD"); -
branches/eam_branch_20080719/ippTools/src/pxtree.c
r18622 r18923 88 88 ? node->parent->name 89 89 : NULL); 90 psListIterator *iter = psListIteratorAlloc(node->children, 0, false); 90 psListIterator *iter = psListIteratorAlloc(node->children, 0, false); 91 91 pxNode *child = NULL; 92 92 while ((child = psListGetAndIncrement(iter))) { … … 120 120 } 121 121 122 psListIterator *iter = psListIteratorAlloc(node->children, 0, false); 122 psListIterator *iter = psListIteratorAlloc(node->children, 0, false); 123 123 pxNode *child = NULL; 124 124 while ((child = psListGetAndIncrement(iter))) { … … 215 215 // get from a hashlookup 216 216 psFree(node); 217 } else if (!node->data) { 218 pxNodeAddData(node, data); 217 219 } 218 220 -
branches/eam_branch_20080719/ippTools/src/pzgetexp.c
r18622 r18923 74 74 PXOPT_LOOKUP_STR(uri, config->args, "-uri", true, false); 75 75 76 //optional 77 PXOPT_LOOKUP_S32(timeout, config->args, "-timeout", false, false); 78 PXOPT_LOOKUP_BOOL(all, config->args, "-all", false); 79 76 80 // find last fileset/exp_name (if we have one) 77 81 bool haveLastFileSet = false; 78 82 psString lastFileSet = NULL; 79 { 83 84 // -all means "request all known filesets" 85 if (!all) { 80 86 char *query = "SELECT * from summitExp WHERE camera = \"%s\" and TELESCOPE = \"%s\" ORDER BY dateobs DESC LIMIT 1"; 81 87 if (!p_psDBRunQuery(config->dbh, query, camera, telescope)) { … … 110 116 } else { 111 117 psStringAppend(&cmd, "%s --uri %s", PRODUCT_LS_CMD, uri); 118 } 119 if (timeout) { 120 psStringAppend(&cmd, " --timeout %d", timeout); 112 121 } 113 122 -
branches/eam_branch_20080719/ippTools/src/pzgetexpConfig.c
r18622 r18923 2 2 * pzgetexpConfig.c 3 3 * 4 * Copyright (C) 2006 Joshua Hoblitt4 * Copyright (C) 2006-2008 Joshua Hoblitt 5 5 * 6 6 * This program is free software; you can redistribute it and/or modify it … … 51 51 psMetadataAddStr(args , PS_LIST_TAIL, "-telescope", 0, 52 52 "telescope name (required)", ""); 53 psMetadataAddS32(args, PS_LIST_TAIL, "-timeout", 0, 54 "HTTP timeout", 0); 55 psMetadataAddBool(args, PS_LIST_TAIL, "-all", 0, 56 "download ALL filesets", 0); 57 53 58 54 59 bool status = false; … … 61 66 fprintf(stderr, "error parsing arguments\n"); 62 67 printf("\nPan-STARRS Phase Z Get Exposures Tool\n"); 63 printf("Usage: %s -uri <uri> -inst <camera> -telescope <telescope> \n\n",68 printf("Usage: %s -uri <uri> -inst <camera> -telescope <telescope> [-timeout <n>]\n\n", 64 69 argv[0]); 65 70 psArgumentHelp(args); -
branches/eam_branch_20080719/ippTools/src/stacktool.c
r18659 r18923 107 107 psMetadata *whereRE = psMetadataAlloc(); // rawExp where 108 108 psMetadata *whereWSF = psMetadataAlloc(); // warpSkyfile where 109 psMetadata *having = psMetadataAlloc(); // having109 psMetadata *having = psMetadataAlloc(); // HAVING clause 110 110 // map -inst -> camera, etc 111 111 PXOPT_COPY_STR(config->args, whereRE, "-select_inst", "camera", "=="); … … 128 128 129 129 PXOPT_COPY_STR(config->args, having, "-select_skycell_id", "skycell_id", "=="); 130 PXOPT_COPY_S32(config->args, having, "-min_num", "num_warp", ">="); 130 131 131 132 PXOPT_LOOKUP_S32(randomLimit, config->args, "-random", false, false); 132 133 133 PXOPT_COPY_S32(config->args, having, "-min_num", "num_warp", ">="); 134 PXOPT_COPY_S32(config->args, having, "-min_new", "(num_warp - num_stack)", ">="); 135 134 PXOPT_LOOKUP_S32(min_new, config->args, "-min_new", false, false); 136 135 PXOPT_LOOKUP_F32(min_frac, config->args, "-min_frac", false, false); 137 136 … … 178 177 psFree(groupby); 179 178 180 if (psListLength(having->list)) { 181 psString havingClause = psDBGenerateWhereConditionSQL(having, NULL); 182 psStringAppend(&select, " HAVING %s", havingClause); 183 psFree(havingClause); 184 } 185 186 // Gotta handle this one explicitly --- want to avoid divisions 187 if (isfinite(min_frac)) { 179 // Restriction on aggregated quantities using HAVING 180 { 181 psString havingClause = NULL; // HAVING string 188 182 if (psListLength(having->list)) { 189 psStringAppend(&select, " AND"); 190 } else { 191 psStringAppend(&select, " HAVING"); 192 } 193 psStringAppend(&select, " num_warp >= %f * num_stack", (double)min_frac); 194 } 195 183 havingClause = psDBGenerateWhereConditionSQL(having, NULL); 184 } 185 186 if (min_new > 0) { 187 if (havingClause) { 188 psStringAppend(&havingClause, " AND"); 189 } 190 psStringAppend(&havingClause, 191 " (num_warp - num_stack >= %d OR (num_warp >= %d AND num_stack IS NULL))", 192 min_new, min_new); 193 } 194 if (isfinite(min_frac)) { 195 if (havingClause) { 196 psStringAppend(&havingClause, " AND"); 197 } 198 // Avoiding division by zero 199 psStringAppend(&havingClause, " (num_warp >= %f * num_stack OR num_stack IS NULL)", 200 (double)min_frac); 201 } 202 if (havingClause) { 203 psStringAppend(&select, " HAVING %s", havingClause); 204 psFree(havingClause); 205 } 206 } 196 207 psFree(having); 208 197 209 198 210 if (!p_psDBRunQuery(config->dbh, select)) { … … 239 251 } 240 252 253 psArray *list = psArrayAllocEmpty(16); // List of runs, to print 241 254 for (long i = 0; i < output->n; i++) { 242 255 psMetadata *row = output->data[i]; // Row from select … … 249 262 psFree(output); 250 263 psFree(insert); 264 psFree(list); 251 265 if (!psDBRollback(config->dbh)) { 252 266 psError(PS_ERR_UNKNOWN, false, "database error"); … … 260 274 psFree(output); 261 275 psFree(insert); 276 psFree(list); 262 277 if (!psDBRollback(config->dbh)) { 263 278 psError(PS_ERR_UNKNOWN, false, "database error"); … … 271 286 psFree(output); 272 287 psFree(insert); 288 psFree(list); 273 289 if (!psDBRollback(config->dbh)) { 274 290 psError(PS_ERR_UNKNOWN, false, "database error"); … … 296 312 psFree(run); 297 313 psFree(insert); 314 psFree(list); 298 315 if (!psDBRollback(config->dbh)) { 299 316 psError(PS_ERR_UNKNOWN, false, "database error"); … … 306 323 run->stack_id = stack_id; 307 324 308 if (!stackRunPrintObject(stdout, run, !simple)) { 309 psError(PS_ERR_UNKNOWN, false, "failed to print object"); 310 psFree(run); 311 psFree(insert); 312 if (!psDBRollback(config->dbh)) { 313 psError(PS_ERR_UNKNOWN, false, "database error"); 314 } 315 return false; 316 } 325 psArrayAdd(list, list->n, run); 317 326 psFree(run); 318 327 … … 331 340 psFree(insert); 332 341 psFree(output); 342 psFree(list); 333 343 if (!psDBRollback(config->dbh)) { 334 344 psError(PS_ERR_UNKNOWN, false, "database error"); … … 338 348 psFree(thisInsert); 339 349 } 350 psFree(output); 340 351 341 352 if (!psDBCommit(config->dbh)) { 342 353 psError(PS_ERR_UNKNOWN, false, "database error"); 343 return false; 344 } 345 346 psFree(output); 354 psFree(list); 355 return false; 356 } 357 358 if (!stackRunPrintObjects(stdout, list, !simple)) { 359 psError(PS_ERR_UNKNOWN, false, "failed to print object"); 360 return false; 361 } 362 363 psFree(list); 347 364 348 365 return true;
Note:
See TracChangeset
for help on using the changeset viewer.
