for (int i = 0; i < POST_LOAD_SQL.length; i++) { LOG.finer("SQL: " + POST_LOAD_SQL[i]); dbCtx.executeStatement(POST_LOAD_SQL[i]); if (populateBbox) { LOG.finer("SQL: " + POST_LOAD_SQL_POPULATE_WAY_BBOX); dbCtx.executeStatement(POST_LOAD_SQL_POPULATE_WAY_BBOX); dbCtx.executeStatement(POST_LOAD_SQL_WAY_BBOX[i]); if (populateLinestring) { LOG.finer("SQL: " + POST_LOAD_SQL_POPULATE_WAY_LINESTRING); dbCtx.executeStatement(POST_LOAD_SQL_POPULATE_WAY_LINESTRING); dbCtx.executeStatement(POST_LOAD_SQL_WAY_LINESTRING[i]);
/** * Drops indexes and constraints in the database. */ public void prepareForLoad() { LOG.fine("Running pre-load SQL statements."); for (int i = 0; i < PRE_LOAD_SQL.length; i++) { LOG.finer("SQL: " + PRE_LOAD_SQL[i]); dbCtx.executeStatement(PRE_LOAD_SQL[i]); } if (capabilityChecker.isWayBboxSupported()) { LOG.fine("Running pre-load bbox SQL statements."); for (int i = 0; i < PRE_LOAD_SQL_WAY_BBOX.length; i++) { LOG.finer("SQL: " + PRE_LOAD_SQL_WAY_BBOX[i]); dbCtx.executeStatement(PRE_LOAD_SQL_WAY_BBOX[i]); } } if (capabilityChecker.isWayLinestringSupported()) { LOG.fine("Running pre-load linestring SQL statements."); for (int i = 0; i < PRE_LOAD_SQL_WAY_LINESTRING.length; i++) { LOG.finer("SQL: " + PRE_LOAD_SQL_WAY_LINESTRING[i]); dbCtx.executeStatement(PRE_LOAD_SQL_WAY_LINESTRING[i]); } } LOG.fine("Pre-load SQL statements complete."); }
/** * Truncates all data from the database. */ public void run() { try { schemaVersionValidator.validateVersion(PostgreSqlVersionConstants.SCHEMA_VERSION); LOG.fine("Truncating tables."); for (int i = 0; i < SQL_TABLE_NAMES.length; i++) { if (dbCtx.doesTableExist(SQL_TABLE_NAMES[i])) { LOG.finer("Truncating table " + SQL_TABLE_NAMES[i] + "."); dbCtx.executeStatement("TRUNCATE " + SQL_TABLE_NAMES[i]); } else { LOG.finer("Skipping table " + SQL_TABLE_NAMES[i] + " which doesn't exist in the current schema."); } } LOG.fine("Committing changes."); dbCtx.commit(); LOG.fine("Vacuuming database."); dbCtx.setAutoCommit(true); dbCtx.executeStatement("VACUUM ANALYZE"); LOG.fine("Complete."); } finally { dbCtx.close(); } } }
dbCtx.executeStatement("VACUUM ANALYZE");
dbCtx.executeStatement("SET enable_seqscan = false"); dbCtx.executeStatement("SET enable_mergejoin = false"); dbCtx.executeStatement("SET enable_hashjoin = false"); dbCtx.executeStatement("CREATE TEMPORARY TABLE box_node_list (id bigint PRIMARY KEY) ON COMMIT DROP"); dbCtx.executeStatement("CREATE TEMPORARY TABLE box_way_list (id bigint PRIMARY KEY) ON COMMIT DROP"); dbCtx.executeStatement("CREATE TEMPORARY TABLE box_relation_list (id bigint PRIMARY KEY) ON COMMIT DROP"); dbCtx.executeStatement("ANALYZE box_node_list"); dbCtx.executeStatement("ANALYZE box_way_list"); dbCtx.executeStatement("ANALYZE box_relation_list");
dbCtx.executeStatement("VACUUM ANALYZE");