org.eclipse.net4j.db
Interface IDBAdapter

All Known Implementing Classes:
DBAdapter, DerbyAdapter, EmbeddedDerbyAdapter, H2Adapter, HSQLDBAdapter, MYSQLAdapter, PostgreSQLAdapter

public interface IDBAdapter

Abstracts all aspects of a database that are vendor-specific.

No Implement
This interface is not intended to be implemented by clients. Subclass DBAdapter instead.

Field Summary
static IRegistry<String,IDBAdapter> REGISTRY
           
 
Method Summary
 DBType adaptType(DBType type)
          Provide a way for the DBAdapter to override unsupported DB types with replacements.
 DataSource createJDBCDataSource()
          Deprecated. As of 4.2 no longer supported because of IP issues for external build dependencies (the vendor driver libs).
 boolean createTable(IDBTable table, Statement statement)
           
 Set<IDBTable> createTables(Iterable<? extends IDBTable> tables, Connection connection)
           
 boolean dropTable(IDBTable table, Statement statement)
           
 Collection<IDBTable> dropTables(Iterable<? extends IDBTable> tables, Connection connection)
           
 int getFieldLength(DBType type)
          Returns the column length for the given database type.
 Driver getJDBCDriver()
          Deprecated. As of 4.2 no longer supported because of IP issues for external build dependencies (the vendor driver libs).
 int getMaxFieldNameLength()
           
 int getMaxTableNameLength()
           
 String getName()
           
 String[] getReservedWords()
           
 String getVersion()
           
 boolean isColumnNotFoundException(SQLException ex)
           
 boolean isDuplicateKeyException(SQLException ex)
          Check if an exception indicates a constraint violation (duplicate key)
 boolean isReservedWord(String word)
           
 boolean isTableNotFoundException(SQLException ex)
           
 boolean isTypeIndexable(DBType type)
           
 boolean isValidFirstChar(char ch)
          Check if a character is valid as first character.
 void readSchema(Connection connection, IDBSchema schema)
           
 IDBSchema readSchema(Connection connection, String name)
           
 String sqlModifyField(IDBField field)
           
 String sqlRenameField(IDBField field, String oldName)
           
 void updateSchema(Connection connection, IDBSchema schema, IDBSchemaDelta delta)
           
 

Field Detail

REGISTRY

static final IRegistry<String,IDBAdapter> REGISTRY
Method Detail

getName

String getName()

getVersion

String getVersion()

getJDBCDriver

@Deprecated
Driver getJDBCDriver()
Deprecated. As of 4.2 no longer supported because of IP issues for external build dependencies (the vendor driver libs).


createJDBCDataSource

@Deprecated
DataSource createJDBCDataSource()
Deprecated. As of 4.2 no longer supported because of IP issues for external build dependencies (the vendor driver libs).


readSchema

IDBSchema readSchema(Connection connection,
                     String name)
Since:
4.2

readSchema

void readSchema(Connection connection,
                IDBSchema schema)
Since:
4.2

updateSchema

void updateSchema(Connection connection,
                  IDBSchema schema,
                  IDBSchemaDelta delta)
                  throws DBException
Throws:
DBException
Since:
4.2

createTables

Set<IDBTable> createTables(Iterable<? extends IDBTable> tables,
                           Connection connection)
                           throws DBException
Throws:
DBException

createTable

boolean createTable(IDBTable table,
                    Statement statement)
                    throws DBException
Throws:
DBException

dropTables

Collection<IDBTable> dropTables(Iterable<? extends IDBTable> tables,
                                Connection connection)
                                throws DBException
Throws:
DBException

dropTable

boolean dropTable(IDBTable table,
                  Statement statement)

getReservedWords

String[] getReservedWords()

isReservedWord

boolean isReservedWord(String word)

getMaxTableNameLength

int getMaxTableNameLength()
Since:
2.0

getMaxFieldNameLength

int getMaxFieldNameLength()
Since:
2.0

getFieldLength

int getFieldLength(DBType type)
Returns the column length for the given database type.

Parameters:
type - the DBType to check.
Returns:
the supported column length for the type.
Since:
4.2

isTypeIndexable

boolean isTypeIndexable(DBType type)

adaptType

DBType adaptType(DBType type)
Provide a way for the DBAdapter to override unsupported DB types with replacements. The default implementation just returns the given type. Subclasses may override single types with replacements.

Since:
3.0

isValidFirstChar

boolean isValidFirstChar(char ch)
Check if a character is valid as first character. (e.g., underscores are forbidden as first character in Derby elements.

Since:
4.0

isDuplicateKeyException

boolean isDuplicateKeyException(SQLException ex)
Check if an exception indicates a constraint violation (duplicate key)

Since:
4.0

isTableNotFoundException

boolean isTableNotFoundException(SQLException ex)
Since:
4.2

isColumnNotFoundException

boolean isColumnNotFoundException(SQLException ex)
Since:
4.2

sqlRenameField

String sqlRenameField(IDBField field,
                      String oldName)
Since:
4.2

sqlModifyField

String sqlModifyField(IDBField field)
Since:
4.2


Copyright (c) 2011, 2012 Eike Stepper (Berlin, Germany) and others.