IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Feb 6, 2013, 3:16:35 PM (13 years ago)
Author:
eugene
Message:

upgrade to ippToPsps (see doc/upgrade.txt): adds native dvo to mysql ingest operations, adds autogen configuration & installation, splits out global config information from new "skychunk" information (current region on the sky being processed), adds test suites

Location:
trunk/ippToPsps
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/ippToPsps

  • trunk/ippToPsps/jython

    • Property svn:ignore
      •  

        old new  
        11*.class
         2Makefile
         3Makefile.in
  • trunk/ippToPsps/jython/scratchdb.py

    r34638 r35097  
    1919    Constructor
    2020    '''
    21     def __init__(self, logger, config, dbName=None):
    22         super(ScratchDb, self).__init__(logger, config, "localdatabase", dbName)
     21    def __init__(self, logger, config, dbVersion, dbName=None):
     22
     23        # create gpc1 database objects
     24        if (config.test):
     25            dbType = "localdatabase_test"
     26        else:
     27            dbType = "localdatabase"
     28
     29        if not dbName:
     30            dbName = config.getDbName(dbType)
     31            dbName += dbVersion
     32
     33        super(ScratchDb, self).__init__(logger, config, dbType, dbName)
    2334
    2435        self.dvoDoneTable = "dvoDone"
     
    340351            rs.first()
    341352            if rs.getInt(1) < 50:
     353                # print "bad astromety"
    342354                self.logger.debug("Bad astrometric solution for",  ota)
    343355                return False
    344356            else:
     357                # print "good astromety"
    345358                return True
    346359        except:
     360            # print "query failed"
    347361            self.logger.debug("Unable to check astrometric solution")
     362            return False
    348363
    349364        return True
     
    355370    def createDvoTables(self):
    356371   
     372        dvoImagesTable = "dvoImages"
     373        dvoDetectionTable = "dvoDetections"
     374
    357375        # drop and create Images table
    358         self.logger.debugPair("Creating DVO table", self.dvoImagesTable)
    359         sql = "DROP TABLE " + self.dvoImagesTable
     376        self.logger.debugPair("Creating DVO table", dvoImagesTable)
     377        sql = "DROP TABLE " + dvoImagesTable
     378
    360379        try: self.execute(sql)
    361380        except: pass
    362381       
    363         sql = "CREATE TABLE " + self.dvoImagesTable + " ( \
     382        sql = "CREATE TABLE " + dvoImagesTable + " ( \
    364383               SOURCE_ID SMALLINT, \
    365384               IMAGE_ID INT, \
     
    375394
    376395        # now detection table
    377         self.logger.debugPair("Creating DVO table", self.dvoDetectionTable)
    378         sql = "DROP TABLE " + self.dvoDetectionTable
     396        self.logger.debugPair("Creating DVO table", dvoDetectionTable)
     397        sql = "DROP TABLE " + dvoDetectionTable
    379398        try: self.execute(sql)
    380399        except: pass
     
    396415               raErr REAL, \
    397416               decErr REAL, \
    398                PRIMARY KEY (imageID, ippDetectID) \
    399                )"
     417               PRIMARY KEY (imageID, ippDetectID), \
     418               KEY (objID, detectID) \
     419             )"
    400420
    401421        try: self.execute(sql)
    402422        except:
    403423            self.logger.error("Unable to create DVO detection database table")
    404         self.makeColumnUnique("dvoDetection", "objID")
     424
     425        # XXX EAM : for the parallel mode, dvoDetection requires duplicate objID values!
     426        # self.makeColumnUnique("dvoDetection", "objID")
    405427
    406428    '''
     
    479501       self.createIndex(self.dvoDetectionTable, "fileID")
    480502
    481        # now add a delete cascading foreign key constraint on fileID
    482        sql = "ALTER TABLE dvoDetectionFull \
     503       # XXX : this should be based on choice of useStilts (which is set in dvo.py and must be moved)
     504       if (False):
     505           # now add a delete cascading foreign key constraint on fileID
     506           sql = "ALTER TABLE dvoDetectionFull \
    483507              ADD CONSTRAINT fk_fileID \
    484508              FOREIGN KEY (fileID) \
    485509              REFERENCES dvoDone(id) \
    486510              ON DELETE CASCADE"
    487        try: self.execute(sql)
    488        except:
    489            self.logger.errorPair("Unable to create foreign key on", self.dvoDoneTable)
    490            return False
     511           try: self.execute(sql)
     512           except:
     513               self.logger.errorPair("Unable to create foreign key on", self.dvoDoneTable)
     514               return False
    491515
    492516       return True
Note: See TracChangeset for help on using the changeset viewer.