/*******************************************************************************
* 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.DatabaseMetaData;
import java.sql.Types;
import java.util.Map;
import junit.framework.Test;
import junit.framework.TestSuite;
public class Sybase12_5Tests extends Sybase12_0Tests {
public static Test suite() {
return new TestSuite(Sybase12_5Tests.class);
}
public Sybase12_5Tests(String name) {
super(name);
}
protected String[] driverJARNames() {
return new String[] {"jconn3.jar"};
}
protected String driverClassName() {
return "com.sybase.jdbc3.jdbc.SybDriver";
}
/**
* the Sybase Adaptive Server Enterprise 12.5 in Ottawa
*/
protected String serverName() {
return "tlsvrdb2.ca.oracle.com";
}
protected String expectedVersionNumber() {
return "12.5.2";
}
protected void appendColumnsToTableDDL(StringBuffer sb) {
sb.append("DATE_COL DATE NULL,"); sb.append(CR);
sb.append("TIME_COL TIME NULL,"); sb.append(CR);
sb.append("UNICHAR_COL UNICHAR NULL,"); sb.append(CR);
sb.append("UNICHAR_20_COL UNICHAR(20) NULL,"); sb.append(CR);
sb.append("UNIVARCHAR_COL UNIVARCHAR NULL,"); sb.append(CR);
sb.append("UNIVARCHAR_20_COL UNIVARCHAR(20) NULL,"); sb.append(CR);
super.appendColumnsToTableDDL(sb);
}
protected void verifyTable(Map metaDataMap) {
// DATE
this.verifyColumnAttribute(metaDataMap, "DATE_COL", "TABLE_CAT", this.userName());
this.verifyColumnAttribute(metaDataMap, "DATE_COL", "TABLE_SCHEM", this.userName());
this.verifyColumnAttribute(metaDataMap, "DATE_COL", "TABLE_NAME", this.tableName());
this.verifyColumnAttribute(metaDataMap, "DATE_COL", "DATA_TYPE", Types.DATE);
this.verifyColumnAttribute(metaDataMap, "DATE_COL", "TYPE_NAME", "date");
this.verifyColumnAttribute(metaDataMap, "DATE_COL", "COLUMN_SIZE", 10);
this.verifyColumnAttribute(metaDataMap, "DATE_COL", "DECIMAL_DIGITS", 0);
this.verifyColumnAttribute(metaDataMap, "DATE_COL", "NUM_PREC_RADIX", 10);
this.verifyColumnAttribute(metaDataMap, "DATE_COL", "NULLABLE", DatabaseMetaData.columnNullable);
this.verifyColumnAttribute(metaDataMap, "DATE_COL", "REMARKS", null);
this.verifyColumnAttribute(metaDataMap, "DATE_COL", "COLUMN_DEF", null);
this.verifyColumnAttribute(metaDataMap, "DATE_COL", "IS_NULLABLE", "YES");
// TIME
this.verifyColumnAttribute(metaDataMap, "TIME_COL", "TABLE_CAT", this.userName());
this.verifyColumnAttribute(metaDataMap, "TIME_COL", "TABLE_SCHEM", this.userName());
this.verifyColumnAttribute(metaDataMap, "TIME_COL", "TABLE_NAME", this.tableName());
this.verifyColumnAttribute(metaDataMap, "TIME_COL", "DATA_TYPE", Types.TIME);
this.verifyColumnAttribute(metaDataMap, "TIME_COL", "TYPE_NAME", "time");
this.verifyColumnAttribute(metaDataMap, "TIME_COL", "COLUMN_SIZE", 12);
this.verifyColumnAttribute(metaDataMap, "TIME_COL", "DECIMAL_DIGITS", 3);
this.verifyColumnAttribute(metaDataMap, "TIME_COL", "NUM_PREC_RADIX", 10);
this.verifyColumnAttribute(metaDataMap, "TIME_COL", "NULLABLE", DatabaseMetaData.columnNullable);
this.verifyColumnAttribute(metaDataMap, "TIME_COL", "REMARKS", null);
this.verifyColumnAttribute(metaDataMap, "TIME_COL", "COLUMN_DEF", null);
this.verifyColumnAttribute(metaDataMap, "TIME_COL", "IS_NULLABLE", "YES");
// UNICHAR
this.verifyColumnAttribute(metaDataMap, "UNICHAR_COL", "TABLE_CAT", this.userName());
this.verifyColumnAttribute(metaDataMap, "UNICHAR_COL", "TABLE_SCHEM", this.userName());
this.verifyColumnAttribute(metaDataMap, "UNICHAR_COL", "TABLE_NAME", this.tableName());
this.verifyColumnAttribute(metaDataMap, "UNICHAR_COL", "DATA_TYPE", Types.CHAR);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_COL", "TYPE_NAME", "unichar");
this.verifyColumnAttribute(metaDataMap, "UNICHAR_COL", "COLUMN_SIZE", 1);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_COL", "DECIMAL_DIGITS", null);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_COL", "NUM_PREC_RADIX", null);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_COL", "NULLABLE", DatabaseMetaData.columnNullable);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_COL", "REMARKS", null);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_COL", "COLUMN_DEF", null);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_COL", "IS_NULLABLE", "YES");
// UNICHAR(20)
this.verifyColumnAttribute(metaDataMap, "UNICHAR_20_COL", "TABLE_CAT", this.userName());
this.verifyColumnAttribute(metaDataMap, "UNICHAR_20_COL", "TABLE_SCHEM", this.userName());
this.verifyColumnAttribute(metaDataMap, "UNICHAR_20_COL", "TABLE_NAME", this.tableName());
this.verifyColumnAttribute(metaDataMap, "UNICHAR_20_COL", "DATA_TYPE", Types.CHAR);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_20_COL", "TYPE_NAME", "unichar");
this.verifyColumnAttribute(metaDataMap, "UNICHAR_20_COL", "COLUMN_SIZE", 20);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_20_COL", "DECIMAL_DIGITS", null);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_20_COL", "NUM_PREC_RADIX", null);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_20_COL", "NULLABLE", DatabaseMetaData.columnNullable);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_20_COL", "REMARKS", null);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_20_COL", "COLUMN_DEF", null);
this.verifyColumnAttribute(metaDataMap, "UNICHAR_20_COL", "IS_NULLABLE", "YES");
// UNIVARCHAR
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_COL", "TABLE_CAT", this.userName());
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_COL", "TABLE_SCHEM", this.userName());
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_COL", "TABLE_NAME", this.tableName());
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_COL", "DATA_TYPE", 35); // ???
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_COL", "TYPE_NAME", "univarchar");
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_COL", "COLUMN_SIZE", 1);
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_COL", "DECIMAL_DIGITS", null);
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_COL", "NUM_PREC_RADIX", null);
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_COL", "NULLABLE", DatabaseMetaData.columnNullable);
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_COL", "REMARKS", null);
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_COL", "COLUMN_DEF", null);
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_COL", "IS_NULLABLE", "YES");
// UNIVARCHAR(20)
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_20_COL", "TABLE_CAT", this.userName());
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_20_COL", "TABLE_SCHEM", this.userName());
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_20_COL", "TABLE_NAME", this.tableName());
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_20_COL", "DATA_TYPE", 35); // ???
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_20_COL", "TYPE_NAME", "univarchar");
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_20_COL", "COLUMN_SIZE", 20);
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_20_COL", "DECIMAL_DIGITS", null);
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_20_COL", "NUM_PREC_RADIX", null);
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_20_COL", "NULLABLE", DatabaseMetaData.columnNullable);
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_20_COL", "REMARKS", null);
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_20_COL", "COLUMN_DEF", null);
this.verifyColumnAttribute(metaDataMap, "UNIVARCHAR_20_COL", "IS_NULLABLE", "YES");
super.verifyTable(metaDataMap);
}
}