# HG changeset patch # User Martin van Dinther <martin.van.dinther@monetdbsolutions.com> # Date 1566996233 -7200 # Node ID f2750ea9f93dbc265f7d9dab03d2456a0dbc4482 # Parent df815a403bf472c4c5d964493ed96d53ce7a6ac8 When exporting table/view definition always include the schema name. The useSchema flag is only used to generate the SET SCHEMA ... command. This resolves the testweb errors for sql/test/BugDay_2005-10-06_2.9.3/not_null.SF-933194 and sql/test/BugDay_2005-10-06_2.9.3/type_dump_test.SF-989257 diff --git a/src/main/java/nl/cwi/monetdb/util/SQLExporter.java b/src/main/java/nl/cwi/monetdb/util/SQLExporter.java --- a/src/main/java/nl/cwi/monetdb/util/SQLExporter.java +++ b/src/main/java/nl/cwi/monetdb/util/SQLExporter.java @@ -57,7 +57,7 @@ public final class SQLExporter extends E assert schema != null; assert name != null; - final String fqname = (useSchema ? dq(schema) + "." : "") + dq(name); + final String fqname = dq(schema) + "." + dq(name); if (useSchema) changeSchema(schema); @@ -414,11 +414,9 @@ public final class SQLExporter extends E final StringBuilder strbuf = new StringBuilder(1024); strbuf.append("INSERT INTO "); - if (useSchema) { - final String schema = rsmd.getSchemaName(1); - if (schema != null && !schema.isEmpty()) - strbuf.append(dq(schema)).append("."); - } + final String schema = rsmd.getSchemaName(1); + if (schema != null && !schema.isEmpty()) + strbuf.append(dq(schema)).append("."); strbuf.append(dq(rsmd.getTableName(1))).append(" VALUES ("); final int cmdpart = strbuf.length(); diff --git a/src/main/java/nl/cwi/monetdb/util/XMLExporter.java b/src/main/java/nl/cwi/monetdb/util/XMLExporter.java --- a/src/main/java/nl/cwi/monetdb/util/XMLExporter.java +++ b/src/main/java/nl/cwi/monetdb/util/XMLExporter.java @@ -51,7 +51,7 @@ public final class XMLExporter extends E types[0] = type; final ResultSet tbl = dbmd.getTables(catalog, schema, name, types); if (tbl != null) { - final String fqname = (useSchema ? dq(schema) + "." : "") + dq(name); + final String fqname = dq(schema) + "." + dq(name); if (!tbl.next()) { tbl.close(); throw new SQLException("Whoops no meta data for view " + fqname); @@ -373,9 +373,10 @@ public final class XMLExporter extends E public void dumpResultSet(final ResultSet rs) throws SQLException { // write simple XML serialisation final java.sql.ResultSetMetaData rsmd = rs.getMetaData(); - if (useSchema) - out.println("<" + rsmd.getSchemaName(1) + ">"); - out.println("<" + rsmd.getTableName(1) + ">"); + final String schema = rsmd.getSchemaName(1); + final String fqname = (schema != null && !schema.isEmpty() ? schema + "." : "") + rsmd.getTableName(1); + out.println("<" + fqname + ">"); + String data; while (rs.next()) { out.println(" <row>"); @@ -416,9 +417,7 @@ public final class XMLExporter extends E } out.println(" </row>"); } - out.println("</" + rsmd.getTableName(1) + ">"); - if (useSchema) - out.println("</" + rsmd.getSchemaName(1) + ">"); + out.println("</" + fqname + ">"); } public void setProperty(final int type, final int value) throws Exception {