Class SybasePlatform
java.lang.Object
edu.internet2.middleware.grouper.ext.org.apache.ddlutils.util.JdbcSupport
edu.internet2.middleware.grouper.ext.org.apache.ddlutils.platform.PlatformImplBase
edu.internet2.middleware.grouper.ext.org.apache.ddlutils.platform.sybase.SybasePlatform
- All Implemented Interfaces:
Platform
- Direct Known Subclasses:
SybaseASE15Platform
The platform implementation for Sybase.
- Version:
- $Revision: 231306 $
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
Database name of this platform.static final String
The standard Sybase jdbc driver.static final String
The old Sybase jdbc driver.static final String
The subprotocol used by the standard Sybase driver.static final long
The maximum size that text and binary columns can have.Fields inherited from class edu.internet2.middleware.grouper.ext.org.apache.ddlutils.platform.PlatformImplBase
MODEL_DEFAULT_NAME
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected void
afterInsert
(Connection connection, Table table) Allows platforms to issue statements directly after rows have been inserted into the specified table.protected void
afterUpdate
(Connection connection, Table table) Allows platforms to issue statements directly after rows have been updated in the specified table.protected void
beforeInsert
(Connection connection, Table table) Allows platforms to issue statements directly before rows are inserted into the specified table.protected void
beforeUpdate
(Connection connection, Table table) Allows platforms to issue statements directly before rows are updated in the specified table.protected Object
extractColumnValue
(ResultSet resultSet, String columnName, int columnIdx, int jdbcType) This is the core method to retrieve a value for a column from a result set.Queries for a list of dyna beans representing rows of the given query.fetch
(Database model, String sql, Collection parameters, Table[] queryHints, int start, int end) Queries for a list of dyna beans representing rows of the given query.getName()
Returns the name of the database that this platform is for.Performs the given SQL query returning an iterator over the results.query
(Database model, String sql, Collection parameters, Table[] queryHints) Performs the given parameterized SQL query returning an iterator over the results.protected void
setStatementParameterValue
(PreparedStatement statement, int sqlIndex, int typeCode, Object value) This is the core method to set the parameter of a prepared statement to a given value.Methods inherited from class edu.internet2.middleware.grouper.ext.org.apache.ddlutils.platform.PlatformImplBase
alterTables, alterTables, alterTables, alterTables, alterTables, alterTables, alterTables, alterTables, createDatabase, createDeleteSql, createInsertSql, createResultSetIterator, createSelectLastInsertIdSql, createTables, createTables, createTables, createTables, createUpdateSql, delete, delete, dropDatabase, dropTable, dropTable, dropTables, dropTables, evaluateBatch, evaluateBatch, exists, fetch, fetch, fetch, fetch, fetch, fetch, getAlterTablesSql, getAlterTablesSql, getAlterTablesSql, getAlterTablesSql, getAlterTablesSql, getAlterTablesSql, getAlterTablesSql, getAlterTablesSql, getCreateTablesSql, getCreateTablesSql, getDeleteSql, getDropTableSql, getDropTablesSql, getInsertSql, getLog, getModelReader, getObjectFromResultSet, getObjectFromResultSet, getPlatformInfo, getSqlBuilder, getUpdateSql, insert, insert, insert, insert, isDelimitedIdentifierModeOn, isForeignKeysSorted, isIdentityOverrideOn, isScriptModeOn, isSqlCommentsOn, logWarnings, postprocessModelFromDatabase, query, query, readModelFromDatabase, readModelFromDatabase, readModelFromDatabase, readModelFromDatabase, setDelimitedIdentifierModeOn, setForeignKeysSorted, setIdentityOverrideOn, setModelReader, setObject, setScriptModeOn, setSqlBuilder, setSqlCommentsOn, shutdownDatabase, shutdownDatabase, store, toColumnValues, update, update
Methods inherited from class edu.internet2.middleware.grouper.ext.org.apache.ddlutils.util.JdbcSupport
borrowConnection, closeStatement, getDataSource, getPassword, getUsername, returnConnection, setDataSource, setPassword, setUsername
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface edu.internet2.middleware.grouper.ext.org.apache.ddlutils.Platform
borrowConnection, getDataSource, getPassword, getUsername, returnConnection, setDataSource, setPassword, setUsername
-
Field Details
-
DATABASENAME
Database name of this platform.- See Also:
-
JDBC_DRIVER
The standard Sybase jdbc driver.- See Also:
-
JDBC_DRIVER_OLD
The old Sybase jdbc driver.- See Also:
-
JDBC_SUBPROTOCOL
The subprotocol used by the standard Sybase driver.- See Also:
-
MAX_TEXT_SIZE
public static final long MAX_TEXT_SIZEThe maximum size that text and binary columns can have.- See Also:
-
-
Constructor Details
-
SybasePlatform
public SybasePlatform()Creates a new platform instance.
-
-
Method Details
-
getName
Returns the name of the database that this platform is for.- Returns:
- The name
-
extractColumnValue
protected Object extractColumnValue(ResultSet resultSet, String columnName, int columnIdx, int jdbcType) throws DatabaseOperationException, SQLException This is the core method to retrieve a value for a column from a result set. Its primary purpose is to call the appropriate method on the result set, and to provide an extension point where database-specific implementations can change this behavior.- Overrides:
extractColumnValue
in classPlatformImplBase
- Parameters:
resultSet
- The result set to extract the value fromcolumnName
- The name of the column; can benull
in which case thecolumnIdx
will be used insteadcolumnIdx
- The index of the column's value in the result set; is only used ifcolumnName
isnull
jdbcType
- The jdbc type to extract- Returns:
- The value
- Throws:
SQLException
- If an error occurred while accessing the result setDatabaseOperationException
-
setStatementParameterValue
protected void setStatementParameterValue(PreparedStatement statement, int sqlIndex, int typeCode, Object value) throws SQLException This is the core method to set the parameter of a prepared statement to a given value. The primary purpose of this method is to call the appropriate method on the statement, and to give database-specific implementations the ability to change this behavior.- Overrides:
setStatementParameterValue
in classPlatformImplBase
- Parameters:
statement
- The statementsqlIndex
- The parameter indextypeCode
- The JDBC type codevalue
- The value- Throws:
SQLException
- If an error occurred while setting the parameter value
-
fetch
public List fetch(Database model, String sql, Collection parameters, Table[] queryHints, int start, int end) throws DatabaseOperationException Queries for a list of dyna beans representing rows of the given query. In contrast to thePlatform.query(Database, String, Collection, Table[])
method all beans will be materialized and the connection will be closed before returning the beans. Also, the two int parameters specify which rows of the result set to use. If there are more rows than desired, they will be ignored (and not read from the database).- Specified by:
fetch
in interfacePlatform
- Overrides:
fetch
in classPlatformImplBase
- Parameters:
model
- The database model to usesql
- The parameterized sql queryparameters
- The parameter valuesqueryHints
- The tables that are queried (optional)start
- Row number to start from (0 for first row)end
- Row number to stop at (inclusively; -1 for last row)- Returns:
- The dyna beans resulting from the query
- Throws:
DatabaseOperationException
-
fetch
public List fetch(Database model, String sql, Table[] queryHints, int start, int end) throws DatabaseOperationException Queries for a list of dyna beans representing rows of the given query. In contrast to thePlatform.query(Database, String, Table[])
method all beans will be materialized and the connection will be closed before returning the beans. Also, the two int parameters specify which rows of the result set to use. If there are more rows than desired, they will be ignored (and not read from the database).- Specified by:
fetch
in interfacePlatform
- Overrides:
fetch
in classPlatformImplBase
- Parameters:
model
- The database model to usesql
- The sql queryqueryHints
- The tables that are queried (optional)start
- Row number to start from (0 for first row)end
- Row number to stop at (inclusively; -1 for last row)- Returns:
- The dyna beans resulting from the query
- Throws:
DatabaseOperationException
-
query
public Iterator query(Database model, String sql, Collection parameters, Table[] queryHints) throws DatabaseOperationException Performs the given parameterized SQL query returning an iterator over the results.- Specified by:
query
in interfacePlatform
- Overrides:
query
in classPlatformImplBase
- Parameters:
model
- The database model to usesql
- The sql query to performparameters
- The query parameter valuesqueryHints
- The tables that are queried (optional)- Returns:
- An iterator for the dyna beans resulting from the query
- Throws:
DatabaseOperationException
-
query
public Iterator query(Database model, String sql, Table[] queryHints) throws DatabaseOperationException Performs the given SQL query returning an iterator over the results.- Specified by:
query
in interfacePlatform
- Overrides:
query
in classPlatformImplBase
- Parameters:
model
- The database model to usesql
- The sql query to performqueryHints
- The tables that are queried (optional)- Returns:
- An iterator for the dyna beans resulting from the query
- Throws:
DatabaseOperationException
-
beforeInsert
Allows platforms to issue statements directly before rows are inserted into the specified table.- Overrides:
beforeInsert
in classPlatformImplBase
- Parameters:
connection
- The connection used for the insertiontable
- The table that the rows are inserted into- Throws:
SQLException
-
afterInsert
Allows platforms to issue statements directly after rows have been inserted into the specified table.- Overrides:
afterInsert
in classPlatformImplBase
- Parameters:
connection
- The connection used for the insertiontable
- The table that the rows have been inserted into- Throws:
SQLException
-
beforeUpdate
Allows platforms to issue statements directly before rows are updated in the specified table.- Overrides:
beforeUpdate
in classPlatformImplBase
- Parameters:
connection
- The connection used for the updatetable
- The table that the rows are updateed into- Throws:
SQLException
-
afterUpdate
Allows platforms to issue statements directly after rows have been updated in the specified table.- Overrides:
afterUpdate
in classPlatformImplBase
- Parameters:
connection
- The connection used for the updatetable
- The table that the rows have been updateed into- Throws:
SQLException
-