/******************************************************************************* * Copyright (c) 1998, 2015 Oracle and/or its affiliates. All rights reserved. * This program and the accompanying materials are made available under the * terms of the Eclipse Public License v1.0 and Eclipse Distribution License v. 1.0 * which accompanies this distribution. * The Eclipse Public License is available at http://www.eclipse.org/legal/epl-v10.html * and the Eclipse Distribution License is available at * http://www.eclipse.org/org/documents/edl-v10.php. * * Contributors: * Oracle - initial API and implementation from Oracle TopLink ******************************************************************************/ package org.eclipse.persistence.tools.workbench.test.platformsplugin.model; import java.sql.Connection; import java.sql.DatabaseMetaData; import java.sql.SQLException; import java.sql.Types; import java.util.Map; import junit.framework.Test; import junit.framework.TestSuite; public class MSAccessTests extends PlatformTests { public static Test suite() { return new TestSuite(MSAccessTests.class); } public MSAccessTests(String name) { super(name); } protected Connection buildConnection() throws Exception { try { return super.buildConnection(); } catch (SQLException ex) { throw new RuntimeException( "You must have an ODBC data source named \'" + this.odbcDataSourceName() + "\'; and it should be pointing to an Access database.", ex); } } protected String driverClassName() { return "sun.jdbc.odbc.JdbcOdbcDriver"; } protected String connectionURL() { return "jdbc:odbc:" + this.odbcDataSourceName(); } protected String odbcDataSourceName() { return "MW"; } protected String platformName() { return "Microsoft Access"; } protected void verifyVersionNumber() throws Exception { // we're not too worried about which version of Access we're running against } /** * Access barfs if a schema pattern is passed to * DatabaseMetaData#getColumns() */ protected String schemaPattern() { return null; } protected void appendColumnsToTableDDL(StringBuffer sb) { // types from MS Access Help sb.append(" TEXT_COL TEXT,"); sb.append(CR); sb.append(" TEXT_20_COL TEXT(20),"); sb.append(CR); sb.append(" MEMO_COL MEMO,"); sb.append(CR); sb.append(" NUMBER_COL NUMBER,"); sb.append(CR); sb.append(" DATETIME_COL DATETIME,"); sb.append(CR); sb.append(" CURRENCY_COL CURRENCY,"); sb.append(CR); // sb.append(" AUTONUMBER_COL AUTONUMBER,"); sb.append(CR); // COUNTER? sb.append(" YESNO_COL YESNO,"); sb.append(CR); sb.append(" OLEOBJECT_COL OLEOBJECT,"); sb.append(CR); // sb.append(" HYPERLINK_COL HYPERLINK,"); sb.append(CR); // doesn't seem to work? // types from JDBC dump sb.append(" BIT_COL BIT,"); sb.append(CR); sb.append(" BYTE_COL BYTE,"); sb.append(CR); sb.append(" LONGBINARY_COL LONGBINARY,"); sb.append(CR); sb.append(" VARBINARY_COL VARBINARY,"); sb.append(CR); sb.append(" VARBINARY_20_COL VARBINARY(20),"); sb.append(CR); sb.append(" BINARY_COL BINARY,"); sb.append(CR); sb.append(" BINARY_20_COL BINARY(20),"); sb.append(CR); sb.append(" LONGCHAR_COL LONGCHAR,"); sb.append(CR); sb.append(" CHAR_COL CHAR,"); sb.append(CR); sb.append(" CHAR_20_COL CHAR(20),"); sb.append(CR); sb.append(" INTEGER_COL INTEGER,"); sb.append(CR); sb.append(" COUNTER_COL COUNTER,"); sb.append(CR); sb.append(" SMALLINT_COL SMALLINT,"); sb.append(CR); sb.append(" REAL_COL REAL,"); sb.append(CR); sb.append(" DOUBLE_COL DOUBLE,"); sb.append(CR); sb.append(" VARCHAR_COL VARCHAR,"); sb.append(CR); sb.append(" VARCHAR_20_COL VARCHAR(20)"); sb.append(CR); } protected void verifyTable(Map metaDataMap) { // TEXT // this.verifyColumnAttribute(metaDataMap, "TEXT_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "TEXT_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "TEXT_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "TEXT_COL", "DATA_TYPE", Types.VARCHAR); this.verifyColumnAttribute(metaDataMap, "TEXT_COL", "TYPE_NAME", "VARCHAR"); this.verifyColumnAttribute(metaDataMap, "TEXT_COL", "COLUMN_SIZE", 255); this.verifyColumnAttribute(metaDataMap, "TEXT_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "TEXT_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "TEXT_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "TEXT_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "TEXT_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "TEXT_COL", "IS_NULLABLE", "YES"); // TEXT(20) // this.verifyColumnAttribute(metaDataMap, "TEXT_20_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "TEXT_20_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "TEXT_20_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "TEXT_20_COL", "DATA_TYPE", Types.VARCHAR); this.verifyColumnAttribute(metaDataMap, "TEXT_20_COL", "TYPE_NAME", "VARCHAR"); this.verifyColumnAttribute(metaDataMap, "TEXT_20_COL", "COLUMN_SIZE", 20); this.verifyColumnAttribute(metaDataMap, "TEXT_20_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "TEXT_20_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "TEXT_20_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "TEXT_20_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "TEXT_20_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "TEXT_20_COL", "IS_NULLABLE", "YES"); // MEMO // this.verifyColumnAttribute(metaDataMap, "MEMO_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "MEMO_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "MEMO_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "MEMO_COL", "DATA_TYPE", Types.LONGVARCHAR); this.verifyColumnAttribute(metaDataMap, "MEMO_COL", "TYPE_NAME", "LONGCHAR"); this.verifyColumnAttribute(metaDataMap, "MEMO_COL", "COLUMN_SIZE", 1073741823); this.verifyColumnAttribute(metaDataMap, "MEMO_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "MEMO_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "MEMO_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "MEMO_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "MEMO_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "MEMO_COL", "IS_NULLABLE", "YES"); // NUMBER // this.verifyColumnAttribute(metaDataMap, "NUMBER_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "NUMBER_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "NUMBER_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "NUMBER_COL", "DATA_TYPE", Types.DOUBLE); this.verifyColumnAttribute(metaDataMap, "NUMBER_COL", "TYPE_NAME", "DOUBLE"); this.verifyColumnAttribute(metaDataMap, "NUMBER_COL", "COLUMN_SIZE", 15); this.verifyColumnAttribute(metaDataMap, "NUMBER_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "NUMBER_COL", "NUM_PREC_RADIX", 10); this.verifyColumnAttribute(metaDataMap, "NUMBER_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "NUMBER_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "NUMBER_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "NUMBER_COL", "IS_NULLABLE", "YES"); // DATETIME // this.verifyColumnAttribute(metaDataMap, "DATETIME_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "DATETIME_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "DATETIME_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "DATETIME_COL", "DATA_TYPE", Types.TIMESTAMP); this.verifyColumnAttribute(metaDataMap, "DATETIME_COL", "TYPE_NAME", "DATETIME"); this.verifyColumnAttribute(metaDataMap, "DATETIME_COL", "COLUMN_SIZE", 19); this.verifyColumnAttribute(metaDataMap, "DATETIME_COL", "DECIMAL_DIGITS", 0); this.verifyColumnAttribute(metaDataMap, "DATETIME_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "DATETIME_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "DATETIME_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "DATETIME_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "DATETIME_COL", "IS_NULLABLE", "YES"); // CURRENCY // this.verifyColumnAttribute(metaDataMap, "CURRENCY_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "CURRENCY_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "CURRENCY_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "CURRENCY_COL", "DATA_TYPE", Types.NUMERIC); this.verifyColumnAttribute(metaDataMap, "CURRENCY_COL", "TYPE_NAME", "CURRENCY"); this.verifyColumnAttribute(metaDataMap, "CURRENCY_COL", "COLUMN_SIZE", 19); this.verifyColumnAttribute(metaDataMap, "CURRENCY_COL", "DECIMAL_DIGITS", 4); this.verifyColumnAttribute(metaDataMap, "CURRENCY_COL", "NUM_PREC_RADIX", 10); this.verifyColumnAttribute(metaDataMap, "CURRENCY_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "CURRENCY_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "CURRENCY_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "CURRENCY_COL", "IS_NULLABLE", "YES"); // YESNO // this.verifyColumnAttribute(metaDataMap, "YESNO_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "YESNO_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "YESNO_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "YESNO_COL", "DATA_TYPE", Types.BIT); this.verifyColumnAttribute(metaDataMap, "YESNO_COL", "TYPE_NAME", "BIT"); this.verifyColumnAttribute(metaDataMap, "YESNO_COL", "COLUMN_SIZE", 1); this.verifyColumnAttribute(metaDataMap, "YESNO_COL", "DECIMAL_DIGITS", 0); this.verifyColumnAttribute(metaDataMap, "YESNO_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "YESNO_COL", "NULLABLE", DatabaseMetaData.columnNoNulls); this.verifyColumnAttribute(metaDataMap, "YESNO_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "YESNO_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "YESNO_COL", "IS_NULLABLE", "NO"); // OLEOBJECT // this.verifyColumnAttribute(metaDataMap, "OLEOBJECT_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "OLEOBJECT_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "OLEOBJECT_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "OLEOBJECT_COL", "DATA_TYPE", Types.LONGVARBINARY); this.verifyColumnAttribute(metaDataMap, "OLEOBJECT_COL", "TYPE_NAME", "LONGBINARY"); this.verifyColumnAttribute(metaDataMap, "OLEOBJECT_COL", "COLUMN_SIZE", 1073741823); this.verifyColumnAttribute(metaDataMap, "OLEOBJECT_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "OLEOBJECT_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "OLEOBJECT_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "OLEOBJECT_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "OLEOBJECT_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "OLEOBJECT_COL", "IS_NULLABLE", "YES"); // BIT // this.verifyColumnAttribute(metaDataMap, "BIT_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "BIT_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "BIT_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "BIT_COL", "DATA_TYPE", Types.BIT); this.verifyColumnAttribute(metaDataMap, "BIT_COL", "TYPE_NAME", "BIT"); this.verifyColumnAttribute(metaDataMap, "BIT_COL", "COLUMN_SIZE", 1); this.verifyColumnAttribute(metaDataMap, "BIT_COL", "DECIMAL_DIGITS", 0); this.verifyColumnAttribute(metaDataMap, "BIT_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "BIT_COL", "NULLABLE", DatabaseMetaData.columnNoNulls); this.verifyColumnAttribute(metaDataMap, "BIT_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "BIT_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "BIT_COL", "IS_NULLABLE", "NO"); // BYTE // this.verifyColumnAttribute(metaDataMap, "BYTE_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "BYTE_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "BYTE_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "BYTE_COL", "DATA_TYPE", Types.TINYINT); this.verifyColumnAttribute(metaDataMap, "BYTE_COL", "TYPE_NAME", "BYTE"); this.verifyColumnAttribute(metaDataMap, "BYTE_COL", "COLUMN_SIZE", 3); this.verifyColumnAttribute(metaDataMap, "BYTE_COL", "DECIMAL_DIGITS", 0); this.verifyColumnAttribute(metaDataMap, "BYTE_COL", "NUM_PREC_RADIX", 10); this.verifyColumnAttribute(metaDataMap, "BYTE_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "BYTE_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "BYTE_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "BYTE_COL", "IS_NULLABLE", "YES"); // LONGBINARY // this.verifyColumnAttribute(metaDataMap, "LONGBINARY_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "LONGBINARY_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "LONGBINARY_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "LONGBINARY_COL", "DATA_TYPE", Types.LONGVARBINARY); this.verifyColumnAttribute(metaDataMap, "LONGBINARY_COL", "TYPE_NAME", "LONGBINARY"); this.verifyColumnAttribute(metaDataMap, "LONGBINARY_COL", "COLUMN_SIZE", 1073741823); this.verifyColumnAttribute(metaDataMap, "LONGBINARY_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "LONGBINARY_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "LONGBINARY_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "LONGBINARY_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "LONGBINARY_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "LONGBINARY_COL", "IS_NULLABLE", "YES"); // VARBINARY // this.verifyColumnAttribute(metaDataMap, "VARBINARY_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "VARBINARY_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "VARBINARY_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "VARBINARY_COL", "DATA_TYPE", Types.VARBINARY); this.verifyColumnAttribute(metaDataMap, "VARBINARY_COL", "TYPE_NAME", "VARBINARY"); this.verifyColumnAttribute(metaDataMap, "VARBINARY_COL", "COLUMN_SIZE", 510); this.verifyColumnAttribute(metaDataMap, "VARBINARY_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "VARBINARY_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "VARBINARY_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "VARBINARY_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "VARBINARY_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "VARBINARY_COL", "IS_NULLABLE", "YES"); // VARBINARY(20) // this.verifyColumnAttribute(metaDataMap, "VARBINARY_20_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "VARBINARY_20_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "VARBINARY_20_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "VARBINARY_20_COL", "DATA_TYPE", Types.VARBINARY); this.verifyColumnAttribute(metaDataMap, "VARBINARY_20_COL", "TYPE_NAME", "VARBINARY"); this.verifyColumnAttribute(metaDataMap, "VARBINARY_20_COL", "COLUMN_SIZE", 20); this.verifyColumnAttribute(metaDataMap, "VARBINARY_20_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "VARBINARY_20_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "VARBINARY_20_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "VARBINARY_20_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "VARBINARY_20_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "VARBINARY_20_COL", "IS_NULLABLE", "YES"); // BINARY // this.verifyColumnAttribute(metaDataMap, "BINARY_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "BINARY_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "BINARY_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "BINARY_COL", "DATA_TYPE", Types.BINARY); this.verifyColumnAttribute(metaDataMap, "BINARY_COL", "TYPE_NAME", "BINARY"); this.verifyColumnAttribute(metaDataMap, "BINARY_COL", "COLUMN_SIZE", 510); this.verifyColumnAttribute(metaDataMap, "BINARY_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "BINARY_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "BINARY_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "BINARY_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "BINARY_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "BINARY_COL", "IS_NULLABLE", "YES"); // BINARY(20) // this.verifyColumnAttribute(metaDataMap, "BINARY_20_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "BINARY_20_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "BINARY_20_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "BINARY_20_COL", "DATA_TYPE", Types.BINARY); this.verifyColumnAttribute(metaDataMap, "BINARY_20_COL", "TYPE_NAME", "BINARY"); this.verifyColumnAttribute(metaDataMap, "BINARY_20_COL", "COLUMN_SIZE", 20); this.verifyColumnAttribute(metaDataMap, "BINARY_20_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "BINARY_20_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "BINARY_20_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "BINARY_20_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "BINARY_20_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "BINARY_20_COL", "IS_NULLABLE", "YES"); // LONGCHAR // this.verifyColumnAttribute(metaDataMap, "LONGCHAR_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "LONGCHAR_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "LONGCHAR_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "LONGCHAR_COL", "DATA_TYPE", Types.LONGVARCHAR); this.verifyColumnAttribute(metaDataMap, "LONGCHAR_COL", "TYPE_NAME", "LONGCHAR"); this.verifyColumnAttribute(metaDataMap, "LONGCHAR_COL", "COLUMN_SIZE", 1073741823); this.verifyColumnAttribute(metaDataMap, "LONGCHAR_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "LONGCHAR_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "LONGCHAR_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "LONGCHAR_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "LONGCHAR_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "LONGCHAR_COL", "IS_NULLABLE", "YES"); // CHAR // this.verifyColumnAttribute(metaDataMap, "CHAR_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "CHAR_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "CHAR_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "CHAR_COL", "DATA_TYPE", Types.CHAR); this.verifyColumnAttribute(metaDataMap, "CHAR_COL", "TYPE_NAME", "CHAR"); this.verifyColumnAttribute(metaDataMap, "CHAR_COL", "COLUMN_SIZE", 255); this.verifyColumnAttribute(metaDataMap, "CHAR_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "CHAR_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "CHAR_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "CHAR_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "CHAR_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "CHAR_COL", "IS_NULLABLE", "YES"); // CHAR(20) // this.verifyColumnAttribute(metaDataMap, "CHAR_20_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "CHAR_20_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "CHAR_20_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "CHAR_20_COL", "DATA_TYPE", Types.CHAR); this.verifyColumnAttribute(metaDataMap, "CHAR_20_COL", "TYPE_NAME", "CHAR"); this.verifyColumnAttribute(metaDataMap, "CHAR_20_COL", "COLUMN_SIZE", 20); this.verifyColumnAttribute(metaDataMap, "CHAR_20_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "CHAR_20_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "CHAR_20_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "CHAR_20_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "CHAR_20_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "CHAR_20_COL", "IS_NULLABLE", "YES"); // INTEGER // this.verifyColumnAttribute(metaDataMap, "INTEGER_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "INTEGER_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "INTEGER_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "INTEGER_COL", "DATA_TYPE", Types.INTEGER); this.verifyColumnAttribute(metaDataMap, "INTEGER_COL", "TYPE_NAME", "INTEGER"); this.verifyColumnAttribute(metaDataMap, "INTEGER_COL", "COLUMN_SIZE", 10); this.verifyColumnAttribute(metaDataMap, "INTEGER_COL", "DECIMAL_DIGITS", 0); this.verifyColumnAttribute(metaDataMap, "INTEGER_COL", "NUM_PREC_RADIX", 10); this.verifyColumnAttribute(metaDataMap, "INTEGER_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "INTEGER_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "INTEGER_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "INTEGER_COL", "IS_NULLABLE", "YES"); // COUNTER // this.verifyColumnAttribute(metaDataMap, "COUNTER_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "COUNTER_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "COUNTER_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "COUNTER_COL", "DATA_TYPE", Types.INTEGER); this.verifyColumnAttribute(metaDataMap, "COUNTER_COL", "TYPE_NAME", "COUNTER"); this.verifyColumnAttribute(metaDataMap, "COUNTER_COL", "COLUMN_SIZE", 10); this.verifyColumnAttribute(metaDataMap, "COUNTER_COL", "DECIMAL_DIGITS", 0); this.verifyColumnAttribute(metaDataMap, "COUNTER_COL", "NUM_PREC_RADIX", 10); this.verifyColumnAttribute(metaDataMap, "COUNTER_COL", "NULLABLE", DatabaseMetaData.columnNoNulls); this.verifyColumnAttribute(metaDataMap, "COUNTER_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "COUNTER_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "COUNTER_COL", "IS_NULLABLE", "NO"); // SMALLINT // this.verifyColumnAttribute(metaDataMap, "SMALLINT_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "SMALLINT_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "SMALLINT_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "SMALLINT_COL", "DATA_TYPE", Types.SMALLINT); this.verifyColumnAttribute(metaDataMap, "SMALLINT_COL", "TYPE_NAME", "SMALLINT"); this.verifyColumnAttribute(metaDataMap, "SMALLINT_COL", "COLUMN_SIZE", 5); this.verifyColumnAttribute(metaDataMap, "SMALLINT_COL", "DECIMAL_DIGITS", 0); this.verifyColumnAttribute(metaDataMap, "SMALLINT_COL", "NUM_PREC_RADIX", 10); this.verifyColumnAttribute(metaDataMap, "SMALLINT_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "SMALLINT_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "SMALLINT_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "SMALLINT_COL", "IS_NULLABLE", "YES"); // REAL // this.verifyColumnAttribute(metaDataMap, "REAL_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "REAL_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "REAL_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "REAL_COL", "DATA_TYPE", Types.REAL); this.verifyColumnAttribute(metaDataMap, "REAL_COL", "TYPE_NAME", "REAL"); this.verifyColumnAttribute(metaDataMap, "REAL_COL", "COLUMN_SIZE", 7); this.verifyColumnAttribute(metaDataMap, "REAL_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "REAL_COL", "NUM_PREC_RADIX", 10); this.verifyColumnAttribute(metaDataMap, "REAL_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "REAL_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "REAL_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "REAL_COL", "IS_NULLABLE", "YES"); // DOUBLE // this.verifyColumnAttribute(metaDataMap, "DOUBLE_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "DOUBLE_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "DOUBLE_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "DOUBLE_COL", "DATA_TYPE", Types.DOUBLE); this.verifyColumnAttribute(metaDataMap, "DOUBLE_COL", "TYPE_NAME", "DOUBLE"); this.verifyColumnAttribute(metaDataMap, "DOUBLE_COL", "COLUMN_SIZE", 15); this.verifyColumnAttribute(metaDataMap, "DOUBLE_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "DOUBLE_COL", "NUM_PREC_RADIX", 10); this.verifyColumnAttribute(metaDataMap, "DOUBLE_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "DOUBLE_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "DOUBLE_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "DOUBLE_COL", "IS_NULLABLE", "YES"); // VARCHAR // this.verifyColumnAttribute(metaDataMap, "VARCHAR_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "VARCHAR_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "VARCHAR_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "VARCHAR_COL", "DATA_TYPE", Types.VARCHAR); this.verifyColumnAttribute(metaDataMap, "VARCHAR_COL", "TYPE_NAME", "VARCHAR"); this.verifyColumnAttribute(metaDataMap, "VARCHAR_COL", "COLUMN_SIZE", 255); this.verifyColumnAttribute(metaDataMap, "VARCHAR_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "VARCHAR_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "VARCHAR_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "VARCHAR_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "VARCHAR_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "VARCHAR_COL", "IS_NULLABLE", "YES"); // VARCHAR(20) // this.verifyColumnAttribute(metaDataMap, "VARCHAR_20_COL", "TABLE_CAT", null); // the catalog is the local file name this.verifyColumnAttribute(metaDataMap, "VARCHAR_20_COL", "TABLE_SCHEM", null); this.verifyColumnAttribute(metaDataMap, "VARCHAR_20_COL", "TABLE_NAME", this.tableName()); this.verifyColumnAttribute(metaDataMap, "VARCHAR_20_COL", "DATA_TYPE", Types.VARCHAR); this.verifyColumnAttribute(metaDataMap, "VARCHAR_20_COL", "TYPE_NAME", "VARCHAR"); this.verifyColumnAttribute(metaDataMap, "VARCHAR_20_COL", "COLUMN_SIZE", 20); this.verifyColumnAttribute(metaDataMap, "VARCHAR_20_COL", "DECIMAL_DIGITS", null); this.verifyColumnAttribute(metaDataMap, "VARCHAR_20_COL", "NUM_PREC_RADIX", null); this.verifyColumnAttribute(metaDataMap, "VARCHAR_20_COL", "NULLABLE", DatabaseMetaData.columnNullable); this.verifyColumnAttribute(metaDataMap, "VARCHAR_20_COL", "REMARKS", null); this.verifyColumnAttribute(metaDataMap, "VARCHAR_20_COL", "COLUMN_DEF", null); this.verifyColumnAttribute(metaDataMap, "VARCHAR_20_COL", "IS_NULLABLE", "YES"); } }