diff options
author | dglFromAtt <dgl@research.att.com> | 2018-04-23 22:39:55 -0400 |
---|---|---|
committer | dglFromAtt <dgl@research.att.com> | 2018-04-23 22:40:04 -0400 |
commit | 57122824826dab8e382bebcea32bddf374cebf1b (patch) | |
tree | e1b220a3b085a204120b0fcf6053a792e11d0322 /src/main/java/org | |
parent | f283c8d30ab3e5cde52906bc41c368f07733bb81 (diff) |
Corrections to stmt ordering for using diff schema
Change-Id: I82b643b46f88f2c6db519bbd9b85e1a2e5d06a6d
Signed-off-by: dglFromAtt <dgl@research.att.com>
Issue-ID: DMAAP-434
Diffstat (limited to 'src/main/java/org')
-rw-r--r-- | src/main/java/org/onap/dmaap/dbcapi/database/LoadSchema.java | 25 |
1 files changed, 19 insertions, 6 deletions
diff --git a/src/main/java/org/onap/dmaap/dbcapi/database/LoadSchema.java b/src/main/java/org/onap/dmaap/dbcapi/database/LoadSchema.java index 2a7925b..2c52b0d 100644 --- a/src/main/java/org/onap/dmaap/dbcapi/database/LoadSchema.java +++ b/src/main/java/org/onap/dmaap/dbcapi/database/LoadSchema.java @@ -58,22 +58,35 @@ public class LoadSchema { try { c = cf.get(true); stmt = c.createStatement(); + + // this sets the PG search_path to a consistent schema, otherwise sometimes + // we get public, and sometimes we get dmaap_admin + String cmd = String.format( "SET search_path to %s;", cf.getSchema()); + try { + stmt.execute(cmd); + logger.info("SCHEMA: " + cmd); + } catch (SQLException sqle) { + throw sqle; + } + + + // determine if an upgrade is needed int newver = -1; try { newver = getVer(stmt); } catch (Exception e) {} logger.info("Database schema currently at version " + newver++); + + while ((is = LoadSchema.class.getClassLoader().getResourceAsStream("schema_" + newver + ".sql")) != null) { logger.info("Upgrading database schema to version " + newver); BufferedReader br = new BufferedReader(new InputStreamReader(is)); String s; - String sofar; - if ( newver > 0 ) { - sofar = null; - } else { - sofar = String.format( "SET search_path to %s;", cf.getSchema()); - } + String sofar = null; + + + while ((s = br.readLine()) != null) { logger.info("SCHEMA: " + s); s = s.trim(); |