| java.lang.Object com.versant.core.jdbc.sql.SqlDriver com.versant.core.jdbc.sql.MsSqlDriver
MsSqlDriver | public class MsSqlDriver extends SqlDriver (Code) | | A driver for Microsoft SQL server using their JDBC driver.
|
Method Summary | |
protected void | addPrimaryKeyConstraint(JdbcTable t, CharBuf s) Add the primary key constraint in isolation. | protected void | addSequenceColumn(JdbcTable t, JdbcColumn c, CharBuf s, boolean comments) | protected void | appendAddNewColumn(JdbcTable t, JdbcColumn c, CharBuf s, boolean comments) Append a column that needs to be added. | protected void | appendCreateColumnAutoInc(JdbcTable t, JdbcColumn c, CharBuf s) Append the column auto increment part of a create table statement for a
column. | protected void | appendCreateColumnNulls(JdbcTable t, JdbcColumn c, CharBuf s) Append the allow nulls part of the definition for a column in a
create table statement. | protected void | appendDropColumn(TableDiff tableDiff, JdbcColumn c, CharBuf s, boolean comments) Append a column that needs to be added. | protected void | appendDropIndex(CharBuf s, JdbcTable t, JdbcIndex idx, boolean comments) Generate a 'drop index' statement for idx. | protected void | appendModifyColumn(TableDiff tableDiff, ColumnDiff diff, CharBuf s, boolean comments) Append a column that needs to be added. | protected void | appendPrimaryKeyConstraint(JdbcTable t, CharBuf s) Add the primary key constraint part of a create table statement to s. | protected void | appendRefConstraint(CharBuf s, JdbcConstraint c) Append an 'add constraint' statement for c. | protected void | appendRefDropConstraint(CharBuf s, JdbcConstraint c, boolean comments) Append an 'drop constraint' statement for c. | public void | appendSqlFromJoin(JdbcTable table, String alias, SqlExp exp, boolean outer, CharBuf s) Append the from list entry for a table that is the right hand table
in a join i.e. | public void | appendSqlJoin(String leftAlias, JdbcColumn left, String rightAlias, JdbcColumn right, boolean outer, CharBuf s) Append a join expression. | public JdbcNameGenerator | createJdbcNameGenerator() Create a default name generator instance for JdbcStore's using this
driver. | public void | customizeForServer(Connection con) Perform any specific configuration appropriate for the database server
in use. | protected void | dropPrimaryKeyConstraint(JdbcTable t, CharBuf s) Drop the primary key constraint in isolation. | protected void | dropSequenceColumn(JdbcTable t, JdbcColumn c, CharBuf s, boolean comments) | public void | dropTable(Connection con, String table, Statement stat) Drop the table and all its constraints etc. | public void | enableIdentityInsert(Connection con, String table, boolean on) Enable or disable identity insert for the given table if this is
required to insert a value into an identity column. | public Object | getAutoIncColumnValue(JdbcTable classTable, Connection con, Statement stat) Retrieve the value of the autoinc or serial column for a row just
inserted using stat on con. | public String | getAutoIncPostInsertSQLSuffix(JdbcTable classTable) Get extra SQL to be appended to the insert statement for retrieving
the value of an autoinc column after insert. | public String | getConnectionValidateSQL() Get default SQL to test a connection or null if none available. | protected String | getDBName(Connection con) | public HashMap | getDBSchema(Connection con, ControlParams params) Get the JdbcTables from the database for the given database con. | protected String | getDefaultForType(JdbcColumn ourCol) | public HashMap | getJavaTypeMappings() Get the default field mappings for this driver. | public String | getName() Get the name of this driver. | public String | getRunCommand() | public char[] | getSelectForUpdate() Get whatever needs to be appended to a SELECT statement to lock the
rows if this makes sense for the database. | public String | getSqlBinaryOp(int op) Get the string form of a binary operator. | protected JdbcTypeMapping | getTypeMapping(int jdbcType) Get the default type mapping for the supplied JDBC type code from
java.sql.Types or null if the type is not supported. | protected void | init(Driver jdbcDriver) Figure out if we are using jtds. | public boolean | isAnsiJoinSyntax() Does this driver use the ANSI join syntax (i.e. | public boolean | isAutoIncSupported() | public boolean | isClearBatchRequired() | public boolean | isCustomizeForServerRequired() | public boolean | isDuplicateKey(Throwable cause) | public boolean | isHandleDuplicateKey() | public boolean | isHandleLockTimeout() | public boolean | isInsertBatchingSupported() | public boolean | isLockTimeout(Throwable cause) | public boolean | isNullForeignKeyOk() | public boolean | isOptimizeExistsUnderOrToOuterJoin() | public boolean | isScrollableResultSetSupported() | public boolean | isUpdateBatchingSupported() | public RuntimeException | mapException(Throwable cause, String message, boolean isFatal) | protected void | print(PrintWriter out, String sql) Write an SQL statement to a script with appropriate separator. |
addPrimaryKeyConstraint | protected void addPrimaryKeyConstraint(JdbcTable t, CharBuf s)(Code) | | Add the primary key constraint in isolation.
|
appendCreateColumnAutoInc | protected void appendCreateColumnAutoInc(JdbcTable t, JdbcColumn c, CharBuf s)(Code) | | Append the column auto increment part of a create table statement for a
column.
|
appendCreateColumnNulls | protected void appendCreateColumnNulls(JdbcTable t, JdbcColumn c, CharBuf s)(Code) | | Append the allow nulls part of the definition for a column in a
create table statement.
|
appendModifyColumn | protected void appendModifyColumn(TableDiff tableDiff, ColumnDiff diff, CharBuf s, boolean comments)(Code) | | Append a column that needs to be added.
|
appendPrimaryKeyConstraint | protected void appendPrimaryKeyConstraint(JdbcTable t, CharBuf s)(Code) | | Add the primary key constraint part of a create table statement to s.
|
appendRefDropConstraint | protected void appendRefDropConstraint(CharBuf s, JdbcConstraint c, boolean comments)(Code) | | Append an 'drop constraint' statement for c.
|
appendSqlFromJoin | public void appendSqlFromJoin(JdbcTable table, String alias, SqlExp exp, boolean outer, CharBuf s)(Code) | | Append the from list entry for a table that is the right hand table
in a join i.e. it is being joined to.
Parameters: exp - This is the expression that joins the tables Parameters: outer - If true then this is an outer join |
createJdbcNameGenerator | public JdbcNameGenerator createJdbcNameGenerator()(Code) | | Create a default name generator instance for JdbcStore's using this
driver.
|
customizeForServer | public void customizeForServer(Connection con) throws SQLException(Code) | | Perform any specific configuration appropriate for the database server
in use. If any SQL is done on con call con.commit() before returning.
|
dropPrimaryKeyConstraint | protected void dropPrimaryKeyConstraint(JdbcTable t, CharBuf s)(Code) | | Drop the primary key constraint in isolation.
|
dropTable | public void dropTable(Connection con, String table, Statement stat) throws SQLException(Code) | | Drop the table and all its constraints etc. This must remove
constraints to this table from other tables so it can be dropped.
|
enableIdentityInsert | public void enableIdentityInsert(Connection con, String table, boolean on) throws SQLException(Code) | | Enable or disable identity insert for the given table if this is
required to insert a value into an identity column.
|
getConnectionValidateSQL | public String getConnectionValidateSQL()(Code) | | Get default SQL to test a connection or null if none available. This
must be a query that returns at least one row.
|
getJavaTypeMappings | public HashMap getJavaTypeMappings()(Code) | | Get the default field mappings for this driver. These map java classes
to column properties. Subclasses should override this, call super() and
replace mappings as needed.
|
getName | public String getName()(Code) | | Get the name of this driver.
|
getSelectForUpdate | public char[] getSelectForUpdate()(Code) | | Get whatever needs to be appended to a SELECT statement to lock the
rows if this makes sense for the database. This must have a leading
space if not empty.
|
getTypeMapping | protected JdbcTypeMapping getTypeMapping(int jdbcType)(Code) | | Get the default type mapping for the supplied JDBC type code from
java.sql.Types or null if the type is not supported. There is no
need to set the database or jdbcType on the mapping as this is done
after this call returns. Subclasses should override this and to
customize type mappings.
|
init | protected void init(Driver jdbcDriver)(Code) | | Figure out if we are using jtds.
|
isAnsiJoinSyntax | public boolean isAnsiJoinSyntax()(Code) | | Does this driver use the ANSI join syntax (i.e. the join clauses appear
in the from list e.g. postgres)?
|
isAutoIncSupported | public boolean isAutoIncSupported()(Code) | | Does this database support autoincrement or serial columns?
|
isClearBatchRequired | public boolean isClearBatchRequired()(Code) | | |
isCustomizeForServerRequired | public boolean isCustomizeForServerRequired()(Code) | | |
isHandleDuplicateKey | public boolean isHandleDuplicateKey()(Code) | | |
isHandleLockTimeout | public boolean isHandleLockTimeout()(Code) | | |
isInsertBatchingSupported | public boolean isInsertBatchingSupported()(Code) | | Does the JDBC driver support statement batching?
|
isNullForeignKeyOk | public boolean isNullForeignKeyOk()(Code) | | |
isOptimizeExistsUnderOrToOuterJoin | public boolean isOptimizeExistsUnderOrToOuterJoin()(Code) | | Is it ok to convert simple 'exists (select ...)' clauses under an
'or' into outer joins?
|
isScrollableResultSetSupported | public boolean isScrollableResultSetSupported()(Code) | | Does the JDBC driver support scrollable result sets?
|
isUpdateBatchingSupported | public boolean isUpdateBatchingSupported()(Code) | | Does the JDBC driver support statement batching for updates?
|
print | protected void print(PrintWriter out, String sql)(Code) | | Write an SQL statement to a script with appropriate separator.
|
Methods inherited from com.versant.core.jdbc.sql.SqlDriver | protected void add(HashMap ans, JdbcJavaTypeMapping m)(Code)(Java Doc) protected void addPrimaryKeyConstraint(JdbcTable t, CharBuf s)(Code)(Java Doc) protected void appendAddNewColumn(JdbcTable t, JdbcColumn c, CharBuf s, boolean comments)(Code)(Java Doc) protected void appendColumnNameList(JdbcColumn[] cols, CharBuf s)(Code)(Java Doc) protected void appendColumnType(JdbcColumn c, CharBuf s)(Code)(Java Doc) protected void appendColumnType(JdbcColumn c, CharBuf s, boolean useZeroScale)(Code)(Java Doc) protected void appendCreateColumn(JdbcTable t, JdbcColumn c, CharBuf s, boolean comments)(Code)(Java Doc) protected void appendCreateColumnAutoInc(JdbcTable t, JdbcColumn c, CharBuf s)(Code)(Java Doc) protected void appendCreateColumnNulls(JdbcTable t, JdbcColumn c, CharBuf s)(Code)(Java Doc) protected void appendCreateIndex(CharBuf s, JdbcTable t, JdbcIndex idx, boolean comments)(Code)(Java Doc) protected void appendDropColumn(TableDiff tableDiff, JdbcColumn c, CharBuf s, boolean comments)(Code)(Java Doc) protected void appendDropIndex(CharBuf s, JdbcTable t, JdbcIndex idx, boolean comments)(Code)(Java Doc) protected void appendIndexesInCreateTable(JdbcTable t, CharBuf s)(Code)(Java Doc) protected void appendModifyColumn(TableDiff tableDiff, ColumnDiff diff, CharBuf s, boolean comments)(Code)(Java Doc) protected void appendPrimaryKeyConstraint(JdbcTable t, CharBuf s)(Code)(Java Doc) protected void appendRefConstraint(CharBuf s, JdbcConstraint c)(Code)(Java Doc) protected void appendRefDropConstraint(CharBuf s, JdbcConstraint c, boolean comments)(Code)(Java Doc) public void appendSqlColumn(JdbcColumn col, String alias, CharBuf s)(Code)(Java Doc) public void appendSqlFrom(JdbcTable table, String alias, CharBuf s)(Code)(Java Doc) public void appendSqlFromJoin(JdbcTable table, String alias, SqlExp exp, boolean outer, CharBuf s)(Code)(Java Doc) public void appendSqlJoin(String leftAlias, JdbcColumn left, String rightAlias, JdbcColumn right, boolean outer, CharBuf s)(Code)(Java Doc) public void appendSqlLiteral(int type, String value, CharBuf s)(Code)(Java Doc) protected void appendTableType(JdbcTable t, CharBuf s)(Code)(Java Doc) public void appendWhereParam(CharBuf s, JdbcColumn c)(Code)(Java Doc) public boolean checkDDL(ArrayList tables, Connection con, PrintWriter errors, PrintWriter fix, ControlParams params) throws SQLException(Code)(Java Doc) public boolean checkDDLForStartup(ArrayList tables, Connection con, PrintWriter out, PrintWriter fix, ControlParams params) throws SQLException(Code)(Java Doc) public boolean checkLenght(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) public boolean checkNulls(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) public boolean checkScale(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) protected boolean checkTable(JdbcTable t, Statement stat, PrintWriter out)(Code)(Java Doc) public boolean checkType(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) public void cleanupForGetQueryPlan(Connection con)(Code)(Java Doc) public String comment(String msg)(Code)(Java Doc) protected DefaultJdbcNameGenerator createDefaultJdbcNameGenerator()(Code)(Java Doc) public static Driver createJdbcDriver(String name, ClassLoader cl)(Code)(Java Doc) public JdbcNameGenerator createJdbcNameGenerator()(Code)(Java Doc) public static SqlDriver createSqlDriver(String name, Driver jdbcDriver)(Code)(Java Doc) public void customizeForServer(Connection con) throws SQLException(Code)(Java Doc) public static RuntimeException defaultMapException(Throwable cause, String message, boolean isFatal)(Code)(Java Doc) protected void dropPrimaryKeyConstraint(JdbcTable t, CharBuf s)(Code)(Java Doc) public void dropTable(Connection con, String table) throws SQLException(Code)(Java Doc) protected void dropTable(Connection con, String table, Statement stat) throws SQLException(Code)(Java Doc) public void enableIdentityInsert(Connection con, String table, boolean on) throws SQLException(Code)(Java Doc) public void fillDatabaseMetaData(ArrayList tables, HashMap dbMap)(Code)(Java Doc) public void fixAllNames(HashMap nameMap)(Code)(Java Doc) protected void fixColumnsNonDirect(TableDiff tableDiff, PrintWriter out)(Code)(Java Doc) protected void fixConstraintsForNonDirectColumns(TableDiff tableDiff, PrintWriter out, boolean drop)(Code)(Java Doc) protected void fixCoulumns(TableDiff tableDiff, PrintWriter out)(Code)(Java Doc) protected void fixIndexForNonDirectColumns(TableDiff tableDiff, PrintWriter out, boolean drop)(Code)(Java Doc) public void generateConstraints(JdbcTable t, Statement stat, PrintWriter out, boolean comments) throws SQLException(Code)(Java Doc) public void generateCreateIndexes(JdbcTable t, Statement stat, PrintWriter out, boolean comments) throws SQLException(Code)(Java Doc) public void generateCreateTable(JdbcTable t, Statement stat, PrintWriter out, boolean comments) throws SQLException(Code)(Java Doc) public void generateDDL(ArrayList tables, Connection con, PrintWriter out, boolean comments)(Code)(Java Doc) public int getAggregateTypeCode(int aggType, int currentTypeCode)(Code)(Java Doc) public String getAliasPrepend()(Code)(Java Doc) public Object getAutoIncColumnValue(JdbcTable classTable, Connection con, Statement stat) throws SQLException(Code)(Java Doc) public String getAutoIncPostInsertSQLSuffix(JdbcTable classTable)(Code)(Java Doc) protected String getCatalog(Connection con) throws SQLException(Code)(Java Doc) protected ColumnDiff getColumnDiffForName(TableDiff tableDiff, String name)(Code)(Java Doc) public String getConnectionInitSQL()(Code)(Java Doc) public String getConnectionValidateSQL()(Code)(Java Doc) protected ConstraintDiff getConstraintDiffForName(TableDiff tableDiff, String name, boolean db)(Code)(Java Doc) public HashMap getDBSchema(Connection con, ControlParams params) throws SQLException(Code)(Java Doc) public HashMap getDatabaseMetaData(ArrayList tables, Connection con) throws SQLException(Code)(Java Doc) protected String getDefaultForType(JdbcColumn ourCol)(Code)(Java Doc) public int getDefaultPsCacheMax()(Code)(Java Doc) protected String getDefaultValueComment()(Code)(Java Doc) public static String getDriverFromURL(String url)(Code)(Java Doc) protected IndexDiff getIndexDiffForName(TableDiff tableDiff, String name, boolean db)(Code)(Java Doc) public HashMap getJavaTypeMappings()(Code)(Java Doc) public int getMajorVersion()(Code)(Java Doc) public int getMaxInOperands()(Code)(Java Doc) public int getMinorVersion()(Code)(Java Doc) public String getMinorVersionPatchLevel()(Code)(Java Doc) abstract public String getName()(Code)(Java Doc) public static String getNameFromURL(String url)(Code)(Java Doc) public String getQueryPlan(Connection con, PreparedStatement ps)(Code)(Java Doc) public String getRunCommand()(Code)(Java Doc) protected String getSchema(Connection con)(Code)(Java Doc) public char[] getSelectForUpdate()(Code)(Java Doc) public String getSqlBinaryOp(int op)(Code)(Java Doc) public String getSqlParamString(int jdbcType)(Code)(Java Doc) public char[] getSqlParamStringChars(int jdbcType)(Code)(Java Doc) public String getSqlUnaryFunctionName(int func)(Code)(Java Doc) public ArrayList getTableNames(Connection con) throws SQLException(Code)(Java Doc) protected String getTempColumnName(JdbcTable table)(Code)(Java Doc) protected String getTempTableName(JdbcTable table, int lenght)(Code)(Java Doc) protected JdbcTypeMapping getTypeMapping(int jdbcType)(Code)(Java Doc) final public JdbcTypeMapping[] getTypeMappings()(Code)(Java Doc) protected String getTypeName(int jdbcType)(Code)(Java Doc) public String getVersion()(Code)(Java Doc) protected void init(Driver jdbcDriver)(Code)(Java Doc) boolean isAddSequenceColumn(JdbcColumn addColumn)(Code)(Java Doc) public boolean isAnsiJoinSyntax()(Code)(Java Doc) public boolean isAutoIncSupported()(Code)(Java Doc) public boolean isBatchingSupportedForJdbcType(int jdbcType)(Code)(Java Doc) public boolean isClearBatchRequired()(Code)(Java Doc) public boolean isCommentSupported()(Code)(Java Doc) public boolean isConvertExistsToDistinctJoin()(Code)(Java Doc) public boolean isConvertExistsToJoins(int type)(Code)(Java Doc) public boolean isCustomizeForServerRequired()(Code)(Java Doc) boolean isDirectAddColumnSupported(JdbcColumn ourCol)(Code)(Java Doc) boolean isDirectDropColumnSupported()(Code)(Java Doc) boolean isDirectLenghtColumnChangesSupported(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) boolean isDirectNullColumnChangesSupported()(Code)(Java Doc) boolean isDirectScaleColumnChangesSupported(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) boolean isDirectTypeColumnChangesSupported(JdbcColumn ourCol, JdbcColumn dbCol)(Code)(Java Doc) boolean isDropConstraintsForDropTableSupported()(Code)(Java Doc) boolean isDropPrimaryKeySupported()(Code)(Java Doc) boolean isDropSequenceColumn(TableDiff tableDiff, JdbcColumn dropColumn)(Code)(Java Doc) public boolean isDuplicateKey(Throwable e)(Code)(Java Doc) public boolean isExtraParens()(Code)(Java Doc) public boolean isFetchSizeSupported()(Code)(Java Doc) public boolean isHandleDuplicateKey()(Code)(Java Doc) public boolean isHandleLockTimeout()(Code)(Java Doc) public boolean isInsertBatchingSupported()(Code)(Java Doc) public boolean isLikeStupid()(Code)(Java Doc) public boolean isLockTimeout(Throwable e)(Code)(Java Doc) public boolean isNullForeignKeyOk()(Code)(Java Doc) public boolean isOptimizeExistsUnderOrToOuterJoin()(Code)(Java Doc) public boolean isOracleStoreProcs()(Code)(Java Doc) public boolean isPreparedStatementPoolingOK()(Code)(Java Doc) public boolean isPutOrderColsInSelect()(Code)(Java Doc) public boolean isScrollableResultSetSupported()(Code)(Java Doc) public boolean isSelectForUpdateAppendTable()(Code)(Java Doc) public boolean isSelectForUpdateWithAggregateOk()(Code)(Java Doc) public boolean isSelectForUpdateWithDistinctOk()(Code)(Java Doc) public boolean isSetTransactionIsolationLevelSupported()(Code)(Java Doc) public boolean isSubQueryJoinMayUseOuterQueryCols()(Code)(Java Doc) public boolean isUpdateBatchingSupported()(Code)(Java Doc) public boolean isUseIndexesForOrderCols()(Code)(Java Doc) protected boolean isValidSchemaTable(String tableName)(Code)(Java Doc) public RuntimeException mapException(Throwable cause, String message, boolean isFatal)(Code)(Java Doc) public static RuntimeException mapException(SqlDriver sqlDriver, Throwable cause, String message)(Code)(Java Doc) public static RuntimeException mapException(SqlDriver sqlDriver, Throwable cause, String message, boolean isFatal)(Code)(Java Doc) protected String pad(int i)(Code)(Java Doc) public String prepareForGetQueryPlan(Connection con, String sql)(Code)(Java Doc) protected void print(PrintWriter out, String sql)(Code)(Java Doc) public boolean putOrderColsInGroupBy()(Code)(Java Doc) protected void reportFixes(ArrayList diffList, PrintWriter out) throws SQLException(Code)(Java Doc) public void setAllTableAndViewNames(Connection con) throws SQLException(Code)(Java Doc) protected String shrinkName(String name, int maxlen)(Code)(Java Doc) public String toSqlLiteral(double d)(Code)(Java Doc) public String toSqlLiteral(long l)(Code)(Java Doc) public String toSqlLiteral(String s)(Code)(Java Doc) public String toSqlLiteral(boolean b)(Code)(Java Doc) public void updateClassForPostInsertKeyGen(ClassMetaData cmd, JdbcMappingResolver mappingResolver)(Code)(Java Doc) public boolean useColAliasForAddedCols()(Code)(Java Doc) public boolean useColumnIndexForGroupBy()(Code)(Java Doc) protected boolean useZeroScale(JdbcColumn c)(Code)(Java Doc)
|
|
|