IPP Software Navigation Tools IPP Links Communication Pan-STARRS Links

Ignore:
Timestamp:
Jan 31, 2013, 4:13:09 PM (13 years ago)
Author:
eugene
Message:

split out config (static info) and skychunk (area being processed)

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/eam_branches/ipp-20121219/ippToPsps/jython/ipptopspsdb.py

    r35063 r35076  
    1717    Constructor
    1818    '''
    19     def __init__(self, logger, config):
     19    def __init__(self, logger, config, skychunk):
    2020        if (config.test):
    2121            dbType = "ipptopspsdatabase_test"
     
    2424        super(IppToPspsDb, self).__init__(logger, config, dbType)
    2525
     26        self.skychunk = skychunk
     27
    2628        self.MAX_FAILS = 5
    2729
     
    3335        sql = "SELECT DISTINCT batch_id \
    3436               FROM batch \
    35                WHERE timestamp > '" + self.config.epoch + "' \
     37               WHERE timestamp > '" + self.skychunk.epoch + "' \
    3638               AND batch_type = '" + batchType + "' \
    37                AND dvo_db = '" + self.config.dvoLabel + "' \
     39               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    3840               AND merged = 1 \
    3941               AND " + column + " = 0"
     
    5860        sql = "SELECT DISTINCT batch_id \
    5961               FROM batch \
    60                WHERE timestamp > '" + self.config.epoch + "' \
     62               WHERE timestamp > '" + self.skychunk.epoch + "' \
    6163               AND batch_type = '" + batchType + "' \
    62                AND dvo_db = '" + self.config.dvoLabel + "' \
     64               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    6365               AND purged = 1 \
    6466               AND " + column + " = 0"
     
    8486        sql = "SELECT DISTINCT batch_id \
    8587               FROM batch \
    86                WHERE timestamp > '" + self.config.epoch + "' \
     88               WHERE timestamp > '" + self.skychunk.epoch + "' \
    8789               AND batch_type = '" + batchType + "' \
    88                AND dvo_db = '" + self.config.dvoLabel + "' \
     90               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    8991               AND (loaded_to_ODM = -1 OR merge_worthy = 1) \
    9092               AND " + column + " = 0"
     
    152154        sql = "SELECT DISTINCT batch_id \
    153155               FROM batch \
    154                WHERE timestamp > '" + self.config.epoch + "' \
     156               WHERE timestamp > '" + self.skychunk.epoch + "' \
    155157               AND batch_type = '" + batchType + "' \
    156                AND dvo_db = '" + self.config.dvoLabel + "' \
     158               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    157159               AND processed = 1\
    158160               AND loaded_to_datastore != 1 \
     
    181183        sql = "SELECT batch_id \
    182184               FROM batch \
    183                WHERE timestamp > '" + self.config.epoch + "' \
    184                AND dvo_db = '" + self.config.dvoLabel + "' \
     185               WHERE timestamp > '" + self.skychunk.epoch + "' \
     186               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    185187               AND loaded_to_datastore = 1 \
    186188               AND batch_type = '" + batchType + "' \
     
    210212        sql = "SELECT batch_id \
    211213               FROM batch \
    212                WHERE timestamp > '" + self.config.epoch + "' \
    213                AND dvo_db = '" + self.config.dvoLabel + "' \
     214               WHERE timestamp > '" + self.skychunk.epoch + "' \
     215               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    214216               AND loaded_to_datastore = 1 \
    215217               AND batch_type = '" + batchType + "' \
     
    239241        sql = "SELECT batch_id \
    240242               FROM batch \
    241                WHERE timestamp > '" + self.config.epoch + "' \
    242                AND dvo_db = '" + self.config.dvoLabel + "' \
     243               WHERE timestamp > '" + self.skychunk.epoch + "' \
     244               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    243245               AND merge_worthy = 1 \
    244246               AND batch_type = '" + batchType + "' \
     
    266268        sql = "SELECT DISTINCT batch_id \
    267269               FROM batch \
    268                WHERE timestamp > '" + self.config.epoch + "' \
    269                AND dvo_db = '" + self.config.dvoLabel + "' \
     270               WHERE timestamp > '" + self.skychunk.epoch + "' \
     271               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    270272               AND " + column + " = " + str(value)
    271273
     
    292294               FROM batch \
    293295               WHERE batch_type = '" + batchType + "' \
    294                AND timestamp > '" + self.config.epoch + "' \
    295                AND dvo_db = '" + self.config.dvoLabel + "' \
     296               AND timestamp > '" + self.skychunk.epoch + "' \
     297               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    296298               AND processed = 1 \
    297299               AND loaded_to_datastore = 1 \
     
    319321               FROM batch \
    320322               WHERE batch_type = '" + batchType + "' \
    321                AND timestamp > '" + self.config.epoch + "' \
    322                AND dvo_db = '" + self.config.dvoLabel + "' \
     323               AND timestamp > '" + self.skychunk.epoch + "' \
     324               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    323325               AND " + column + " = " + str(value)
    324326
     
    391393               WHERE batch_type = '" + batchType + "' \
    392394               AND processed = 1 \
    393                AND timestamp > '" + self.config.epoch + "' \
    394                AND dvo_db = '" + self.config.dvoLabel + "' \
     395               AND timestamp > '" + self.skychunk.epoch + "' \
     396               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    395397               AND timestamp BETWEEN now() - INTERVAL " + interval + " AND now()"
    396398
     
    416418               WHERE batch_type = '" + batchType + "' \
    417419               AND loaded_to_datastore = 1 \
    418                AND timestamp > '" + self.config.epoch + "' \
    419                AND dvo_db = '" + self.config.dvoLabel + "' \
     420               AND timestamp > '" + self.skychunk.epoch + "' \
     421               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    420422               ORDER BY timestamp DESC LIMIT 1"
    421423
     
    515517               WHERE stage_id = " + str(stage_id) + " \
    516518               AND batch_type = '" + batchType + "' \
    517                AND dvo_db = '" + self.config.dvoLabel + "' \
     519               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    518520               AND batch_type != 'IN' \
    519521               AND timestamp BETWEEN now() - INTERVAL 12 HOUR AND now()"
     
    558560               WHERE stage_id = " + str(stage_id) + " \
    559561               AND batch_type = '" + batchType + "' \
    560                AND timestamp > '" + self.config.epoch + "' \
    561                AND dvo_db = '" + self.config.dvoLabel + "' \
     562               AND timestamp > '" + self.skychunk.epoch + "' \
     563               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    562564               AND batch_type != 'IN' \
    563565               AND processed = 1"
     
    583585               WHERE stage_id = " + str(stage_id) + " \
    584586               AND batch_type = '" + batchType + "' \
    585                AND timestamp > '" + self.config.epoch + "' \
    586                AND dvo_db = '" + self.config.dvoLabel + "' \
     587               AND timestamp > '" + self.skychunk.epoch + "' \
     588               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    587589               AND processed = -1"
    588590
     
    606608               FROM batch \
    607609               WHERE batch_type = '" + batchType + "' \
    608                AND timestamp > '" + self.config.epoch + "' \
    609                AND dvo_db = '" + self.config.dvoLabel + "' \
     610               AND timestamp > '" + self.skychunk.epoch + "' \
     611               AND dvo_db = '" + self.skychunk.dvoLabel + "' \
    610612               AND processed = -1 \
    611613               GROUP BY stage_id HAVING numoccur >= " + str(self.MAX_FAILS)
     
    638640        batchID = -1;
    639641
    640         if self.config.force or \
     642        if self.skychunk.force or \
    641643            (not self.alreadyProcessed(batchType, stageID) \
    642644            and not self.processingNow(batchType, stageID) \
     
    654656                       '" + batchType + "', \
    655657                       " + str(stageID) + ", \
    656                        '" + self.config.survey + "', \
    657                        '" + self.config.dvoLabel + "', \
    658                        '" + self.config.datastoreProduct + "' \
     658                       '" + self.skychunk.survey + "', \
     659                       '" + self.skychunk.dvoLabel + "', \
     660                       '" + self.skychunk.datastoreProduct + "' \
    659661                       )"
    660662            self.logger.infoPair("heather:","sql")
     
    753755
    754756    '''
    755     Sets the config field for this client
    756     '''
    757     def setConfigForThisClient(self, config, host, pid):
    758 
    759         self.execute("UPDATE clients SET config = '" + config + "' \
     757    Sets the skychunk field for this client
     758    '''
     759    def setSkychunkForThisClient(self, skychunk, host, pid):
     760
     761        self.execute("UPDATE clients SET skychunk = '" + skychunk + "' \
    760762                WHERE host = '" + host + "' \
    761763                AND pid = " + str(pid))
    762764
    763765    '''
    764     Sets the config field for a set of loader clients
    765     '''
    766     def setConfigForLoaders(self, config, ids):
     766    Sets the skychunk field for a set of loader clients
     767    '''
     768    def setSkychunkForLoaders(self, skychunk, ids):
    767769
    768770        for id in ids:
    769             self.execute("UPDATE clients SET config = '" + config + "' \
     771            self.execute("UPDATE clients SET skychunk = '" + skychunk + "' \
    770772                    WHERE type = 'loader.py' \
    771773                    AND id = " + str(id))
     
    801803    '''
    802804    def insertClient(self, type, host, pid):
    803         self.execute("INSERT INTO clients (timestamp, type, host, pid, config) VALUES (now(), '" + type + "', '" + host + "', " + str(pid) + ", '" + self.config.name + "')")
     805        self.execute("INSERT INTO clients (timestamp, type, host, pid, skychunk) VALUES (now(), '" + type + "', '" + host + "', " + str(pid) + ", '" + self.skychunk.name + "')")
    804806
    805807    '''
     
    845847
    846848    '''
    847     Returns a list of available configs
    848     '''
    849     def getActiveConfigList(self):
     849    Returns a list of available skychunks
     850    '''
     851    def getActiveSkychunkList(self):
    850852       
    851         sql = "SELECT DISTINCT name FROM config WHERE active = 1 ORDER BY name"
    852 
    853         configs = []
    854         try:
    855             rs = self.executeQuery(sql)
    856             while (rs.next()): configs.append(rs.getString(1))
    857         except:
    858             self.logger.errorPair("Can't get config names", sql)
     853        sql = "SELECT DISTINCT name FROM skychunk WHERE active = 1 ORDER BY name"
     854
     855        skychunks = []
     856        try:
     857            rs = self.executeQuery(sql)
     858            while (rs.next()): skychunks.append(rs.getString(1))
     859        except:
     860            self.logger.errorPair("Can't get skychunk names", sql)
    859861        finally:
    860862            rs.close()
    861863
    862         return configs
    863 
    864     '''
    865     Prompts user for info about a new or existing config and lets them neter the various details
    866     '''
    867     def editConfig(self):
     864        return skychunks
     865
     866    '''
     867    Prompts user for info about a new or existing skychunk and lets them neter the various details
     868    '''
     869    def editSkychunk(self):
    868870
    869871       print " ********************************************************************"
    870        print " *              Config editor"
     872       print " *              Skychunk editor"
    871873       print " *"
    872        response = raw_input(" * Name for new config, or existing config to edit? ")
     874       response = raw_input(" * Name for new skychunk, or existing skychunk to edit? ")
    873875       if response == "": return
    874        self.config.name = response
    875 
    876        # attempt to insert new config, if it already exists then carry on with update
    877        sql = "INSERT INTO config (name) VALUES ('" + self.config.name + "')"
     876       self.skychunk.name = response
     877
     878       # attempt to insert new skychunk, if it already exists then carry on with update
     879       sql = "INSERT INTO skychunk (name) VALUES ('" + self.skychunk.name + "')"
    878880       try:       
    879881           self.execute(sql)
    880882       except: pass
    881883
    882        # for each column in the config table
    883        sql = "SHOW COLUMNS FROM config"
     884       # for each column in the skychunk table
     885       sql = "SHOW COLUMNS FROM skychunk"
    884886       rs = self.executeQuery(sql)
    885887       while (rs.next()):
     
    895897           # get current value for this field, if any
    896898           try:
    897                rs2 = self.executeQuery("SELECT " + field + " FROM config WHERE name = '" + self.config.name + "'")
     899               rs2 = self.executeQuery("SELECT " + field + " FROM skychunk WHERE name = '" + self.skychunk.name + "'")
    898900               rs2.first()
    899901               default = rs2.getString(1)
     
    912914               if type.find("varchar") != -1 or type.find("timestamp") != -1: quotes = "'"
    913915               else: quotes = ""
    914                self.execute("UPDATE config SET " + field + " = " + quotes + response + quotes + " WHERE name = '" + self.config.name + "'")
     916               self.execute("UPDATE skychunk SET " + field + " = " + quotes + response + quotes + " WHERE name = '" + self.skychunk.name + "'")
    915917       
    916918       print " *"
     
    918920
    919921    '''
    920     Returns config for this client
    921     '''
    922     def getConfigForThisClient(self, host, pid):
    923 
    924         sql = "SELECT config \
     922    Returns skychunk for this client
     923    '''
     924    def getSkychunkForThisClient(self, host, pid):
     925
     926        sql = "SELECT skychunk \
    925927               FROM clients \
    926928               WHERE host = '" + host + "' \
     
    930932            rs = self.executeQuery(sql)
    931933            rs.first()
    932             self.config.name = rs.getString(1)
    933         except:
    934             self.logger.errorPair("No config set for", "%s (pid=%d)" % (host, pid))
    935             self.config.isLoaded = False
     934            self.skychunk.name = rs.getString(1)
     935        except:
     936            self.logger.errorPair("No skychunk set for", "%s (pid=%d)" % (host, pid))
     937            self.skychunk.isLoaded = False
    936938            return False
    937939
     
    939941
    940942    '''
    941     Reads config from the database and populates Config object
    942     '''
    943     def readConfig(self, host, pid):
    944 
    945         # first get config defined for this client
    946         if not self.getConfigForThisClient(host, pid): return False
    947 
    948         # now load that config
     943    Reads skychunk from the database and populates Skychunk object
     944    '''
     945    def readSkychunk(self, host, pid):
     946
     947        # first get skychunk defined for this client
     948        if not self.getSkychunkForThisClient(host, pid): return False
     949
     950        # now load that skychunk
    949951        sql = "SELECT \
    950952        datastore_product \
     
    970972        ,queue_OB \
    971973        ,parallel \
    972         FROM config \
    973         WHERE name = '" + self.config.name + "'"
    974 
    975         self.config.batchTypes = []
     974        FROM skychunk \
     975        WHERE name = '" + self.skychunk.name + "'"
     976
     977        self.skychunk.batchTypes = []
    976978        try:
    977979            rs = self.executeQuery(sql)
    978980
    979981            rs.first()
    980             self.config.datastoreProduct = rs.getString(1)
    981             self.config.datastoreType = rs.getString(2)
    982             if rs.getInt(3) == 1: self.config.datastorePublishing = True
    983             else: self.config.datastorePublishing = False
    984             self.config.dvoLabel = rs.getString(4)
     982            self.skychunk.datastoreProduct = rs.getString(1)
     983            self.skychunk.datastoreType = rs.getString(2)
     984            if rs.getInt(3) == 1: self.skychunk.datastorePublishing = True
     985            else: self.skychunk.datastorePublishing = False
     986            self.skychunk.dvoLabel = rs.getString(4)
    985987
    986988            # if dvoLabel is null is can break queries, so set to something
    987             if not self.config.dvoLabel: self.config.dvoLabel = "none"
    988             self.config.dvoLocation = rs.getString(5)
    989             self.config.minRa = rs.getDouble(6)
    990             self.config.maxRa = rs.getDouble(7)
    991             self.config.minDec = rs.getDouble(8)
    992             self.config.maxDec = rs.getDouble(9)
    993 
    994             self.config.boxSize = rs.getDouble(10)
    995             self.config.halfBox = self.config.boxSize/2.0
    996             self.config.boxSizeWithBorder = self.config.boxSize + (self.config.BORDER * 2)
    997 
    998             self.config.basePath = rs.getString(11)
    999             self.config.dataRelease = rs.getInt(12)
    1000 
    1001             self.config.deleteLocal = rs.getInt(13)
    1002             self.config.deleteDatastore = rs.getInt(14)
    1003             self.config.deleteDxLayer = rs.getInt(15)
    1004 
    1005             self.config.epoch = rs.getString(16)
    1006 
    1007             self.config.survey = rs.getString(17)
    1008             self.config.pspsSurvey = rs.getString(18)
    1009 
    1010             if rs.getInt(19) == 1: self.config.batchTypes.append("P2")
    1011             if rs.getInt(20) == 1: self.config.batchTypes.append("ST")
    1012             if rs.getInt(21) == 1: self.config.batchTypes.append("OB")
    1013 
    1014             self.config.force = True # TODO
    1015             self.config.parallel = False # TODO
    1016 
    1017             if rs.getInt(22) == 1: self.config.parallel = True
    1018 
    1019             if self.config.parallel: print "USING parallel"
    1020             self.config.isLoaded = True
    1021         except:
    1022             self.logger.errorPair("Could not read config with name", self.config.name)
    1023             self.config.isLoaded = False
    1024 
    1025         return self.config.isLoaded
     989            if not self.skychunk.dvoLabel: self.skychunk.dvoLabel = "none"
     990            self.skychunk.dvoLocation = rs.getString(5)
     991            self.skychunk.minRa = rs.getDouble(6)
     992            self.skychunk.maxRa = rs.getDouble(7)
     993            self.skychunk.minDec = rs.getDouble(8)
     994            self.skychunk.maxDec = rs.getDouble(9)
     995
     996            self.skychunk.boxSize = rs.getDouble(10)
     997            self.skychunk.halfBox = self.skychunk.boxSize/2.0
     998            self.skychunk.boxSizeWithBorder = self.skychunk.boxSize + (self.skychunk.BORDER * 2)
     999
     1000            self.skychunk.basePath = rs.getString(11)
     1001            self.skychunk.dataRelease = rs.getInt(12)
     1002
     1003            self.skychunk.deleteLocal = rs.getInt(13)
     1004            self.skychunk.deleteDatastore = rs.getInt(14)
     1005            self.skychunk.deleteDxLayer = rs.getInt(15)
     1006
     1007            self.skychunk.epoch = rs.getString(16)
     1008
     1009            self.skychunk.survey = rs.getString(17)
     1010            self.skychunk.pspsSurvey = rs.getString(18)
     1011
     1012            if rs.getInt(19) == 1: self.skychunk.batchTypes.append("P2")
     1013            if rs.getInt(20) == 1: self.skychunk.batchTypes.append("ST")
     1014            if rs.getInt(21) == 1: self.skychunk.batchTypes.append("OB")
     1015
     1016            self.skychunk.force = True # TODO
     1017            self.skychunk.parallel = False # TODO
     1018
     1019            if rs.getInt(22) == 1: self.skychunk.parallel = True
     1020
     1021            if self.skychunk.parallel: print "USING parallel"
     1022            self.skychunk.isLoaded = True
     1023        except:
     1024            self.logger.errorPair("Could not read skychunk with name", self.skychunk.name)
     1025            self.skychunk.isLoaded = False
     1026
     1027        return self.skychunk.isLoaded
    10261028
    10271029    '''
     
    10311033
    10321034        sql = "SELECT id FROM box \
    1033                WHERE config  = '" + self.config.name + "' \
     1035               WHERE skychunk  = '" + self.skychunk.name + "' \
    10341036               AND ra_center = " + str(ra) + " \
    10351037               AND dec_center = " + str(dec) + " \
    1036                AND box_side = " + str(self.config.boxSize)
     1038               AND box_side = " + str(self.skychunk.boxSize)
    10371039
    10381040        id = -1
     
    10501052    '''
    10511053    def removeAllBoxes(self):
    1052         self.execute("DELETE FROM box WHERE config = '" + self.config.name + "'")
     1054        self.execute("DELETE FROM box WHERE skychunk = '" + self.skychunk.name + "'")
    10531055
    10541056    '''
     
    10631065
    10641066            sql = "INSERT INTO box \
    1065                    (config, ra_center, dec_center, box_side) \
     1067                   (skychunk, ra_center, dec_center, box_side) \
    10661068                   VALUES \
    1067                    ('" + self.config.name + "', " + str(ra) + ", " + str(dec) + ", " + str(self.config.boxSize) + ")"
     1069                   ('" + self.skychunk.name + "', " + str(ra) + ", " + str(dec) + ", " + str(self.skychunk.boxSize) + ")"
    10681070
    10691071            self.execute(sql)
     
    11041106               FROM box \
    11051107               JOIN pending ON (id = box_id) \
    1106                WHERE config = '" + self.config.name + "' \
     1108               WHERE skychunk = '" + self.skychunk.name + "' \
    11071109               AND batch_type = '" + batchType + "' \
    11081110               AND ra_center NOT IN \
    11091111               (SELECT ra_center \
    11101112                FROM stripe \
    1111                 WHERE config = '" + self.config.name + "') \
     1113                WHERE skychunk = '" + self.skychunk.name + "') \
    11121114               GROUP BY ra_center LIMIT 1"
    11131115
     
    11241126                   FROM box \
    11251127                   JOIN pending ON (id = box_id) \
    1126                    WHERE config = '" + self.config.name + "' \
     1128                   WHERE skychunk = '" + self.skychunk.name + "' \
    11271129                   AND batch_type = '" + batchType + "' \
    11281130                   GROUP BY ra_center \
     
    11441146               WHERE ra_center = " + str(raCenter) + " \
    11451147               AND batch_type = '" + batchType + "' \
    1146                AND config = '" + self.config.name + "' \
     1148               AND skychunk = '" + self.skychunk.name + "' \
    11471149               ORDER BY dec_center DESC"
    11481150
     
    11771179        # now insert new stripe entry
    11781180        sql = "INSERT INTO stripe \
    1179                (client_id, config, ra_center) \
    1180                SELECT clients.id, clients.config, " + str(raCenter) + " \
     1181               (client_id, skychunk, ra_center) \
     1182               SELECT clients.id, clients.skychunk, " + str(raCenter) + " \
    11811183               FROM clients \
    11821184               WHERE host = '" + host + "' \
     
    12061208
    12071209    '''
    1208     Returns ids for pending items for this config
     1210    Returns ids for pending items for this skychunk
    12091211    '''
    12101212    def getPendingIds(self, batchType):
     
    12131215               FROM pending \
    12141216               JOIN box ON (box_id = id) \
    1215                WHERE config = '" + self.config.name + "' \
     1217               WHERE skychunk = '" + self.skychunk.name + "' \
    12161218               AND batch_type = '" + batchType + "'"
    12171219
     
    12221224            rs.close()
    12231225        except:
    1224             self.logger.errorPair("Can't get pending ids for this config", sql)
     1226            self.logger.errorPair("Can't get pending ids for this skychunk", sql)
    12251227
    12261228        return ids
     
    12531255               WHERE stage_id = " + str(stageID) + " \
    12541256               AND batch_type = '" + batchType + "' \
    1255                AND config = '" + self.config.name + "'"
     1257               AND skychunk = '" + self.skychunk.name + "'"
    12561258
    12571259        self.execute(sql)
    12581260
    12591261    '''
    1260     Writes density-plot data to file for pending stuff over sky for given config
     1262    Writes density-plot data to file for pending stuff over sky for given skychunk
    12611263    '''
    12621264    def createPendingDensityPlotData(self, batchType, DATFILE):
     
    12641266        sql = "SELECT id, ra_center, dec_center \
    12651267               FROM box \
    1266                WHERE config = '" + self.config.name + "' \
     1268               WHERE skychunk = '" + self.skychunk.name + "' \
    12671269               ORDER BY ra_center, dec_center"
    12681270
     
    13171319    def getItemsInThisThisBox(self, ra, dec):
    13181320
    1319         halfSide = self.config.boxSize/2.0
     1321        halfSide = self.skychunk.boxSize/2.0
    13201322        minRa =  ra-halfSide
    13211323        maxRa = ra+halfSide
     
    13461348               FROM stripe \
    13471349               JOIN clients ON (client_id = id) \
    1348                WHERE clients.config = '" + self.config.name + "' \
     1350               WHERE clients.skychunk = '" + self.skychunk.name + "' \
    13491351               ORDER BY host, started"
    13501352
Note: See TracChangeset for help on using the changeset viewer.