Mercurial > hg > monetdb-java
changeset 313:f2750ea9f93d
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
author | Martin van Dinther <martin.van.dinther@monetdbsolutions.com> |
---|---|
date | Wed, 28 Aug 2019 14:43:53 +0200 (2019-08-28) |
parents | df815a403bf4 |
children | 6d98a1d3af00 |
files | src/main/java/nl/cwi/monetdb/util/SQLExporter.java src/main/java/nl/cwi/monetdb/util/XMLExporter.java |
diffstat | 2 files changed, 10 insertions(+), 13 deletions(-) [+] |
line wrap: on
line diff
--- 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();
--- 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 {