From: <otm...@us...> - 2010-10-03 21:14:35
|
Revision: 7132 http://jython.svn.sourceforge.net/jython/?rev=7132&view=rev Author: otmarhumbel Date: 2010-10-03 21:14:29 +0000 (Sun, 03 Oct 2010) Log Message: ----------- handle the new JDBC 4.0 java.sql.Types as well (this hopefully really fixes issue 1647) Modified Paths: -------------- trunk/jython/src/com/ziclix/python/sql/DataHandler.java trunk/jython/tests/java/com/ziclix/python/sql/DataHandlerTest.java Modified: trunk/jython/src/com/ziclix/python/sql/DataHandler.java =================================================================== --- trunk/jython/src/com/ziclix/python/sql/DataHandler.java 2010-10-03 19:47:13 UTC (rev 7131) +++ trunk/jython/src/com/ziclix/python/sql/DataHandler.java 2010-10-03 21:14:29 UTC (rev 7132) @@ -236,11 +236,14 @@ case Types.CHAR: case Types.VARCHAR: + case Java6Types.NCHAR: + case Java6Types.NVARCHAR: String string = set.getString(col); obj = string == null ? Py.None : Py.newUnicode(string); break; case Types.LONGVARCHAR: + case Java6Types.LONGNVARCHAR: Reader reader = set.getCharacterStream(col); obj = reader == null ? Py.None : Py.newUnicode(read(reader)); break; @@ -310,6 +313,8 @@ break; case Types.CLOB: + case Java6Types.NCLOB: + case Java6Types.SQLXML: Clob clob = set.getClob(col); obj = clob == null ? Py.None : Py.java2py(read(clob.getCharacterStream())); break; @@ -323,6 +328,8 @@ throw createUnsupportedTypeSQLException("DISTINCT", col); case Types.REF: throw createUnsupportedTypeSQLException("REF", col); + case Java6Types.ROWID: + throw createUnsupportedTypeSQLException("STRUCT", col); case Types.STRUCT: throw createUnsupportedTypeSQLException("STRUCT", col); @@ -560,5 +567,60 @@ public String toString() { return getClass().getName(); } + + /** + * This interface can be removed as soon as we target java 6 + */ + private static interface Java6Types{ + /** + * The constant in the Java programming language, sometimes referred to + * as a type code, that identifies the generic SQL type <code>ROWID</code> + * + * @since 1.6 + * + */ + public final static int ROWID = -8; + + /** + * The constant in the Java programming language, sometimes referred to + * as a type code, that identifies the generic SQL type <code>NCHAR</code> + * + * @since 1.6 + */ + public static final int NCHAR = -15; + + /** + * The constant in the Java programming language, sometimes referred to + * as a type code, that identifies the generic SQL type <code>NVARCHAR</code>. + * + * @since 1.6 + */ + public static final int NVARCHAR = -9; + + /** + * The constant in the Java programming language, sometimes referred to + * as a type code, that identifies the generic SQL type <code>LONGNVARCHAR</code>. + * + * @since 1.6 + */ + public static final int LONGNVARCHAR = -16; + + /** + * The constant in the Java programming language, sometimes referred to + * as a type code, that identifies the generic SQL type <code>NCLOB</code>. + * + * @since 1.6 + */ + public static final int NCLOB = 2011; + + /** + * The constant in the Java programming language, sometimes referred to + * as a type code, that identifies the generic SQL type <code>XML</code>. + * + * @since 1.6 + */ + public static final int SQLXML = 2009; + } + } Modified: trunk/jython/tests/java/com/ziclix/python/sql/DataHandlerTest.java =================================================================== --- trunk/jython/tests/java/com/ziclix/python/sql/DataHandlerTest.java 2010-10-03 19:47:13 UTC (rev 7131) +++ trunk/jython/tests/java/com/ziclix/python/sql/DataHandlerTest.java 2010-10-03 21:14:29 UTC (rev 7132) @@ -39,6 +39,7 @@ "DATALINK", "DISTINCT", "REF", + "ROWID", // java 6 "STRUCT"); for (Field field : Types.class.getDeclaredFields()) { String typeName = field.getName(); This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |