- Timestamp:
- Mar 13, 2012, 10:06:25 AM (14 years ago)
- File:
-
- 1 edited
-
trunk/ippToPsps/jython/scratchdb.py (modified) (4 diffs)
Legend:
- Unmodified
- Added
- Removed
-
trunk/ippToPsps/jython/scratchdb.py
r33432 r33492 424 424 continue 425 425 426 sql = "DELETE FROM " + self.dvoDetectionTable + " WHERE fileID = " + str(fileId)427 try: self.execute(sql)428 except:429 self.logger.errorPair("Unable to delete from " + self.dvoDetectionTable, "for file ID: %d" % fileId)430 return False431 432 426 sql = "DELETE FROM " + self.dvoDoneTable + " WHERE region = '" + region + "'" 433 427 try: self.execute(sql) … … 444 438 445 439 ''' 446 Drops DVO stuff pertaining to detections 447 ''' 448 def resetDvoDetectionTables(self): 449 450 self.logger.infoPair("Deleting detections from", self.dvoDoneTable) 451 sql = "DELETE FROM " + self.dvoDoneTable + " WHERE path LIKE '%cpm' OR path LIKE '%cpt'" 440 Drops and recreates tables necessary for dvoToMySQL program. Be very careful before using this... 441 ''' 442 def resetAllDvoTables(self): 443 444 # drop all dvo tables - NB detections have to be deleted prior to dvoDone due to foreign key constraint 445 self.logger.infoPair("Dropping table", self.dvoImagesTable) 446 self.dropTable(self.dvoImagesTable) 447 self.logger.infoPair("Dropping table", self.dvoSkyTable) 448 self.dropTable(self.dvoSkyTable) 449 self.logger.infoPair("Dropping table", self.dvoDetectionTable) 450 self.dropTable(self.dvoDetectionTable) 451 self.logger.infoPair("Dropping table", self.dvoDoneTable) 452 self.dropTable(self.dvoDoneTable) 453 454 # create dvoDone table 455 self.logger.infoPair("Creating table", self.dvoDoneTable) 456 sql = "CREATE TABLE " + self.dvoDoneTable + " (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, region VARCHAR(100), path VARCHAR(1000), modifiedDate BIGINT, size BIGINT)" 452 457 try: self.execute(sql) 453 458 except: 454 self.logger.errorPair("Unable to delete from", self.dvoDoneTable)459 self.logger.errorPair("Unable to create table", self.dvoDoneTable) 455 460 return False 456 461 457 self. logger.infoPair("Dropping table", self.dvoDetectionTable)458 self.dropTable(self.dvoDetectionTable) 459 462 self.changeEngineToInnoDB(self.dvoDoneTable) 463 464 # create detections table 460 465 self.logger.infoPair("Creating table", self.dvoDetectionTable) 461 466 sql = "CREATE TABLE " + self.dvoDetectionTable + " LIKE dvoDetection" … … 464 469 self.logger.errorPair("Unable to create table", self.dvoDetectionTable) 465 470 return False 466 467 # TODO 471 self.changeEngineToInnoDB(self.dvoDetectionTable) 472 473 # add fileID column 468 474 sql = "ALTER TABLE " + self.dvoDetectionTable + " ADD fileID INT NOT NULL" 469 475 try: self.execute(sql) … … 472 478 return False 473 479 474 ''' 475 Drops and recreates tables necessary for dvoToMySQL program. Be very careful before using this... 476 ''' 477 def resetAllDvoTables(self): 478 479 self.logger.infoPair("Dropping table", self.dvoImagesTable) 480 self.dropTable(self.dvoImagesTable) 481 self.logger.infoPair("Dropping table", self.dvoSkyTable) 482 self.dropTable(self.dvoSkyTable) 483 self.logger.infoPair("Dropping table", self.dvoDoneTable) 484 self.dropTable(self.dvoDoneTable) 485 486 # create dvoDone table 487 self.logger.infoPair("Creating table", self.dvoDoneTable ) 488 sql = "CREATE TABLE " + self.dvoDoneTable + " (id INT NOT NULL AUTO_INCREMENT PRIMARY KEY, region VARCHAR(100), path VARCHAR(1000), modifiedDate BIGINT, size BIGINT)" 480 # add an index to the fileID column 481 self.createIndex(self.dvoDetectionTable, "fileID") 482 483 # now add a delete cascading foreign key constraint on fileID 484 sql = "ALTER TABLE dvoDetectionFull \ 485 ADD CONSTRAINT fk_fileID \ 486 FOREIGN KEY (fileID) \ 487 REFERENCES dvoDone(id) \ 488 ON DELETE CASCADE" 489 489 try: self.execute(sql) 490 except: self.logger.errorPair("Unable to create table", self.dvoDoneTable) 491 492 self.resetDvoDetectionTables() 490 except: 491 self.logger.errorPair("Unable to create foreign key on", self.dvoDoneTable) 492 return False 493 494 return True 493 495 494 496 '''
Note:
See TracChangeset
for help on using the changeset viewer.
