[#2492] MS Access support will be implemented in a later version than
3.2
This commit is contained in:
parent
ca3da26634
commit
f2aa2b0b5f
@ -1,770 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2009-2013, Lukas Eder, lukas.eder@gmail.com
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* . Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* . Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* . Neither the name of the "jOOQ" nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
|
||||
package org.jooq.test;
|
||||
|
||||
import static org.jooq.test.access.generatedclasses.Tables.T_BOOK_TO_BOOK_STORE;
|
||||
import static org.jooq.test.access.generatedclasses.Tables.T_BOOLEANS;
|
||||
import static org.jooq.test.access.generatedclasses.Tables.T_DATES;
|
||||
import static org.jooq.test.access.generatedclasses.Tables.T_EXOTIC_TYPES;
|
||||
import static org.jooq.test.access.generatedclasses.Tables.T_IDENTITY;
|
||||
import static org.jooq.test.access.generatedclasses.Tables.T_IDENTITY_PK;
|
||||
import static org.jooq.test.access.generatedclasses.Tables.T_UNSIGNED;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.sql.Date;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.jooq.ArrayRecord;
|
||||
import org.jooq.DSLContext;
|
||||
import org.jooq.DataType;
|
||||
import org.jooq.Field;
|
||||
import org.jooq.ForeignKey;
|
||||
import org.jooq.Record;
|
||||
import org.jooq.Result;
|
||||
import org.jooq.SQLDialect;
|
||||
import org.jooq.Table;
|
||||
import org.jooq.TableField;
|
||||
import org.jooq.UDTRecord;
|
||||
import org.jooq.conf.Settings;
|
||||
import org.jooq.impl.DSL;
|
||||
import org.jooq.test._.converters.Boolean_10;
|
||||
import org.jooq.test._.converters.Boolean_TF_LC;
|
||||
import org.jooq.test._.converters.Boolean_TF_UC;
|
||||
import org.jooq.test._.converters.Boolean_YES_NO_LC;
|
||||
import org.jooq.test._.converters.Boolean_YES_NO_UC;
|
||||
import org.jooq.test._.converters.Boolean_YN_LC;
|
||||
import org.jooq.test._.converters.Boolean_YN_UC;
|
||||
import org.jooq.test.access.generatedclasses.tables.TAuthor;
|
||||
import org.jooq.test.access.generatedclasses.tables.TBook;
|
||||
import org.jooq.test.access.generatedclasses.tables.TBookStore;
|
||||
import org.jooq.test.access.generatedclasses.tables.TBookToBookStore;
|
||||
import org.jooq.test.access.generatedclasses.tables.TBooleans;
|
||||
import org.jooq.test.access.generatedclasses.tables.TExoticTypes;
|
||||
import org.jooq.test.access.generatedclasses.tables.TIdentity;
|
||||
import org.jooq.test.access.generatedclasses.tables.TIdentityPk;
|
||||
import org.jooq.test.access.generatedclasses.tables.TTriggers;
|
||||
import org.jooq.test.access.generatedclasses.tables.TUnsigned;
|
||||
import org.jooq.test.access.generatedclasses.tables.T_639NumbersTable;
|
||||
import org.jooq.test.access.generatedclasses.tables.T_725LobTest;
|
||||
import org.jooq.test.access.generatedclasses.tables.T_785;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.TAuthorRecord;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.TBookRecord;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.TBookStoreRecord;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.TBookToBookStoreRecord;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.TBooleansRecord;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.TDatesRecord;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.TExoticTypesRecord;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.TIdentityPkRecord;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.TIdentityRecord;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.TTriggersRecord;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.TUnsignedRecord;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.T_639NumbersTableRecord;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.T_725LobTestRecord;
|
||||
import org.jooq.test.access.generatedclasses.tables.records.T_785Record;
|
||||
import org.jooq.types.UByte;
|
||||
import org.jooq.types.UInteger;
|
||||
import org.jooq.types.ULong;
|
||||
import org.jooq.types.UShort;
|
||||
import org.jooq.util.access.AccessDataType;
|
||||
|
||||
|
||||
/**
|
||||
* Integration test that creates tables and performs various sql operations.
|
||||
*
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
public class AccessTest extends jOOQAbstractTest<
|
||||
TAuthorRecord,
|
||||
Object,
|
||||
TBookRecord,
|
||||
TBookStoreRecord,
|
||||
TBookToBookStoreRecord,
|
||||
TBookRecord,
|
||||
TBookRecord,
|
||||
TBookRecord,
|
||||
TDatesRecord,
|
||||
TBooleansRecord,
|
||||
TBookRecord,
|
||||
TTriggersRecord,
|
||||
TUnsignedRecord,
|
||||
TExoticTypesRecord,
|
||||
TIdentityRecord,
|
||||
TIdentityPkRecord,
|
||||
T_725LobTestRecord,
|
||||
T_639NumbersTableRecord,
|
||||
T_785Record> {
|
||||
|
||||
@Override
|
||||
protected DSLContext create0(Settings settings) {
|
||||
return DSL.using(getConnection(), SQLDialect.ACCESS, settings);
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TAuthorRecord> TAuthor() {
|
||||
return TAuthor.T_AUTHOR;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TAuthorRecord, String> TAuthor_LAST_NAME() {
|
||||
return TAuthor.LAST_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TAuthorRecord, String> TAuthor_FIRST_NAME() {
|
||||
return TAuthor.FIRST_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TAuthorRecord, Date> TAuthor_DATE_OF_BIRTH() {
|
||||
return TAuthor.DATE_OF_BIRTH;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TAuthorRecord, Integer> TAuthor_YEAR_OF_BIRTH() {
|
||||
return TAuthor.YEAR_OF_BIRTH;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TAuthorRecord, Integer> TAuthor_ID() {
|
||||
return TAuthor.ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TAuthorRecord, ? extends UDTRecord<?>> TAuthor_ADDRESS() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TBookRecord> TBook() {
|
||||
return TBook.T_BOOK;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, Integer> TBook_ID() {
|
||||
return TBook.ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, Integer> TBook_AUTHOR_ID() {
|
||||
return TBook.AUTHOR_ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, Integer> TBook_CO_AUTHOR_ID() {
|
||||
return TBook.CO_AUTHOR_ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, String> TBook_TITLE() {
|
||||
return TBook.TITLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TBookStoreRecord> TBookStore() {
|
||||
return TBookStore.T_BOOK_STORE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookStoreRecord, String> TBookStore_NAME() {
|
||||
return TBookStore.XNAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TBookToBookStoreRecord> TBookToBookStore() {
|
||||
return T_BOOK_TO_BOOK_STORE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TBookRecord> TBookSale() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookToBookStoreRecord, Integer> TBookToBookStore_BOOK_ID() {
|
||||
return TBookToBookStore.BOOK_ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookToBookStoreRecord, String> TBookToBookStore_BOOK_STORE_NAME() {
|
||||
return TBookToBookStore.BOOK_STORE_NAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookToBookStoreRecord, Integer> TBookToBookStore_STOCK() {
|
||||
return TBookToBookStore.STOCK;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ForeignKey<TBookRecord, TAuthorRecord> FK_T_BOOK_AUTHOR_ID() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected ForeignKey<TBookRecord, TAuthorRecord> FK_T_BOOK_CO_AUTHOR_ID() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<T_725LobTestRecord> T725() {
|
||||
return T_725LobTest.T_725_LOB_TEST;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_725LobTestRecord, Integer> T725_ID() {
|
||||
return T_725LobTest.ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_725LobTestRecord, byte[]> T725_LOB() {
|
||||
return T_725LobTest.LOB;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<T_785Record> T785() {
|
||||
return T_785.T_785;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_785Record, Integer> T785_ID() {
|
||||
return T_785.ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_785Record, String> T785_NAME() {
|
||||
return T_785.XNAME;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_785Record, String> T785_VALUE() {
|
||||
return T_785.XVALUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TUnsignedRecord> TUnsigned() {
|
||||
return T_UNSIGNED;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TUnsignedRecord, UByte> TUnsigned_U_BYTE() {
|
||||
return TUnsigned.U_BYTE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TUnsignedRecord, UShort> TUnsigned_U_SHORT() {
|
||||
return TUnsigned.U_SHORT;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TUnsignedRecord, UInteger> TUnsigned_U_INT() {
|
||||
return TUnsigned.U_INT;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TUnsignedRecord, ULong> TUnsigned_U_LONG() {
|
||||
return TUnsigned.U_LONG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TExoticTypesRecord> TExoticTypes() {
|
||||
return T_EXOTIC_TYPES;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TExoticTypesRecord, Integer> TExoticTypes_ID() {
|
||||
return TExoticTypes.ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TExoticTypesRecord, UUID> TExoticTypes_UU() {
|
||||
return TExoticTypes.UU;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TDatesRecord> TDates() {
|
||||
return T_DATES;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TBooleansRecord> TBooleans() {
|
||||
return T_BOOLEANS;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBooleansRecord, Integer> TBooleans_ID() {
|
||||
return TBooleans.ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBooleansRecord, Boolean_10> TBooleans_BOOLEAN_10() {
|
||||
return TBooleans.ONE_ZERO;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBooleansRecord, Boolean_TF_LC> TBooleans_Boolean_TF_LC() {
|
||||
return TBooleans.TRUE_FALSE_LC;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBooleansRecord, Boolean_TF_UC> TBooleans_Boolean_TF_UC() {
|
||||
return TBooleans.TRUE_FALSE_UC;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBooleansRecord, Boolean_YN_LC> TBooleans_Boolean_YN_LC() {
|
||||
return TBooleans.Y_N_LC;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBooleansRecord, Boolean_YN_UC> TBooleans_Boolean_YN_UC() {
|
||||
return TBooleans.Y_N_UC;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBooleansRecord, Boolean_YES_NO_LC> TBooleans_Boolean_YES_NO_LC() {
|
||||
return TBooleans.YES_NO_LC;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBooleansRecord, Boolean_YES_NO_UC> TBooleans_Boolean_YES_NO_UC() {
|
||||
return TBooleans.YES_NO_UC;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBooleansRecord, Boolean> TBooleans_VC() {
|
||||
return TBooleans.VC_BOOLEAN;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBooleansRecord, Boolean> TBooleans_C() {
|
||||
return TBooleans.C_BOOLEAN;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBooleansRecord, Boolean> TBooleans_N() {
|
||||
return TBooleans.N_BOOLEAN;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<T_639NumbersTableRecord> T639() {
|
||||
return T_639NumbersTable.T_639_NUMBERS_TABLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_639NumbersTableRecord, Integer> T639_ID() {
|
||||
return T_639NumbersTable.ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_639NumbersTableRecord, BigDecimal> T639_BIG_DECIMAL() {
|
||||
return T_639NumbersTable.BIG_DECIMAL;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_639NumbersTableRecord, BigInteger> T639_BIG_INTEGER() {
|
||||
return T_639NumbersTable.BIG_INTEGER;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_639NumbersTableRecord, Byte> T639_BYTE() {
|
||||
return T_639NumbersTable.XBYTE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_639NumbersTableRecord, Byte> T639_BYTE_DECIMAL() {
|
||||
return T_639NumbersTable.BYTE_DECIMAL;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_639NumbersTableRecord, Short> T639_SHORT() {
|
||||
return T_639NumbersTable.XSHORT;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_639NumbersTableRecord, Short> T639_SHORT_DECIMAL() {
|
||||
return T_639NumbersTable.SHORT_DECIMAL;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_639NumbersTableRecord, Integer> T639_INTEGER() {
|
||||
return T_639NumbersTable.XINTEGER;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_639NumbersTableRecord, Integer> T639_INTEGER_DECIMAL() {
|
||||
return T_639NumbersTable.INTEGER_DECIMAL;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_639NumbersTableRecord, Long> T639_LONG() {
|
||||
return T_639NumbersTable.XLONG;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_639NumbersTableRecord, Long> T639_LONG_DECIMAL() {
|
||||
return T_639NumbersTable.LONG_DECIMAL;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_639NumbersTableRecord, Double> T639_DOUBLE() {
|
||||
return T_639NumbersTable.XDOUBLE;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<T_639NumbersTableRecord, Float> T639_FLOAT() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TBookRecord> TArrays() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, Integer> TArrays_ID() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, String[]> TArrays_STRING() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, Integer[]> TArrays_NUMBER() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, Date[]> TArrays_DATE() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, ArrayRecord<String>> TArrays_STRING_R() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, ArrayRecord<Integer>> TArrays_NUMBER_R() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, ArrayRecord<Date>> TArrays_DATE_R() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, ? extends ArrayRecord<Long>> TArrays_NUMBER_LONG_R() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, Integer> TBook_LANGUAGE_ID() {
|
||||
return TBook.LANGUAGE_ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, Integer> TBook_PUBLISHED_IN() {
|
||||
return TBook.PUBLISHED_IN;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, String> TBook_CONTENT_TEXT() {
|
||||
return TBook.CONTENT_TEXT;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, byte[]> TBook_CONTENT_PDF() {
|
||||
return TBook.CONTENT_PDF;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, ? extends Enum<?>> TBook_STATUS() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TBookRecord> VLibrary() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, String> VLibrary_TITLE() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, String> VLibrary_AUTHOR() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<?> VAuthor() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<?> VBook() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TBookRecord> TDirectory() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, Integer> TDirectory_ID() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, Integer> TDirectory_PARENT_ID() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, Integer> TDirectory_IS_DIRECTORY() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, String> TDirectory_NAME() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TTriggersRecord> TTriggers() {
|
||||
return TTriggers.T_TRIGGERS;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TTriggersRecord, Integer> TTriggers_ID_GENERATED() {
|
||||
return TTriggers.ID_GENERATED;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TTriggersRecord, Integer> TTriggers_ID() {
|
||||
return TTriggers.ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TTriggersRecord, Integer> TTriggers_COUNTER() {
|
||||
return TTriggers.XINTEGER;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TIdentityRecord> TIdentity() {
|
||||
return T_IDENTITY;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TIdentityRecord, Integer> TIdentity_ID() {
|
||||
return TIdentity.ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TIdentityRecord, Integer> TIdentity_VAL() {
|
||||
return TIdentity.VAL;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Table<TIdentityPkRecord> TIdentityPK() {
|
||||
return T_IDENTITY_PK;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TIdentityPkRecord, Integer> TIdentityPK_ID() {
|
||||
return TIdentityPk.ID;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TIdentityPkRecord, Integer> TIdentityPK_VAL() {
|
||||
return TIdentityPk.VAL;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Field<? extends Number> FAuthorExistsField(String authorName) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Field<? extends Number> FOneField() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Field<? extends Number> FNumberField(Number n) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Field<? extends Number> FNumberField(Field<? extends Number> n) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Field<? extends Number> F317Field(Number n1, Number n2, Number n3, Number n4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Field<? extends Number> F317Field(Field<? extends Number> n1, Field<? extends Number> n2,
|
||||
Field<? extends Number> n3, Field<? extends Number> n4) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Field<Result<Record>> FGetOneCursorField(Integer[] array) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Field<Integer[]> FArrays1Field(Field<Integer[]> array) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected Field<Long[]> FArrays2Field(Field<Long[]> array) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected Field<String[]> FArrays3Field(Field<String[]> array) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected <T extends ArrayRecord<Integer>> Field<T> FArrays1Field_R(Field<T> array) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected <T extends ArrayRecord<Long>> Field<T> FArrays2Field_R(Field<T> array) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected <T extends ArrayRecord<String>> Field<T> FArrays3Field_R(Field<T> array) {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@Override
|
||||
protected Class<? extends UDTRecord<?>> cUAddressType() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<? extends UDTRecord<?>> cUStreetType() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<?> cRoutines() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean supportsOUTParameters() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean supportsReferences() {
|
||||
return true;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected boolean supportsRecursiveQueries() {
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<?> cLibrary() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Class<?> cSequences() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected TableField<TBookRecord, ? extends UDTRecord<?>[]> TArrays_UDT() {
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
protected DataType<?>[] getCastableDataTypes() {
|
||||
return new DataType<?>[] {
|
||||
AccessDataType.BIGINT,
|
||||
AccessDataType.BINARY,
|
||||
AccessDataType.BINARYLARGEOBJECT,
|
||||
AccessDataType.BIT,
|
||||
AccessDataType.BOOLEAN,
|
||||
AccessDataType.CHAR,
|
||||
AccessDataType.CHARACTER,
|
||||
AccessDataType.CHARACTERLARGEOBJECT,
|
||||
AccessDataType.CHARACTERVARYING,
|
||||
AccessDataType.CHARLARGEOBJECT,
|
||||
AccessDataType.DATE,
|
||||
AccessDataType.DATETIME,
|
||||
AccessDataType.DECIMAL,
|
||||
AccessDataType.DOUBLE,
|
||||
AccessDataType.DOUBLEPRECISION,
|
||||
AccessDataType.FLOAT,
|
||||
AccessDataType.INT,
|
||||
AccessDataType.INTEGER,
|
||||
AccessDataType.LONGVARBINARY,
|
||||
AccessDataType.LONGVARCHAR,
|
||||
AccessDataType.NUMERIC,
|
||||
AccessDataType.OBJECT,
|
||||
AccessDataType.OTHER,
|
||||
AccessDataType.REAL,
|
||||
AccessDataType.SMALLINT,
|
||||
AccessDataType.TIME,
|
||||
AccessDataType.TIMESTAMP,
|
||||
AccessDataType.TINYINT,
|
||||
AccessDataType.VARBINARY,
|
||||
AccessDataType.VARCHAR,
|
||||
AccessDataType.VARCHARIGNORECASE,
|
||||
};
|
||||
}
|
||||
}
|
||||
@ -60,10 +60,10 @@ public enum SQLDialect {
|
||||
@Deprecated
|
||||
SQL99(null),
|
||||
|
||||
/**
|
||||
* The MS Access SQL dialect family.
|
||||
*/
|
||||
ACCESS("Access"),
|
||||
// /**
|
||||
// * The MS Access SQL dialect family. ACCESS support will be added in jOOQ 3.3
|
||||
// */
|
||||
// ACCESS("Access"),
|
||||
|
||||
/**
|
||||
* The Sybase Adaptive Server SQL dialect family.
|
||||
|
||||
@ -527,7 +527,6 @@ class DefaultRenderContext extends AbstractContext<RenderContext> implements Ren
|
||||
break;
|
||||
|
||||
// T-SQL databases use brackets
|
||||
case ACCESS:
|
||||
case ASE:
|
||||
case SQLSERVER:
|
||||
case SYBASE:
|
||||
|
||||
@ -118,21 +118,10 @@ class MetaImpl implements Meta, Serializable {
|
||||
public final List<Catalog> getCatalogs() {
|
||||
try {
|
||||
List<Catalog> result = new ArrayList<Catalog>();
|
||||
switch (configuration.dialect()) {
|
||||
Result<Record> catalogs = create.fetch(meta().getCatalogs());
|
||||
|
||||
// Some dialects do not support catalogs in their meta data APIs
|
||||
case ACCESS:
|
||||
break;
|
||||
|
||||
default: {
|
||||
Result<Record> catalogs = create.fetch(meta().getCatalogs());
|
||||
|
||||
for (String name : catalogs.getValues(0, String.class)) {
|
||||
result.add(new MetaCatalog(name));
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
for (String name : catalogs.getValues(0, String.class)) {
|
||||
result.add(new MetaCatalog(name));
|
||||
}
|
||||
|
||||
// There should always be at least one (empty) catalog in a database
|
||||
@ -199,21 +188,10 @@ class MetaImpl implements Meta, Serializable {
|
||||
public final List<Schema> getSchemas() {
|
||||
try {
|
||||
List<Schema> result = new ArrayList<Schema>();
|
||||
switch (configuration.dialect()) {
|
||||
Result<Record> schemas = create.fetch(meta().getSchemas());
|
||||
|
||||
// Some dialects do not support schemas in their meta data APIs
|
||||
case ACCESS:
|
||||
break;
|
||||
|
||||
default: {
|
||||
Result<Record> schemas = create.fetch(meta().getSchemas());
|
||||
|
||||
for (String name : schemas.getValues(0, String.class)) {
|
||||
result.add(new MetaSchema(name));
|
||||
}
|
||||
|
||||
break;
|
||||
}
|
||||
for (String name : schemas.getValues(0, String.class)) {
|
||||
result.add(new MetaSchema(name));
|
||||
}
|
||||
|
||||
// There should always be at least one (empty) schema in a database
|
||||
|
||||
@ -53,7 +53,6 @@ import org.jooq.types.UInteger;
|
||||
import org.jooq.types.ULong;
|
||||
import org.jooq.types.UShort;
|
||||
import org.jooq.types.YearToMonth;
|
||||
import org.jooq.util.access.AccessDataType;
|
||||
import org.jooq.util.ase.ASEDataType;
|
||||
import org.jooq.util.cubrid.CUBRIDDataType;
|
||||
import org.jooq.util.db2.DB2DataType;
|
||||
@ -317,7 +316,6 @@ public final class SQLDataType {
|
||||
// TODO [#650] Make this more reliable using a data type registry
|
||||
|
||||
try {
|
||||
Class.forName(AccessDataType.class.getName());
|
||||
Class.forName(ASEDataType.class.getName());
|
||||
Class.forName(CUBRIDDataType.class.getName());
|
||||
Class.forName(DB2DataType.class.getName());
|
||||
|
||||
@ -35,7 +35,6 @@
|
||||
*/
|
||||
package org.jooq.tools.jdbc;
|
||||
|
||||
import static org.jooq.SQLDialect.ACCESS;
|
||||
import static org.jooq.SQLDialect.ASE;
|
||||
import static org.jooq.SQLDialect.CUBRID;
|
||||
import static org.jooq.SQLDialect.DB2;
|
||||
@ -109,10 +108,7 @@ public class JDBCUtils {
|
||||
|
||||
// The below list might not be accurate or complete. Feel free to
|
||||
// contribute fixes related to new / different JDBC driver configuraitons
|
||||
if (url.startsWith("jdbc:ucanaccess:")) {
|
||||
return ACCESS;
|
||||
}
|
||||
else if (url.startsWith("jdbc:jtds:sybase:")) {
|
||||
if (url.startsWith("jdbc:jtds:sybase:")) {
|
||||
return ASE;
|
||||
}
|
||||
else if (url.startsWith("jdbc:cubrid:")) {
|
||||
|
||||
@ -1,128 +0,0 @@
|
||||
/**
|
||||
* Copyright (c) 2009-2013, Lukas Eder, lukas.eder@gmail.com
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* . Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
*
|
||||
* . Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* . Neither the name of the "jOOQ" nor the names of its contributors may be
|
||||
* used to endorse or promote products derived from this software without
|
||||
* specific prior written permission.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
||||
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
||||
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
||||
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE
|
||||
* LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
||||
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
||||
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
||||
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
||||
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
||||
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
|
||||
* POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package org.jooq.util.access;
|
||||
|
||||
import java.math.BigDecimal;
|
||||
import java.math.BigInteger;
|
||||
import java.sql.Date;
|
||||
import java.sql.Time;
|
||||
import java.sql.Timestamp;
|
||||
import java.util.UUID;
|
||||
|
||||
import org.jooq.DataType;
|
||||
import org.jooq.Record;
|
||||
import org.jooq.Result;
|
||||
import org.jooq.SQLDialect;
|
||||
import org.jooq.impl.DefaultDataType;
|
||||
import org.jooq.impl.SQLDataType;
|
||||
import org.jooq.types.DayToSecond;
|
||||
import org.jooq.types.UByte;
|
||||
import org.jooq.types.UInteger;
|
||||
import org.jooq.types.ULong;
|
||||
import org.jooq.types.UShort;
|
||||
import org.jooq.types.YearToMonth;
|
||||
|
||||
/**
|
||||
* Supported data types for the {@link SQLDialect#ACCESS} dialect
|
||||
*
|
||||
* @see <a href="http://msdn.microsoft.com/en-us/library/windows/desktop/ms714540(v=vs.85).aspx">http://msdn.microsoft.com/en-us/library/windows/desktop/ms714540(v=vs.85).aspx</a>
|
||||
* @author Lukas Eder
|
||||
*/
|
||||
public class AccessDataType {
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Default SQL data types and synonyms thereof
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
public static final DataType<Byte> TINYINT = new DefaultDataType<Byte>(SQLDialect.ACCESS, SQLDataType.TINYINT, "tinyint");
|
||||
public static final DataType<Short> SMALLINT = new DefaultDataType<Short>(SQLDialect.ACCESS, SQLDataType.SMALLINT, "smallint");
|
||||
public static final DataType<Integer> INT = new DefaultDataType<Integer>(SQLDialect.ACCESS, SQLDataType.INTEGER, "int");
|
||||
public static final DataType<Integer> INTEGER = new DefaultDataType<Integer>(SQLDialect.ACCESS, SQLDataType.INTEGER, "integer");
|
||||
public static final DataType<Long> BIGINT = new DefaultDataType<Long>(SQLDialect.ACCESS, SQLDataType.BIGINT, "bigint");
|
||||
public static final DataType<Double> DOUBLE = new DefaultDataType<Double>(SQLDialect.ACCESS, SQLDataType.DOUBLE, "double");
|
||||
public static final DataType<Double> DOUBLEPRECISION = new DefaultDataType<Double>(SQLDialect.ACCESS, SQLDataType.DOUBLE, "double precision");
|
||||
public static final DataType<Double> FLOAT = new DefaultDataType<Double>(SQLDialect.ACCESS, SQLDataType.FLOAT, "float");
|
||||
public static final DataType<Float> REAL = new DefaultDataType<Float>(SQLDialect.ACCESS, SQLDataType.REAL, "real");
|
||||
public static final DataType<Boolean> BOOLEAN = new DefaultDataType<Boolean>(SQLDialect.ACCESS, SQLDataType.BOOLEAN, "boolean");
|
||||
public static final DataType<Boolean> BIT = new DefaultDataType<Boolean>(SQLDialect.ACCESS, SQLDataType.BIT, "bit");
|
||||
public static final DataType<BigDecimal> DECIMAL = new DefaultDataType<BigDecimal>(SQLDialect.ACCESS, SQLDataType.DECIMAL, "decimal");
|
||||
public static final DataType<BigDecimal> NUMERIC = new DefaultDataType<BigDecimal>(SQLDialect.ACCESS, SQLDataType.NUMERIC, "numeric");
|
||||
public static final DataType<String> VARCHAR = new DefaultDataType<String>(SQLDialect.ACCESS, SQLDataType.VARCHAR, "varchar", "varchar(32672)");
|
||||
public static final DataType<String> LONGVARCHAR = new DefaultDataType<String>(SQLDialect.ACCESS, SQLDataType.LONGVARCHAR, "longvarchar");
|
||||
public static final DataType<String> CHAR = new DefaultDataType<String>(SQLDialect.ACCESS, SQLDataType.CHAR, "char");
|
||||
public static final DataType<String> CHARACTER = new DefaultDataType<String>(SQLDialect.ACCESS, SQLDataType.CHAR, "character");
|
||||
public static final DataType<String> CHARACTERVARYING = new DefaultDataType<String>(SQLDialect.ACCESS, SQLDataType.VARCHAR, "character varying", "character varying(32672)");
|
||||
public static final DataType<String> CLOB = new DefaultDataType<String>(SQLDialect.ACCESS, SQLDataType.CLOB, "clob");
|
||||
public static final DataType<String> CHARLARGEOBJECT = new DefaultDataType<String>(SQLDialect.ACCESS, SQLDataType.CLOB, "char large object", "clob");
|
||||
public static final DataType<String> CHARACTERLARGEOBJECT = new DefaultDataType<String>(SQLDialect.ACCESS, SQLDataType.CLOB, "character large object", "clob");
|
||||
public static final DataType<Date> DATE = new DefaultDataType<Date>(SQLDialect.ACCESS, SQLDataType.DATE, "date");
|
||||
public static final DataType<Time> TIME = new DefaultDataType<Time>(SQLDialect.ACCESS, SQLDataType.TIME, "time");
|
||||
public static final DataType<Timestamp> TIMESTAMP = new DefaultDataType<Timestamp>(SQLDialect.ACCESS, SQLDataType.TIMESTAMP, "timestamp");
|
||||
public static final DataType<Timestamp> DATETIME = new DefaultDataType<Timestamp>(SQLDialect.ACCESS, SQLDataType.TIMESTAMP, "datetime");
|
||||
public static final DataType<byte[]> LONGVARBINARY = new DefaultDataType<byte[]>(SQLDialect.ACCESS, SQLDataType.LONGVARBINARY, "longvarbinary");
|
||||
public static final DataType<byte[]> VARBINARY = new DefaultDataType<byte[]>(SQLDialect.ACCESS, SQLDataType.VARBINARY, "varbinary", "varbinary(32672)");
|
||||
public static final DataType<byte[]> BINARY = new DefaultDataType<byte[]>(SQLDialect.ACCESS, SQLDataType.BINARY, "binary");
|
||||
public static final DataType<byte[]> BLOB = new DefaultDataType<byte[]>(SQLDialect.ACCESS, SQLDataType.BLOB, "blob");
|
||||
public static final DataType<byte[]> BINARYLARGEOBJECT = new DefaultDataType<byte[]>(SQLDialect.ACCESS, SQLDataType.BLOB, "binary large object", "blob");
|
||||
public static final DataType<Object> OTHER = new DefaultDataType<Object>(SQLDialect.ACCESS, SQLDataType.OTHER, "other");
|
||||
public static final DataType<YearToMonth> INTERVALYEARTOMONTH = new DefaultDataType<YearToMonth>(SQLDialect.ACCESS, SQLDataType.INTERVALYEARTOMONTH, "interval year to month");
|
||||
public static final DataType<DayToSecond> INTERVALDAYTOSECOND = new DefaultDataType<DayToSecond>(SQLDialect.ACCESS, SQLDataType.INTERVALDAYTOSECOND, "interval day to second");
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Compatibility types for supported SQLDialect.ACCESS, SQLDataTypes
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
protected static final DataType<String> __NCHAR = new DefaultDataType<String>(SQLDialect.ACCESS, SQLDataType.NCHAR, "char");
|
||||
protected static final DataType<String> __NCLOB = new DefaultDataType<String>(SQLDialect.ACCESS, SQLDataType.NCLOB, "clob");
|
||||
protected static final DataType<String> __LONGNVARCHAR = new DefaultDataType<String>(SQLDialect.ACCESS, SQLDataType.LONGNVARCHAR, "longvarchar");
|
||||
protected static final DataType<String> __NVARCHAR = new DefaultDataType<String>(SQLDialect.ACCESS, SQLDataType.NVARCHAR, "varchar", "varchar(32672)");
|
||||
protected static final DataType<UByte> __TINYINTUNSIGNED = new DefaultDataType<UByte>(SQLDialect.ACCESS, SQLDataType.TINYINTUNSIGNED, "smallint");
|
||||
protected static final DataType<UShort> __SMALLINTUNSIGNED = new DefaultDataType<UShort>(SQLDialect.ACCESS, SQLDataType.SMALLINTUNSIGNED, "int");
|
||||
protected static final DataType<UInteger> __INTEGERUNSIGNED = new DefaultDataType<UInteger>(SQLDialect.ACCESS, SQLDataType.INTEGERUNSIGNED, "bigint");
|
||||
protected static final DataType<ULong> __BIGINTUNSIGNED = new DefaultDataType<ULong>(SQLDialect.ACCESS, SQLDataType.BIGINTUNSIGNED, "decimal");
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Compatibility types for supported Java types
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
protected static final DataType<BigInteger> __BIGINTEGER = new DefaultDataType<BigInteger>(SQLDialect.ACCESS, SQLDataType.DECIMAL_INTEGER, "decimal");
|
||||
protected static final DataType<UUID> __UUID = new DefaultDataType<UUID>(SQLDialect.ACCESS, SQLDataType.UUID, "varchar", "varchar(36)");
|
||||
|
||||
// -------------------------------------------------------------------------
|
||||
// Dialect-specific data types and synonyms thereof
|
||||
// -------------------------------------------------------------------------
|
||||
|
||||
public static final DataType<String> VARCHARIGNORECASE = new DefaultDataType<String>(SQLDialect.ACCESS, SQLDataType.VARCHAR, "varchar_ignorecase", "varchar_ignorecase(32672)");
|
||||
public static final DataType<Object> OBJECT = new DefaultDataType<Object>(SQLDialect.ACCESS, SQLDataType.OTHER, "object");
|
||||
public static final DataType<Result<Record>> ROW = new DefaultDataType<Result<Record>>(SQLDialect.ACCESS, SQLDataType.RESULT, "row");
|
||||
|
||||
private AccessDataType() {}
|
||||
}
|
||||
@ -1,5 +0,0 @@
|
||||
/**
|
||||
* The <code>org.jooq.util.ase</code> package contains classes related to the
|
||||
* {@link org.jooq.SQLDialect#ACCESS} dialect.
|
||||
*/
|
||||
package org.jooq.util.access;
|
||||
Loading…
Reference in New Issue
Block a user