Package ru.curs.celesta.dbutils.adaptors
Class MSSQLAdaptor
- java.lang.Object
-
- ru.curs.celesta.dbutils.adaptors.DBAdaptor
-
- ru.curs.celesta.dbutils.adaptors.MSSQLAdaptor
-
- All Implemented Interfaces:
StaticDataAdaptor
,QueryBuildingHelper
public final class MSSQLAdaptor extends DBAdaptor
MSSQL Adaptor.
-
-
Constructor Summary
Constructors Constructor Description MSSQLAdaptor(ConnectionPool connectionPool, DdlConsumer ddlConsumer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description PreparedStatement
deleteRecordSetStatement(Connection conn, TableElement t, String where)
Creates a PreparedStatement object for a DELETE statement for deleting a set of records that satisfy a condition.DbColumnInfo
getColumnInfo(Connection conn, Column<?> c)
Returns information on column.int
getCurrentIdent(Connection conn, BasicTable t)
Returns current identity value for the table.int
getDBPid(Connection conn)
Returns process id of current database connection.PreparedStatement
getDeleteRecordStatement(Connection conn, TableElement t, String where)
Creates a PreparedStatement object for a DELETE statement for deleting a set of records that satisfy a condition.List<DbFkInfo>
getFKInfo(Connection conn, Grain g)
Returns information on the foreign keys from grain.Map<String,DbIndexInfo>
getIndices(Connection conn, Grain g)
Returns a set of indices referring to tables specified in the indicated grain.String
getInFilterClause(DataGrainElement dge, DataGrainElement otherDge, List<String> fields, List<String> otherFields, String otherWhere)
PreparedStatement
getInsertRecordStatement(Connection conn, BasicTable t, boolean[] nullsMask, List<ParameterSetter> program)
Creates a PreparedStatement object for an INSERT statement to insert a record into a table.PreparedStatement
getNavigationStatement(Connection conn, FromClause from, String orderBy, String navigationWhereClause, Set<String> fields, long offset)
Returns navigable PreparedStatement by a filtered set of records.PreparedStatement
getOneFieldStatement(Connection conn, Column<?> c, String where)
Creates a PreparedStatement object for a SELECT statement of a single column containing at most one record.PreparedStatement
getOneRecordStatement(Connection conn, TableElement t, String where, Set<String> fields)
Creates a PreparedStatement object for a SELECT statement containing at most one record.List<String>
getParameterizedViewList(Connection conn, Grain g)
Get names of existing parameterized views.DbPkInfo
getPKInfo(Connection conn, TableElement t)
Returns information on the primary key of a table.DbSequenceInfo
getSequenceInfo(Connection conn, SequenceElement s)
Returns information on a sequence.DBType
getType()
Returns current database type.long
nextSequenceValue(Connection conn, SequenceElement s)
Retrieves next value from the sequence.boolean
nullsFirst()
Does RDBMS sort nulls first?boolean
sequenceExists(Connection conn, String schema, String name)
Checks if sequence exists in the DB.boolean
tableExists(Connection conn, String schema, String name)
Checks if table exists in the DB.boolean
triggerExists(Connection conn, TriggerQuery query)
Checks if trigger exists in the DB.-
Methods inherited from class ru.curs.celesta.dbutils.adaptors.DBAdaptor
alterSequence, compareStrings, createColumn, createFK, createIndex, createParameterizedView, createPK, createSchemaIfNotExists, createSequence, createSysObjects, createTable, createTableTriggersForMaterializedViews, createView, dropFK, dropIndex, dropParameterizedView, dropPk, dropSequence, dropTable, dropTableTriggersForMaterializedViews, dropTrigger, dropView, executeNative, getCallFunctionSql, getColumns, getRecordSetStatement, getSetCountStatement, getTriggerBody, getUpdateRecordStatement, getViewList, getViewSQLGenerator, initDataForMaterializedView, isValidConnection, pkConstraintString, prepareZonedDateTimeForParameterSetter, selectStaticStrings, sequenceString, supportsCortegeComparing, tableString, translateDate, updateColumn, updateVersioningTrigger, userTablesExist
-
-
-
-
Constructor Detail
-
MSSQLAdaptor
public MSSQLAdaptor(ConnectionPool connectionPool, DdlConsumer ddlConsumer)
-
-
Method Detail
-
tableExists
public boolean tableExists(Connection conn, String schema, String name)
Description copied from class:DBAdaptor
Checks if table exists in the DB.- Specified by:
tableExists
in classDBAdaptor
- Parameters:
conn
- DB connectionschema
- schema namename
- table name
-
getOneFieldStatement
public PreparedStatement getOneFieldStatement(Connection conn, Column<?> c, String where)
Description copied from class:DBAdaptor
Creates a PreparedStatement object for a SELECT statement of a single column containing at most one record.- Specified by:
getOneFieldStatement
in classDBAdaptor
- Parameters:
conn
- DB connectionc
- column to selectwhere
- WHERE condition
-
getOneRecordStatement
public PreparedStatement getOneRecordStatement(Connection conn, TableElement t, String where, Set<String> fields)
Description copied from class:DBAdaptor
Creates a PreparedStatement object for a SELECT statement containing at most one record.- Specified by:
getOneRecordStatement
in classDBAdaptor
- Parameters:
conn
- DB connectiont
- tablewhere
- WHERE conditionfields
- fields of selection
-
getInsertRecordStatement
public PreparedStatement getInsertRecordStatement(Connection conn, BasicTable t, boolean[] nullsMask, List<ParameterSetter> program)
Description copied from class:DBAdaptor
Creates a PreparedStatement object for an INSERT statement to insert a record into a table.- Specified by:
getInsertRecordStatement
in classDBAdaptor
- Parameters:
conn
- DB connectiont
- tablenullsMask
- null-flags (if set the corresponding field at n-th position becomesnull
)program
- collects parameters that can be set with the query
-
getDeleteRecordStatement
public PreparedStatement getDeleteRecordStatement(Connection conn, TableElement t, String where)
Description copied from class:DBAdaptor
Creates a PreparedStatement object for a DELETE statement for deleting a set of records that satisfy a condition.- Specified by:
getDeleteRecordStatement
in classDBAdaptor
- Parameters:
conn
- DB connectiont
- tablewhere
- condition (can benull
)
-
deleteRecordSetStatement
public PreparedStatement deleteRecordSetStatement(Connection conn, TableElement t, String where)
Description copied from class:DBAdaptor
Creates a PreparedStatement object for a DELETE statement for deleting a set of records that satisfy a condition.- Specified by:
deleteRecordSetStatement
in classDBAdaptor
- Parameters:
conn
- DB connectiont
- tablewhere
- condition
-
getCurrentIdent
public int getCurrentIdent(Connection conn, BasicTable t)
Description copied from class:DBAdaptor
Returns current identity value for the table.- Specified by:
getCurrentIdent
in classDBAdaptor
- Parameters:
conn
- DB connectiont
- table
-
getInFilterClause
public String getInFilterClause(DataGrainElement dge, DataGrainElement otherDge, List<String> fields, List<String> otherFields, String otherWhere)
-
getColumnInfo
public DbColumnInfo getColumnInfo(Connection conn, Column<?> c)
Returns information on column.- Specified by:
getColumnInfo
in classDBAdaptor
- Parameters:
conn
- DB connectionc
- column
-
getPKInfo
public DbPkInfo getPKInfo(Connection conn, TableElement t)
Description copied from class:DBAdaptor
Returns information on the primary key of a table.
-
getFKInfo
public List<DbFkInfo> getFKInfo(Connection conn, Grain g)
Description copied from class:DBAdaptor
Returns information on the foreign keys from grain.
-
getIndices
public Map<String,DbIndexInfo> getIndices(Connection conn, Grain g)
Description copied from class:DBAdaptor
Returns a set of indices referring to tables specified in the indicated grain.- Specified by:
getIndices
in classDBAdaptor
- Parameters:
conn
- DB connectiong
- Grain the tables of which have to be traversed for the indices.
-
triggerExists
public boolean triggerExists(Connection conn, TriggerQuery query) throws SQLException
Description copied from class:DBAdaptor
Checks if trigger exists in the DB.- Specified by:
triggerExists
in classDBAdaptor
- Parameters:
conn
- DB connection.query
- trigger query parameters- Throws:
SQLException
- thrown if resulting query fails
-
getNavigationStatement
public PreparedStatement getNavigationStatement(Connection conn, FromClause from, String orderBy, String navigationWhereClause, Set<String> fields, long offset)
Description copied from class:DBAdaptor
Returns navigable PreparedStatement by a filtered set of records.- Specified by:
getNavigationStatement
in classDBAdaptor
- Parameters:
conn
- Connectionfrom
- From clauseorderBy
- Sorting order (ascending or descending)navigationWhereClause
- Navigable set condition (from current record)fields
- Fields of selectionoffset
- First record offset
-
getDBPid
public int getDBPid(Connection conn)
Description copied from class:DBAdaptor
Returns process id of current database connection.
-
nullsFirst
public boolean nullsFirst()
Description copied from interface:QueryBuildingHelper
Does RDBMS sort nulls first?
-
getParameterizedViewList
public List<String> getParameterizedViewList(Connection conn, Grain g)
Description copied from class:DBAdaptor
Get names of existing parameterized views.- Specified by:
getParameterizedViewList
in classDBAdaptor
- Parameters:
conn
- connectiong
- current grain
-
getType
public DBType getType()
Description copied from class:DBAdaptor
Returns current database type. E.g. H2, POSTGRESQL etc.
-
nextSequenceValue
public long nextSequenceValue(Connection conn, SequenceElement s)
Description copied from class:DBAdaptor
Retrieves next value from the sequence.- Specified by:
nextSequenceValue
in classDBAdaptor
- Parameters:
conn
- DB connections
- sequence
-
sequenceExists
public boolean sequenceExists(Connection conn, String schema, String name)
Description copied from class:DBAdaptor
Checks if sequence exists in the DB.- Specified by:
sequenceExists
in classDBAdaptor
- Parameters:
conn
- DB connectionschema
- schema namename
- sequence name
-
getSequenceInfo
public DbSequenceInfo getSequenceInfo(Connection conn, SequenceElement s)
Description copied from class:DBAdaptor
Returns information on a sequence.- Specified by:
getSequenceInfo
in classDBAdaptor
- Parameters:
conn
- DB connections
- sequence
-
-