|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.continuent.tungsten.replicator.database.AbstractDatabase
com.continuent.tungsten.replicator.database.OracleDatabase
public class OracleDatabase
Defines an interface to the Oracle database
| Field Summary |
|---|
| Fields inherited from class com.continuent.tungsten.replicator.database.AbstractDatabase |
|---|
autoCommit, connected, dbConn, dbDriver, dbms, dbPassword, dbUri, dbUser, defaultSchema, drivers, privileged |
| Fields inherited from interface com.continuent.tungsten.replicator.database.Database |
|---|
MYSQL, ORACLE, POSTGRESQL, UNKNOWN |
| Constructor Summary | |
|---|---|
OracleDatabase()
|
|
| Method Summary | |
|---|---|
protected java.lang.String |
columnToTypeString(Column c,
java.lang.String tableType)
Return a properly constructed type specification for the column. |
void |
connect(boolean binlog)
In Oracle, to support timestamp with local time zone replication we need to set the session level time zone to be the same as the database time zone. |
void |
createSchema(java.lang.String schema)
Creates the named schema. |
void |
createTable(Table t,
boolean replace)
Creates a table using the supplied table definition. |
void |
createTable(Table table,
boolean replace,
java.lang.String tungstenSchema,
java.lang.String tungstenTableType,
java.lang.String serviceName)
|
void |
dropSchema(java.lang.String schema)
Drops the named schema. |
void |
dropTungstenCatalog(java.lang.String schemaName,
java.lang.String tungstenTableType,
java.lang.String serviceName)
dropTungstenCatalog removes Tungsten catalog. |
Table |
findTable(int tableID)
Return the Table with all it's accompanying Columns that matches tableID. |
Table |
findTable(int tableID,
java.lang.String scn)
Return the Table with all its accompanying Columns at the provided scn that matches tableID. |
java.sql.ResultSet |
getColumnsResultSet(java.sql.DatabaseMetaData md,
java.lang.String schemaName,
java.lang.String tableName)
This function should be implemented in concrete class. |
CsvWriter |
getCsvWriter(java.io.BufferedWriter writer)
Returns a properly configured CsvWriter to generate CSV according to the preferred conventions of this DBMS type. |
java.lang.String |
getNowFunction()
getNowFunction returns the database-specific way to get current date and time from the database. |
java.lang.String |
getPlaceHolder(OneRowChange.ColumnSpec col,
java.lang.Object colValue,
java.lang.String typeDesc)
Return a place holder in a prepared statement for a column of type ColumnSpec. |
protected java.sql.ResultSet |
getPrimaryKeyResultSet(java.sql.DatabaseMetaData md,
java.lang.String schemaName,
java.lang.String tableName)
This function should be implemented in concrete class. |
java.util.ArrayList<java.lang.String> |
getReservedWords()
Returns a list of reserved words used by the DBMS, which cannot be used as table and column names. Words are expected to be upper case and applications checking with something similar to getReservedWords().contains(table.getName().toUpperCase()). |
java.util.ArrayList<java.lang.String> |
getSchemas()
Returns a list of schemas available on the server. |
SqlOperationMatcher |
getSqlNameMatcher()
In Oracle, to support timestamp with local time zone replication we need to set the session level time zone to be the same as the database time zone. |
protected java.sql.ResultSet |
getTablesResultSet(java.sql.DatabaseMetaData md,
java.lang.String schemaName,
boolean baseTablesOnly)
This function should be implemented in concrete class. |
java.lang.String |
getTimeDiff(java.lang.String string1,
java.lang.String string2)
getTimeDiff returns the database-specific way of subtracting two "dates" and return the result in seconds complete with space for the two bind variables. |
java.lang.String |
getUseSchemaQuery(java.lang.String schema)
Returns a query that can be used to set the schema. |
int |
javaSQLTypeToNativeType(int javaSQLType)
Opposite of the above function. |
int |
nativeTypeToJavaSQLType(int nativeType)
Databases have various column types usually identified by some vendor defined integer value. |
boolean |
nullsBoundDifferently(OneRowChange.ColumnSpec col)
Return TRUE IFF NULL values are bound differently in SQL statement from non null values for the given column type. |
boolean |
nullsEverBoundDifferently()
return true IFF nulls are sometimes treated differently in nullsBoundDifferently() as non nulls. |
boolean |
supportsCreateDropSchema()
Returns false by default as only some database types allow schema to be created dynamically. |
boolean |
supportsUseDefaultSchema()
Returns false by default as only some database types allow schema to change. |
void |
useDefaultSchema(java.lang.String schema)
Changes the default schema to the named schema. |
| Methods inherited from class com.continuent.tungsten.replicator.database.AbstractDatabase |
|---|
close, commit, connect, consistencyCheck, consistencyCheck, controlSessionLevelLogging, createStatement, createTable, createTable, createUser, delete, disconnect, dropTable, dropUser, execute, executeUpdate, findTable, getBlobAsBytes, getConnection, getControlTimestampQuery, getDatabaseMetaData, getDatabaseObjectName, getSessionVariable, getTables, getType, insert, isPrivileged, kill, listSessions, prepareOptionSetStatement, prepareStatement, replace, rollback, setAutoCommit, setPassword, setPrivileged, setSessionVariable, setUrl, setUser, supportsControlSessionLevelLogging, supportsControlTimestamp, supportsNativeSlaveSync, supportsReplace, supportsSessionVariables, supportsUserManagement, syncNativeSlave, update |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Constructor Detail |
|---|
public OracleDatabase()
| Method Detail |
|---|
public SqlOperationMatcher getSqlNameMatcher()
throws ReplicatorException
getSqlNameMatcher in interface DatabasegetSqlNameMatcher in class AbstractDatabaseReplicatorExceptionAbstractDatabase.getSqlNameMatcher()
public void connect(boolean binlog)
throws java.sql.SQLException
connect in interface Databaseconnect in class AbstractDatabasebinlog - log connection updates.
java.sql.SQLExceptionAbstractDatabase.connect(boolean)
public java.lang.String getPlaceHolder(OneRowChange.ColumnSpec col,
java.lang.Object colValue,
java.lang.String typeDesc)
Database
getPlaceHolder in interface DatabasegetPlaceHolder in class AbstractDatabasepublic boolean nullsBoundDifferently(OneRowChange.ColumnSpec col)
nullsBoundDifferently in interface DatabasenullsBoundDifferently in class AbstractDatabasepublic boolean nullsEverBoundDifferently()
Database
nullsEverBoundDifferently in interface DatabasenullsEverBoundDifferently in class AbstractDatabase
protected java.lang.String columnToTypeString(Column c,
java.lang.String tableType)
AbstractDatabase
columnToTypeString in class AbstractDatabasec - Column for which specification is required
public void createTable(Table t,
boolean replace)
throws java.sql.SQLException
AbstractDatabase
createTable in interface DatabasecreateTable in class AbstractDatabaset - Table specificationreplace - If true, replace an existing table
java.sql.SQLExceptionDatabase.createTable(com.continuent.tungsten.replicator.database.Table,
boolean)public boolean supportsUseDefaultSchema()
AbstractDatabase
supportsUseDefaultSchema in interface DatabasesupportsUseDefaultSchema in class AbstractDatabaseDatabase.supportsUseDefaultSchema()
public void useDefaultSchema(java.lang.String schema)
throws java.sql.SQLException
AbstractDatabase
useDefaultSchema in interface DatabaseuseDefaultSchema in class AbstractDatabasejava.sql.SQLExceptionDatabase.useDefaultSchema(java.lang.String)public java.lang.String getUseSchemaQuery(java.lang.String schema)
AbstractDatabase
getUseSchemaQuery in interface DatabasegetUseSchemaQuery in class AbstractDatabaseDatabase.getUseSchemaQuery(java.lang.String)
public int nativeTypeToJavaSQLType(int nativeType)
throws java.sql.SQLException
Database
nativeTypeToJavaSQLType in interface DatabasenativeTypeToJavaSQLType in class AbstractDatabasejava.sql.SQLException
public int javaSQLTypeToNativeType(int javaSQLType)
throws java.sql.SQLException
Database
javaSQLTypeToNativeType in interface DatabasejavaSQLTypeToNativeType in class AbstractDatabasejava.sql.SQLException
public Table findTable(int tableID)
throws java.sql.SQLException
findTable in interface DatabasefindTable in class AbstractDatabasejava.sql.SQLException
public Table findTable(int tableID,
java.lang.String scn)
throws java.sql.SQLException
findTable in interface DatabasefindTable in class AbstractDatabasetableID - the object which is looked forscn - when the object is search for
java.sql.SQLException - if an error occursAbstractDatabase.findTable(int,
java.lang.String)public boolean supportsCreateDropSchema()
AbstractDatabase
supportsCreateDropSchema in interface DatabasesupportsCreateDropSchema in class AbstractDatabaseDatabase.supportsCreateDropSchema()
public void createSchema(java.lang.String schema)
throws java.sql.SQLException
AbstractDatabase
createSchema in interface DatabasecreateSchema in class AbstractDatabasejava.sql.SQLExceptionDatabase.createSchema(java.lang.String)
public void dropSchema(java.lang.String schema)
throws java.sql.SQLException
AbstractDatabase
dropSchema in interface DatabasedropSchema in class AbstractDatabasejava.sql.SQLExceptionDatabase.dropSchema(java.lang.String)
public java.util.ArrayList<java.lang.String> getSchemas()
throws java.sql.SQLException
Database
java.sql.SQLException
public java.sql.ResultSet getColumnsResultSet(java.sql.DatabaseMetaData md,
java.lang.String schemaName,
java.lang.String tableName)
throws java.sql.SQLException
AbstractDatabase
getColumnsResultSet in interface DatabasegetColumnsResultSet in class AbstractDatabasemd - DatabaseMetaData objectschemaName - schema nametableName - table name
java.sql.SQLException
protected java.sql.ResultSet getPrimaryKeyResultSet(java.sql.DatabaseMetaData md,
java.lang.String schemaName,
java.lang.String tableName)
throws java.sql.SQLException
AbstractDatabase
getPrimaryKeyResultSet in class AbstractDatabasemd - DatabaseMetaData objectschemaName - schema nametableName - table name
java.sql.SQLException
protected java.sql.ResultSet getTablesResultSet(java.sql.DatabaseMetaData md,
java.lang.String schemaName,
boolean baseTablesOnly)
throws java.sql.SQLException
AbstractDatabase
getTablesResultSet in class AbstractDatabasemd - DatabaseMetaData objectschemaName - schema namebaseTablesOnly - If true, return only base tables, not catalogs or
views
java.sql.SQLExceptionpublic java.lang.String getNowFunction()
Database
public java.lang.String getTimeDiff(java.lang.String string1,
java.lang.String string2)
public CsvWriter getCsvWriter(java.io.BufferedWriter writer)
writer - A buffered writer to receive CSV output
Database.getCsvWriter(java.io.BufferedWriter)
public void createTable(Table table,
boolean replace,
java.lang.String tungstenSchema,
java.lang.String tungstenTableType,
java.lang.String serviceName)
throws java.sql.SQLException
createTable in interface DatabasecreateTable in class AbstractDatabasejava.sql.SQLExceptionAbstractDatabase.createTable(com.continuent.tungsten.replicator.database.Table,
boolean, java.lang.String)public java.util.ArrayList<java.lang.String> getReservedWords()
getReservedWords in interface DatabasegetReservedWords in class AbstractDatabase
public void dropTungstenCatalog(java.lang.String schemaName,
java.lang.String tungstenTableType,
java.lang.String serviceName)
throws java.sql.SQLException
dropTungstenCatalog in interface DatabasedropTungstenCatalog in class AbstractDatabaseschemaName - The schema name where Tungsten catalog is storedtungstenTableType - The type of table used to store Tungsten metadataserviceName - The service name for which the catalog has to be dropped
java.sql.SQLException - when an error occurscom.continuent.tungsten.replicator.database.AbstractDatabase#dropTungstenCatalog(java.lang.String)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||