|
Nuxeo ECM Projects 5.4.3-SNAPSHOT | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.nuxeo.ecm.core.storage.sql.jdbc.dialect.Dialect org.nuxeo.ecm.core.storage.sql.jdbc.dialect.DialectSQLServer
public class DialectSQLServer
Microsoft SQL Server-specific dialect.
Nested Class Summary |
---|
Nested classes/interfaces inherited from class org.nuxeo.ecm.core.storage.sql.jdbc.dialect.Dialect |
---|
Dialect.FulltextMatchInfo, Dialect.FulltextQuery, Dialect.FulltextQueryAnalyzer, Dialect.JDBCInfo |
Field Summary |
---|
Fields inherited from class org.nuxeo.ecm.core.storage.sql.jdbc.dialect.Dialect |
---|
ARRAY_SEP |
Constructor Summary | |
---|---|
DialectSQLServer(DatabaseMetaData metadata,
BinaryManager binaryManager,
RepositoryDescriptor repositoryDescriptor)
|
Method Summary | |
---|---|
char |
closeQuote()
|
boolean |
doesUpdateFromRepeatSelf()
When doing an UPDATE t SET ... |
String |
getAddColumnString()
|
String |
getAncestorsIdsSql()
Gets the SQL query to get the ancestors of a set of ids. |
String |
getBlobLengthFunction()
Gets the SQL function that returns the length of a blob, in bytes. |
String |
getClusterGetInvalidations()
Gets the SQL to query invalidations for this cluster node. |
String |
getClusterInsertInvalidations()
Gets the SQL to send an invalidation to the cluster. |
String |
getCreateFulltextIndexSql(String indexName,
String quotedIndexName,
Table table,
List<Column> columns,
Model model)
Gets a CREATE INDEX statement for a fulltext index. |
String |
getDialectFulltextQuery(String query)
Get the dialect-specific version of a fulltext query. |
Serializable |
getFromResultSet(ResultSet rs,
int index,
Column column)
|
int |
getFulltextIndexedColumns()
Specifies what columns of the fulltext table have to be indexed. |
Dialect.FulltextMatchInfo |
getFulltextScoredMatchInfo(String fulltextQuery,
String indexName,
int nthMatch,
Column mainColumn,
Model model,
Database database)
Gets the SQL information needed to do a a fulltext match, either with a direct expression in the WHERE clause, or using a join with an additional table. |
String |
getInTreeSql(String idColumnName)
Gets the expression to use to check tree membership. |
Dialect.JDBCInfo |
getJDBCTypeAndString(ColumnType type)
Gets the JDBC type and string from Nuxeo's type abstraction. |
boolean |
getMaterializeFulltextSyntheticColumn()
Does the fulltext synthetic column have to be materialized. |
String |
getNoColumnsInsertString()
|
String |
getNullColumnString()
|
String |
getPrepareUserReadAclsSql()
Gets the SQL expression to prepare the user read acls cache. |
String |
getReadAclsCheckSql(String idColumnName)
Gets the expression to check if access is allowed using read acl the dialect must suppportsReadAcl |
String |
getRebuildReadAclsSql()
Gets the statement to rebuild the wall read acls |
String |
getSecurityCheckSql(String idColumnName)
Gets the expression to use to check security. |
String |
getSQLStatementsFilename()
Gets the name of the file containing the SQL statements. |
Map<String,Serializable> |
getSQLStatementsProperties(Model model,
Database database)
Gets the properties to use with the SQL statements. |
String |
getTestSQLStatementsFilename()
|
String |
getUpdateReadAclsSql()
Gets the statement to update the read acls |
String |
getUsersSeparator()
|
boolean |
isAllowedConversion(int expected,
int actual,
String actualName,
int actualSize)
Check mismatches between expected and actual JDBC types read from database introspection. |
boolean |
isClusteringSupported()
Checks that clustering is supported. |
boolean |
isConnectionClosedException(Throwable t)
Checks if an exception received means that the low level connection has been trashed and must be reset. |
boolean |
needsAliasForDerivedTable()
Whether a derived table (subselect in a FROM statement) needs an alias. |
boolean |
needsOriginalColumnInGroupBy()
Whether a GROUP BY can only be used with the original column name and not an alias. |
boolean |
needsPrepareUserReadAcls()
The dialect need an extra SQL statement to populate a user read acl cache before running the query. |
char |
openQuote()
|
void |
performPostOpenStatements(Connection connection)
Set transaction isolation level to snapshot |
boolean |
qualifyIndexName()
|
void |
setToPreparedStatement(PreparedStatement ps,
int index,
Serializable value,
Column column)
|
boolean |
supportsCircularCascadeDeleteConstraints()
|
boolean |
supportsMultipleFulltextIndexes()
SQL Server supports only one fulltext index. |
boolean |
supportsReadAcl()
Does the dialect support an optimized read security checks |
boolean |
supportsUpdateFrom()
Does the dialect support UPDATE t SET ... |
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public DialectSQLServer(DatabaseMetaData metadata, BinaryManager binaryManager, RepositoryDescriptor repositoryDescriptor) throws StorageException
StorageException
Method Detail |
---|
public char openQuote()
openQuote
in class Dialect
public char closeQuote()
closeQuote
in class Dialect
public String getNoColumnsInsertString()
getNoColumnsInsertString
in class Dialect
public String getNullColumnString()
getNullColumnString
in class Dialect
public boolean qualifyIndexName()
qualifyIndexName
in class Dialect
public String getAddColumnString()
getAddColumnString
in class Dialect
public Dialect.JDBCInfo getJDBCTypeAndString(ColumnType type)
Dialect
getJDBCTypeAndString
in class Dialect
public boolean isAllowedConversion(int expected, int actual, String actualName, int actualSize)
Dialect
isAllowedConversion
in class Dialect
public void setToPreparedStatement(PreparedStatement ps, int index, Serializable value, Column column) throws SQLException
setToPreparedStatement
in class Dialect
SQLException
public Serializable getFromResultSet(ResultSet rs, int index, Column column) throws SQLException
getFromResultSet
in class Dialect
SQLException
public boolean getMaterializeFulltextSyntheticColumn()
Dialect
getMaterializeFulltextSyntheticColumn
in class Dialect
public int getFulltextIndexedColumns()
Dialect
getFulltextIndexedColumns
in class Dialect
public boolean supportsMultipleFulltextIndexes()
Dialect
supportsMultipleFulltextIndexes
in class Dialect
public String getCreateFulltextIndexSql(String indexName, String quotedIndexName, Table table, List<Column> columns, Model model)
Dialect
getCreateFulltextIndexSql
in class Dialect
public String getDialectFulltextQuery(String query)
Dialect
getDialectFulltextQuery
in class Dialect
query
- the CMIS-syntax-based fulltext query string
public Dialect.FulltextMatchInfo getFulltextScoredMatchInfo(String fulltextQuery, String indexName, int nthMatch, Column mainColumn, Model model, Database database)
Dialect
getFulltextScoredMatchInfo
in class Dialect
public boolean supportsCircularCascadeDeleteConstraints()
supportsCircularCascadeDeleteConstraints
in class Dialect
public boolean supportsUpdateFrom()
Dialect
supportsUpdateFrom
in class Dialect
public boolean doesUpdateFromRepeatSelf()
Dialect
doesUpdateFromRepeatSelf
in class Dialect
public boolean needsAliasForDerivedTable()
Dialect
needsAliasForDerivedTable
in class Dialect
public boolean needsOriginalColumnInGroupBy()
Dialect
needsOriginalColumnInGroupBy
in class Dialect
public String getSecurityCheckSql(String idColumnName)
Dialect
getSecurityCheckSql
in class Dialect
idColumnName
- the quoted name of the id column to use
public String getInTreeSql(String idColumnName)
Dialect
getInTreeSql
in class Dialect
idColumnName
- the quoted name of the id column to use
public String getSQLStatementsFilename()
Dialect
getSQLStatementsFilename
in class Dialect
public String getTestSQLStatementsFilename()
getTestSQLStatementsFilename
in class Dialect
public Map<String,Serializable> getSQLStatementsProperties(Model model, Database database)
Dialect
getSQLStatementsProperties
in class Dialect
public boolean supportsReadAcl()
Dialect
supportsReadAcl
in class Dialect
public String getReadAclsCheckSql(String idColumnName)
Dialect
getReadAclsCheckSql
in class Dialect
idColumnName
- the quoted name of the read acl_id column to use
public String getUpdateReadAclsSql()
Dialect
getUpdateReadAclsSql
in class Dialect
public String getRebuildReadAclsSql()
Dialect
getRebuildReadAclsSql
in class Dialect
public boolean isClusteringSupported()
Dialect
isClusteringSupported
in class Dialect
public String getClusterInsertInvalidations()
Dialect
getClusterInsertInvalidations
in class Dialect
public String getClusterGetInvalidations()
Dialect
getClusterGetInvalidations
in class Dialect
public boolean isConnectionClosedException(Throwable t)
Dialect
isConnectionClosedException
in class Dialect
public String getBlobLengthFunction()
Dialect
getBlobLengthFunction
in class Dialect
public String getPrepareUserReadAclsSql()
Dialect
getPrepareUserReadAclsSql
in class Dialect
public boolean needsPrepareUserReadAcls()
Dialect
needsPrepareUserReadAcls
in class Dialect
public String getUsersSeparator()
public void performPostOpenStatements(Connection connection) throws SQLException
performPostOpenStatements
in class Dialect
SQLException
public String getAncestorsIdsSql()
Dialect
getAncestorsIdsSql
in class Dialect
|
Nuxeo ECM Projects 5.4.3-SNAPSHOT | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |