Changeset: 88bb87122485 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=88bb87122485
Added Files:
        java/tests/BugDatabaseMetaData_Bug_3356.java
        sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.bat
        sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.sh
        sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.stable.err
        sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.stable.out
Modified Files:
        java/ChangeLog.Feb2013
        java/Makefile.ag
        java/build.properties
        java/pom.xml
        java/release.txt
        java/src/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
        java/tests/Makefile.ag
        java/tests/build.xml
        sql/jdbc/tests/Tests/All
Branch: default
Log Message:

Merge with Feb2013 branch.


diffs (truncated from 332 to 300 lines):

diff --git a/java/ChangeLog.Feb2013 b/java/ChangeLog.Feb2013
--- a/java/ChangeLog.Feb2013
+++ b/java/ChangeLog.Feb2013
@@ -1,3 +1,7 @@
 # ChangeLog file for java
 # This file is updated with Maddlog
 
+* Mon Oct  7 2013 Sjoerd Mullender <sjo...@acm.org>
+- Rearranged order of returned columns of certain metadata functions to
+  comply with the JDBC documentation.  See bug 3356.
+
diff --git a/java/Makefile.ag b/java/Makefile.ag
--- a/java/Makefile.ag
+++ b/java/Makefile.ag
@@ -27,7 +27,7 @@ JAVA_HOME = @JAVA_HOME@
 ant_distjdbc = {
        COND = HAVE_JAVAJDBC
        DIR = datadir/monetdb/lib
-       FILES = monetdb-mcl-1.9.jar monetdb-jdbc-2.9.jar jdbcclient.jar
+       FILES = monetdb-mcl-1.9.jar monetdb-jdbc-2.10.jar jdbcclient.jar
 }
 
 ant_distmerocontrol = {
diff --git a/java/build.properties b/java/build.properties
--- a/java/build.properties
+++ b/java/build.properties
@@ -19,7 +19,7 @@ MCL_MINOR=9
 # major release number
 JDBC_MAJOR=2
 # minor release number
-JDBC_MINOR=9
+JDBC_MINOR=10
 # an additional identifying string
 JDBC_VER_SUFFIX=Liberica
 # the default port to connect on, if no port given when using SQL
diff --git a/java/pom.xml b/java/pom.xml
--- a/java/pom.xml
+++ b/java/pom.xml
@@ -6,7 +6,7 @@
        <modelVersion>4.0.0</modelVersion>
        <groupId>monetdb</groupId>
        <artifactId>monetdb-jdbc</artifactId>
-       <version>2.9</version>
+       <version>2.10</version>
        <name>monetdb-jdbc</name>
        <description>MonetDB JDBC driver</description>
        <repositories>
diff --git a/java/release.txt b/java/release.txt
--- a/java/release.txt
+++ b/java/release.txt
@@ -1,8 +1,8 @@
 RELEASE NOTES
-MonetDB JDBC driver version 2.9 (Liberica/MCL-1.9)
+MonetDB JDBC driver version 2.10 (Liberica/MCL-1.9)
 Fabian Groffen <fab...@monetdb.org>
 
-Release date: 2013-05-23
+Release date: 2013-10-07
 
 
 This JDBC driver is designed for use with MonetDB, a main-memory
diff --git a/java/src/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java 
b/java/src/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
--- a/java/src/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
+++ b/java/src/nl/cwi/monetdb/jdbc/MonetDatabaseMetaData.java
@@ -1708,16 +1708,13 @@ public class MonetDatabaseMetaData exten
                        "AS smallint) AS \"DATA_TYPE\", " +
                        "\"columns\".\"type\" AS \"TYPE_NAME\", " +
                        "\"columns\".\"type_digits\" AS \"COLUMN_SIZE\", " +
-                       "0 AS \"BUFFER_LENGTH\", " +
-                       "\"columns\".\"type_scale\" AS \"DECIMAL_DIGITS\", " +
+                       "0 AS \"BUFFER_LENGTH\", \"columns\".\"type_scale\" AS 
\"DECIMAL_DIGITS\", " +
                        "10 AS \"NUM_PREC_RADIX\", " +
                        "cast(CASE \"null\" " +
                                "WHEN true THEN " + 
ResultSetMetaData.columnNullable + " " +
                                "WHEN false THEN " + 
ResultSetMetaData.columnNoNulls + " " +
-                       "END AS int) AS \"NULLABLE\", " +
-                       "cast(null AS varchar(1)) AS \"REMARKS\", " +
-                       "\"columns\".\"default\" AS \"COLUMN_DEF\", " +
-                       "0 AS \"SQL_DATA_TYPE\", " +
+                       "END AS int) AS \"NULLABLE\", cast(null AS varchar(1)) 
AS \"REMARKS\", " +
+                       "\"columns\".\"default\" AS \"COLUMN_DEF\", 0 AS 
\"SQL_DATA_TYPE\", " +
                        "0 AS \"SQL_DATETIME_SUB\", 0 AS \"CHAR_OCTET_LENGTH\", 
" +
                        "\"columns\".\"number\" + 1 AS \"ORDINAL_POSITION\", " +
                        "CASE \"null\" " +
@@ -2105,7 +2102,7 @@ public class MonetDatabaseMetaData exten
                        "\"schemas\".\"name\" AS \"TABLE_SCHEM\", " +
                        "\"tables\".\"name\" AS \"TABLE_NAME\", " +
                        "\"objects\".\"name\" AS \"COLUMN_NAME\", " +
-                       "\"objects\".\"nr\" + 1 AS \"KEY_SEQ\", 
\"keys\".\"name\" AS \"PK_NAME\" " +
+                       "\"objects\".\"nr\" AS \"KEY_SEQ\", \"keys\".\"name\" 
AS \"PK_NAME\" " +
                "FROM \"sys\".\"keys\" AS \"keys\", " +
                        "\"sys\".\"objects\" AS \"objects\", " +
                        "\"sys\".\"tables\" AS \"tables\", " +
@@ -2127,20 +2124,17 @@ public class MonetDatabaseMetaData exten
                return getStmt().executeQuery(query);
        }
 
-       final static String keyQuery = "SELECT 'DBSCHEMA_TOKEN' AS 
\"PKTABLE_CAT\", " +
-               "\"pkschema\".\"name\" AS \"PKTABLE_SCHEM\", " +
-               "\"pktable\".\"name\" AS \"PKTABLE_NAME\", " +
-               "\"pkkeycol\".\"name\" AS \"PKCOLUMN_NAME\", " +
-               "'DBSCHEMA_TOKEN'  AS \"FKTABLE_CAT\", " +
-               "\"fkschema\".\"name\" AS \"FKTABLE_SCHEM\", " +
-               "\"fktable\".\"name\" AS \"FKTABLE_NAME\", " +
-               "\"fkkeycol\".\"name\" AS \"FKCOLUMN_NAME\", " +
-               "\"pkkeycol\".\"nr\" + 1 AS \"KEY_SEQ\", " +
+       final static String keyQuery1 =
+               "' AS \"PKTABLE_CAT\", \"pkschema\".\"name\" AS 
\"PKTABLE_SCHEM\", " +
+               "\"pktable\".\"name\" AS \"PKTABLE_NAME\", 
\"pkkeycol\".\"name\" AS \"PKCOLUMN_NAME\", '";
+       final static String keyQuery2 =
+               "' AS \"FKTABLE_CAT\", \"fkschema\".\"name\" AS 
\"FKTABLE_SCHEM\", " +
+               "\"fktable\".\"name\" AS \"FKTABLE_NAME\", 
\"fkkeycol\".\"name\" AS \"FKCOLUMN_NAME\", " +
+               "\"pkkeycol\".\"nr\" AS \"KEY_SEQ\", " +
                DatabaseMetaData.importedKeyNoAction + " AS \"UPDATE_RULE\", " +
                "" + DatabaseMetaData.importedKeyNoAction + " AS 
\"DELETE_RULE\", " +
-               "\"fkkey\".\"name\" AS \"FK_NAME\", " +
-               "\"pkkey\".\"name\" AS \"PK_NAME\", " +
-               DatabaseMetaData.importedKeyNotDeferrable + " AS 
\"DEFERRABILITY\" " +
+               "\"fkkey\".\"name\" AS \"FK_NAME\", \"pkkey\".\"name\" AS 
\"PK_NAME\", " +
+               "" + DatabaseMetaData.importedKeyNotDeferrable + " AS 
\"DEFERRABILITY\" " +
                        "FROM \"sys\".\"keys\" AS \"fkkey\", \"sys\".\"keys\" 
AS \"pkkey\", \"sys\".\"objects\" AS \"fkkeycol\", " +
                        "\"sys\".\"objects\" AS \"pkkeycol\", 
\"sys\".\"tables\" AS \"fktable\", \"sys\".\"tables\" AS \"pktable\", " +
                        "\"sys\".\"schemas\" AS \"fkschema\", 
\"sys\".\"schemas\" AS \"pkschema\" " +
@@ -2152,7 +2146,7 @@ public class MonetDatabaseMetaData exten
 
        static String keyQuery(String cat) {
                // FIXME: cat should probably be single-quote-escaped
-               return keyQuery.replaceAll("DBSCHEMA_TOKEN",cat);
+               return "SELECT '" + cat + keyQuery1 + cat + keyQuery2;
        }
 
        /**
@@ -2546,7 +2540,7 @@ public class MonetDatabaseMetaData exten
                                "\"schemas\".\"name\" AS \"TABLE_SCHEM\", " +
                                "CASE WHEN \"keys\".\"name\" IS NULL THEN true 
ELSE false END AS \"NON_UNIQUE\", " +
                                "CASE \"idxs\".\"type\" WHEN 0 THEN " + 
DatabaseMetaData.tableIndexHashed + " ELSE " + DatabaseMetaData.tableIndexOther 
+ " END AS \"TYPE\", " +
-                               "\"objects\".\"nr\" + 1 AS 
\"ORDINAL_POSITION\", " +
+                               "\"objects\".\"nr\" AS \"ORDINAL_POSITION\", " +
                                "\"columns\".\"name\" as \"COLUMN_NAME\", " +
                                "cast(null AS varchar(1)) AS 
\"INDEX_QUALIFIER\", " +
                                "cast(null AS varchar(1)) AS \"ASC_OR_DESC\", " 
+
diff --git a/java/tests/BugDatabaseMetaData_Bug_3356.java 
b/java/tests/BugDatabaseMetaData_Bug_3356.java
new file mode 100644
--- /dev/null
+++ b/java/tests/BugDatabaseMetaData_Bug_3356.java
@@ -0,0 +1,40 @@
+/*
+ * The contents of this file are subject to the MonetDB Public License
+ * Version 1.1 (the "License"); you may not use this file except in
+ * compliance with the License. You may obtain a copy of the License at
+ * http://www.monetdb.org/Legal/MonetDBLicense
+ *
+ * Software distributed under the License is distributed on an "AS IS"
+ * basis, WITHOUT WARRANTY OF ANY KIND, either express or implied. See the
+ * License for the specific language governing rights and limitations
+ * under the License.
+ *
+ * The Original Code is the MonetDB Database System.
+ *
+ * The Initial Developer of the Original Code is CWI.
+ * Portions created by CWI are Copyright (C) 1997-July 2008 CWI.
+ * Copyright August 2008-2013 MonetDB B.V.
+ * All Rights Reserved.
+ */
+
+import java.sql.*;
+
+public class BugDatabaseMetaData_Bug_3356 {
+       public static void main(String[] args) throws Exception {
+               Class.forName("nl.cwi.monetdb.jdbc.MonetDriver");
+               Connection con = DriverManager.getConnection(args[0]);
+               DatabaseMetaData dbmd = con.getMetaData();
+               ResultSet rs = dbmd.getColumns("mTests_sql_jdbc_tests", "sys", 
"_tables", "id");
+               rs.next();
+               String tableName1 = rs.getString("TABLE_NAME");
+               String tableName2 = rs.getString(3);
+               String isNullable1 = rs.getString("IS_NULLABLE");
+               String isNullable2 = rs.getString(18);
+               System.out.println(tableName1);
+               System.out.println(tableName2);
+               System.out.println(isNullable1);
+               System.out.println(isNullable2);
+               rs.close();
+               con.close();
+       }
+}
diff --git a/java/tests/Makefile.ag b/java/tests/Makefile.ag
--- a/java/tests/Makefile.ag
+++ b/java/tests/Makefile.ag
@@ -35,6 +35,7 @@ EXTRA_DIST = \
                Test_Rtimedate.java \
                Test_Sbatching.java \
                BugConcurrent_clients_SF_1504657.java \
+               BugDatabaseMetaData_Bug_3356.java \
                build.xml build.properties
 
 ant_jar_jdbctests = {
diff --git a/java/tests/build.xml b/java/tests/build.xml
--- a/java/tests/build.xml
+++ b/java/tests/build.xml
@@ -132,6 +132,7 @@ All Rights Reserved.
     <antcall target="Test_Smoreresults" />
     <antcall target="BugConcurrent_clients_SF_1504657" />
     <antcall target="BugConcurrent_sequences" />
+    <antcall target="BugDatabaseMetaData_Bug_3356" />
   </target>
 
   <target name="test_class" depends="compile,jdbc">
@@ -322,4 +323,10 @@ All Rights Reserved.
     </antcall>
   </target>
 
+  <target name="BugDatabaseMetaData_Bug_3356">
+    <antcall target="test_class">
+      <param name="test.class" value="BugDatabaseMetaData_Bug_3356" />
+    </antcall>
+  </target>
+
 </project>
diff --git a/sql/jdbc/tests/Tests/All b/sql/jdbc/tests/Tests/All
--- a/sql/jdbc/tests/Tests/All
+++ b/sql/jdbc/tests/Tests/All
@@ -24,3 +24,4 @@ HAVE_JDBCTESTS?Test_Sbatching
 HAVE_JDBCCLIENT_JAR?Test_JdbcClient
 HAVE_JDBCTESTS?BugConcurrent_clients_SF_1504657
 HAVE_JDBCTESTS?BugConcurrent_sequences
+HAVE_JDBCTESTS?BugDatabaseMetaData_Bug_3356
diff --git a/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.bat 
b/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.bat
new file mode 100755
--- /dev/null
+++ b/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.bat
@@ -0,0 +1,1 @@
+@call "%TSTSRCDIR%\Test.SQL.bat" %*
diff --git a/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.sh 
b/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.sh
new file mode 100755
--- /dev/null
+++ b/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.SQL.sh
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+$TSTSRCDIR/Test.SQL.sh $*
diff --git a/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.stable.err 
b/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.stable.err
new file mode 100644
--- /dev/null
+++ b/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.stable.err
@@ -0,0 +1,40 @@
+stderr of test 'BugDatabaseMetaData_Bug_3356` in directory 'sql/jdbc/tests` 
itself:
+
+
+# 17:27:28 >  
+# 17:27:28 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=34631" "--set" 
"mapi_usock=/var/tmp/mtest-23634/.s.monetdb.34631" "--set" "monet_prompt=" 
"--forcemito" "--set" "mal_listing=2" 
"--dbpath=/ufs/sjoerd/Monet-stable/var/MonetDB/mTests_sql_jdbc_tests" "--set" 
"mal_listing=0"
+# 17:27:28 >  
+
+# builtin opt  gdk_dbpath = /ufs/sjoerd/Monet-stable/var/monetdb5/dbfarm/demo
+# builtin opt  gdk_debug = 0
+# builtin opt  gdk_vmtrim = yes
+# builtin opt  monet_prompt = >
+# builtin opt  monet_daemon = no
+# builtin opt  mapi_port = 50000
+# builtin opt  mapi_open = false
+# builtin opt  mapi_autosense = false
+# builtin opt  sql_optimizer = default_pipe
+# builtin opt  sql_debug = 0
+# cmdline opt  gdk_nr_threads = 0
+# cmdline opt  mapi_open = true
+# cmdline opt  mapi_port = 34631
+# cmdline opt  mapi_usock = /var/tmp/mtest-23634/.s.monetdb.34631
+# cmdline opt  monet_prompt = 
+# cmdline opt  mal_listing = 2
+# cmdline opt  gdk_dbpath = 
/ufs/sjoerd/Monet-stable/var/MonetDB/mTests_sql_jdbc_tests
+# cmdline opt  mal_listing = 0
+
+# 17:27:28 >  
+# 17:27:28 >  "./BugDatabaseMetaData_Bug_3356.SQL.sh" 
"BugDatabaseMetaData_Bug_3356"
+# 17:27:28 >  
+
+
+# 17:27:28 >  
+# 17:27:28 >  java BugDatabaseMetaData_Bug_3356 
"jdbc:monetdb://madrid:34631/mTests_sql_jdbc_tests?user=monetdb&password=monetdb"
+# 17:27:28 >  
+
+
+# 17:27:28 >  
+# 17:27:28 >  "Done."
+# 17:27:28 >  
+
diff --git a/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.stable.out 
b/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.stable.out
new file mode 100644
--- /dev/null
+++ b/sql/jdbc/tests/Tests/BugDatabaseMetaData_Bug_3356.stable.out
@@ -0,0 +1,41 @@
+stdout of test 'BugDatabaseMetaData_Bug_3356` in directory 'sql/jdbc/tests` 
itself:
+
+
+# 17:27:28 >  
+# 17:27:28 >  "mserver5" "--debug=10" "--set" "gdk_nr_threads=0" "--set" 
"mapi_open=true" "--set" "mapi_port=34631" "--set" 
"mapi_usock=/var/tmp/mtest-23634/.s.monetdb.34631" "--set" "monet_prompt=" 
"--forcemito" "--set" "mal_listing=2" 
"--dbpath=/ufs/sjoerd/Monet-stable/var/MonetDB/mTests_sql_jdbc_tests" "--set" 
"mal_listing=0"
+# 17:27:28 >  
+
+# MonetDB 5 server v11.15.16 (hg id: 4e1be37a5d65+)
+# This is an unreleased version
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to