Exemple #1
0
    def pythonParallelization(self):
        connection = self.getConnection()
        cursor = connection.cursor()
        colsDict = self.getColumnNamesDict(False)

        if self.parallelType == 'cand':
            idsQuery = "SELECT " + self.getParallelHint(
            ) + " BLK_ID FROM " + self.blockTable + ", " + self.queryTable + " WHERE SDO_FILTER(BLK_EXTENT,GEOM) = 'TRUE' AND id = " + str(
                self.queryIndex)
            (eTime, result) = dbops.genericQueryParallelCand(
                cursor, self.qp.queryMethod, oracleops.mogrifyExecute,
                self.qp.columns, colsDict, self.qp.statistics,
                self.resultTable, idsQuery, None,
                self.runGenericQueryParallelCandChild, self.numProcessesQuery,
                oracleops.createSQLFile, oracleops.executeSQLFileCount,
                self.getConnectionString(False))
            #returnDict[queryId] = self.genericQueryParallelCand()
        elif self.parallelType in ('grid', 'griddis'):
            #            q = 'SELECT count(*) FROM ' + self.blockTable + ', ' + self.queryTable + ' WHERE id = ' + str(self.queryIndex) + " AND SDO_ANYINTERACT(blk_extent, geom) = 'TRUE'"
            #            oracleops.mogrifyExecute(cursor, q)
            #            print self.queryIndex, 'TOUCHED_BLOCKS TOTAL   ', cursor.fetchone()[0]

            gridTable = ('query_grid_' + str(self.queryIndex)).upper()
            oracleops.dropTable(cursor, gridTable, True)
            (eTime, result) = dbops.genericQueryParallelGrid(
                cursor, self.qp.queryMethod, oracleops.mogrifyExecute,
                self.qp.columns, colsDict, self.qp.statistics,
                self.resultTable, gridTable, self.createGridTableMethod,
                self.runGenericQueryParallelGridChild, self.numProcessesQuery,
                (self.parallelType == 'griddis'), oracleops.createSQLFile,
                oracleops.executeSQLFileCount, self.getConnectionString(False))

        connection.close()
        return (eTime, result)
Exemple #2
0
 def pythonParallelization(self):
     connection = self.getConnection()
     cursor = connection.cursor()
     if self.parallelType == 'cand':
         idsQuery = "SELECT " + self.blockTable + ".id FROM " + self.blockTable + ", (SELECT geom FROM " + self.queryTable + " WHERE id = %s) A WHERE pc_intersects(pa,geom)"
         idsQueryArgs = [
             self.queryIndex,
         ]
         (eTime, result) = dbops.genericQueryParallelCand(
             cursor, self.qp.queryMethod, postgresops.mogrifyExecute,
             self.qp.columns, self.DM_FLAT, self.qp.statistics,
             self.resultTable, idsQuery, idsQueryArgs,
             self.runGenericQueryParallelCandChild, self.numProcessesQuery,
             postgresops.createSQLFile, postgresops.executeSQLFileCount,
             self.getConnectionString(False, True))
     else:
         gridTable = 'query_grid_' + str(self.queryIndex)
         postgresops.dropTable(cursor, gridTable, True)
         (eTime, result) = dbops.genericQueryParallelGrid(
             cursor, self.qp.queryMethod, postgresops.mogrifyExecute,
             self.qp.columns, self.DM_FLAT, self.qp.statistics,
             self.resultTable, gridTable, self.createGridTableMethod,
             self.runGenericQueryParallelGridChild, self.numProcessesQuery,
             (self.parallelType == 'griddis'), postgresops.createSQLFile,
             postgresops.executeSQLFileCount,
             self.getConnectionString(False, True))
     connection.close()
     return (eTime, result)
    def pythonParallelization(self):
        connection = self.getConnection()
        cursor = connection.cursor()
        colsDict = self.getColumnNamesDict(False)

        if self.parallelType == 'cand':
            idsQuery = "SELECT " + self.getParallelHint() + " BLK_ID FROM " + self.blockTable + ", " + self.queryTable + " WHERE SDO_FILTER(BLK_EXTENT,GEOM) = 'TRUE' AND id = " + str(self.queryIndex)
            (eTime, result) = dbops.genericQueryParallelCand(cursor, self.qp.queryMethod, oracleops.mogrifyExecute, self.qp.columns, colsDict, 
                                                             self.qp.statistics, self.resultTable, idsQuery, None, 
                                                             self.runGenericQueryParallelCandChild, self.numProcessesQuery, oracleops.createSQLFile, oracleops.executeSQLFileCount, self.getConnectionString(False))
            #returnDict[queryId] = self.genericQueryParallelCand()
        elif self.parallelType in ('grid','griddis'):
#            q = 'SELECT count(*) FROM ' + self.blockTable + ', ' + self.queryTable + ' WHERE id = ' + str(self.queryIndex) + " AND SDO_ANYINTERACT(blk_extent, geom) = 'TRUE'"
#            oracleops.mogrifyExecute(cursor, q)
#            print self.queryIndex, 'TOUCHED_BLOCKS TOTAL   ', cursor.fetchone()[0]
            
            gridTable = ('query_grid_' + str(self.queryIndex)).upper()
            oracleops.dropTable(cursor, gridTable, True)
            (eTime, result) =  dbops.genericQueryParallelGrid(cursor, self.qp.queryMethod, oracleops.mogrifyExecute, self.qp.columns, colsDict, 
                                                             self.qp.statistics, self.resultTable, gridTable, self.createGridTableMethod,
                                                             self.runGenericQueryParallelGridChild, self.numProcessesQuery, 
                                                             (self.parallelType == 'griddis'), oracleops.createSQLFile, oracleops.executeSQLFileCount, self.getConnectionString(False))
            
        connection.close()
        return (eTime, result)
 def pythonParallelization(self):
     connection = self.getConnection()
     cursor = connection.cursor()
     if self.parallelType == 'cand':
         idsQuery = "SELECT " + self.blockTable +".id FROM " + self.blockTable +", (SELECT geom FROM " + self.queryTable + " WHERE id = %s) A WHERE pc_intersects(pa,geom)"
         idsQueryArgs =  [self.queryIndex, ]
         (eTime, result) = dbops.genericQueryParallelCand(cursor, self.qp.queryMethod, postgresops.mogrifyExecute, self.qp.columns, self.DM_FLAT, 
                                                          self.qp.statistics, self.resultTable, idsQuery, idsQueryArgs, 
                                                          self.runGenericQueryParallelCandChild, self.numProcessesQuery, postgresops.createSQLFile, postgresops.executeSQLFileCount, self.getConnectionString(False, True))
     else:     
         gridTable = 'query_grid_' + str(self.queryIndex)
         postgresops.dropTable(cursor, gridTable, True)
         (eTime, result) = dbops.genericQueryParallelGrid(cursor, self.qp.queryMethod, postgresops.mogrifyExecute, self.qp.columns, self.DM_FLAT, 
                                                          self.qp.statistics, self.resultTable, gridTable, self.createGridTableMethod,
                                                          self.runGenericQueryParallelGridChild, self.numProcessesQuery, 
                                                          (self.parallelType == 'griddis'), postgresops.createSQLFile, postgresops.executeSQLFileCount, self.getConnectionString(False, True))
     connection.close()
     return (eTime, result)