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)
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)