Author: van.halbert
Date: 2011-07-01 15:18:07 -0400 (Fri, 01 Jul 2011)
New Revision: 3298
Modified:
branches/7.4.x/test-integration/common/src/test/java/org/teiid/jdbc/TestResultsMetadataWithProvider.java
Log:
Added backward compatibility support so that pre JDBC 4, when using an 'Alias', it
will still be returned via the ResultSetMetadata.getColumnName. In JDBC 4, you will need
to call ResultSetMetadata.getColumnLabel. To enable backward support, add the
property: useJDBC4ColumnNameAndLabelSemantics=false to the url connection string.
Modified:
branches/7.4.x/test-integration/common/src/test/java/org/teiid/jdbc/TestResultsMetadataWithProvider.java
===================================================================
---
branches/7.4.x/test-integration/common/src/test/java/org/teiid/jdbc/TestResultsMetadataWithProvider.java 2011-07-01
19:17:29 UTC (rev 3297)
+++
branches/7.4.x/test-integration/common/src/test/java/org/teiid/jdbc/TestResultsMetadataWithProvider.java 2011-07-01
19:18:07 UTC (rev 3298)
@@ -45,8 +45,8 @@
public MetadataProvider exampleProvider() throws Exception {
MetaDataProcessor processor = new MetaDataProcessor(null, null, "vdb",
1); //$NON-NLS-1$
- Map col1 = processor.getDefaultColumn("table", "col1",
String.class); //$NON-NLS-1$ //$NON-NLS-2$
- Map col2 = processor.getDefaultColumn("table", "col2",
Integer.class); //$NON-NLS-1$ //$NON-NLS-2$
+ Map col1 = processor.getDefaultColumn("table", "col1",
"col1Label", String.class); //$NON-NLS-1$ //$NON-NLS-2$
+ Map col2 = processor.getDefaultColumn("table", "col2",
"col2Label", Integer.class); //$NON-NLS-1$ //$NON-NLS-2$
Map[] columnMetadata = new Map[] {
col1, col2
@@ -55,9 +55,9 @@
MetadataProvider provider = new MetadataProvider(columnMetadata);
return provider;
}
-
+
public void test1() throws Exception {
- ResultSetMetaDataImpl rmd = new ResultSetMetaDataImpl(exampleProvider());
+ ResultSetMetaDataImpl rmd = new ResultSetMetaDataImpl(exampleProvider(), null);
assertEquals(false, rmd.isAutoIncrement(1));
assertEquals(false, rmd.isCaseSensitive(1));
@@ -71,6 +71,26 @@
assertEquals(null, rmd.getSchemaName(1));
assertEquals("table", rmd.getTableName(1)); //$NON-NLS-1$
assertEquals("col1", rmd.getColumnName(1)); //$NON-NLS-1$
+ assertEquals("col1Label", rmd.getColumnLabel(1)); //$NON-NLS-1$
assertEquals("string", rmd.getColumnTypeName(1)); //$NON-NLS-1$
}
+
+ public void test2BackwardCompatibilityTest() throws Exception {
+ ResultSetMetaDataImpl rmd = new ResultSetMetaDataImpl(exampleProvider(),
"false");
+
+ assertEquals(false, rmd.isAutoIncrement(1));
+ assertEquals(false, rmd.isCaseSensitive(1));
+ assertEquals(false, rmd.isCurrency(1));
+ assertEquals(true, rmd.isDefinitelyWritable(1));
+ assertEquals(false, rmd.isReadOnly(1));
+ assertEquals(true, rmd.isSearchable(1));
+ assertEquals(true, rmd.isSigned(1));
+ assertEquals(true, rmd.isWritable(1));
+ assertEquals("vdb", rmd.getCatalogName(1)); //$NON-NLS-1$
+ assertEquals(null, rmd.getSchemaName(1));
+ assertEquals("table", rmd.getTableName(1)); //$NON-NLS-1$
+ assertEquals("col1Label", rmd.getColumnName(1)); //$NON-NLS-1$
+ assertEquals("col1Label", rmd.getColumnLabel(1)); //$NON-NLS-1$
+ assertEquals("string", rmd.getColumnTypeName(1)); //$NON-NLS-1$
+ }
}