@Translator(name="sqlserver", description="A translator for Microsoft SQL Server Database") public class SQLServerExecutionFactory extends SybaseExecutionFactory
JDBCExecutionFactory.StructRetrieval
ExecutionFactory.Format, ExecutionFactory.NullOrder, ExecutionFactory.SupportedJoinCriteria
Modifier and Type | Field and Description |
---|---|
static Version |
ELEVEN_0 |
static Version |
NINE_0 |
static Version |
SEVEN_0 |
static Version |
TEN_0 |
static String |
V_2000 |
static String |
V_2005 |
static String |
V_2008 |
static String |
V_2012 |
convertModifier, FIFTEEN_0_2, FIFTEEN_5, formatMap, jtdsDriver, TWELVE_5, TWELVE_5_3
DEFAULT_MAX_DEPENDENT_PREDICATES, DEFAULT_MAX_IN_CRITERIA, DEFAULT_TIME_ZONE, dialect
DEFAULT_MAX_FROM_GROUPS, DEFAULT_MAX_IN_CRITERIA_SIZE
Constructor and Description |
---|
SQLServerExecutionFactory() |
Modifier and Type | Method and Description |
---|---|
boolean |
booleanNullable() |
protected List<Object> |
convertDateToString(Function function) |
protected List<?> |
convertTimestampToString(Function function) |
protected JDBCMetdataProcessor |
createMetadataProcessor()
Deprecated.
|
String |
getHibernateDialectClassName() |
int |
getMaxFromGroups()
The number of groups supported in the from clause.
|
MetadataProcessor<Connection> |
getMetadataProcessor()
Get a MetadataProcessor for the translator to read the metadata.
|
List<String> |
getSupportedFunctions()
Get list of all supported function names.
|
boolean |
hasTimeType()
Return false to indicate that time support should be emulated
with timestamps.
|
boolean |
nullPlusNonNullIsNull() |
protected void |
populateDateFormats() |
void |
setDatabaseVersion(String version)
Overriden to allow for year based versions
|
protected boolean |
setFetchSize() |
void |
start()
Initialize the connector with supplied configuration
|
boolean |
supportsAggregatesEnhancedNumeric()
Support indicates connector can accept STDDEV_POP, STDDEV_VAR, VAR_POP, VAR_SAMP
|
boolean |
supportsCommonTableExpressions() |
boolean |
supportsConvert(int fromType,
int toType)
Used for fine grained control of convert/cast pushdown.
|
protected boolean |
supportsCrossJoin() |
boolean |
supportsElementaryOlapOperations() |
boolean |
supportsExcept()
Support indicates that the connector supports the EXCEPT of two queries.
|
boolean |
supportsFormatLiteral(String literal,
ExecutionFactory.Format format) |
boolean |
supportsFunctionsInGroupBy()
Support indicates that the connector supports non-column expressions in GROUP BY, such as:
SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate) |
boolean |
supportsGroupByRollup() |
boolean |
supportsInlineViews()
Support indicates connector can accept inline views (subqueries
in the FROM clause).
|
boolean |
supportsIntersect()
Support indicates that the connector supports the INTERSECT of two queries.
|
boolean |
supportsLiteralOnlyWithGrouping() |
boolean |
supportsOnlyFormatLiterals()
|
boolean |
supportsRecursiveCommonTableExpressions() |
boolean |
supportsRowLimit()
Gets whether the connector can limit the number of rows returned by a query.
|
boolean |
supportsSelectWithoutFrom() |
boolean |
supportsWindowDistinctAggregates() |
boolean |
supportsWindowOrderByWithAggregates() |
List<?> |
translate(LanguageObject obj,
ExecutionContext context)
Return a List of translated parts (
LanguageObject s and Objects), or null
if to rely on the default translation. |
String |
translateLiteralDate(Date dateValue)
Subclasses should override this method to provide a different sql translation
of the literal date value.
|
String |
translateLiteralTime(Time timeValue)
The SQL Server driver maps the time escape to a timestamp/datetime, so
use a cast of the string literal instead.
|
protected boolean |
usesDatabaseVersion() |
boolean |
useStreamsForLobs()
If streams should be used for Blob/Clob sets on
PreparedStatement s |
boolean |
useWithRollup() |
initCapabilities, isJtdsDriver, setFetchSize, setJtdsDriver, translateCommand, translateLiteralTimestamp, useUnicodePrefix
bindValue, getTemporaryTableName, getTimestampNanoPrecision, retrieveValue, retrieveValue, translateLimit, useAsInGroupAlias, useSelectLimit
addSourceComment, afterInitialConnectionObtained, closeConnection, convertObject, createDirectExecution, createProcedureExecution, createResultSetExecution, createTempTable, createUpdateExecution, executeStoredProcedure, formatDateValue, getCommentFormat, getConnection, getCreateTemporaryTablePostfix, getCreateTemporaryTableString, getCreateTempTableSQL, getDatabaseCalendar, getDatabaseTimeZone, getDatabaseVersion, getDefaultNullOrder, getDefaultSupportedFunctions, getDialect, getFunctionModifiers, getLikeRegexString, getMaxPreparedInsertBatchSize, getMetadata, getSetOperationString, getSourceComment, getSQLConversionVisitor, getStructRetrieval, getVersion, intializeConnectionAfterCancel, isEnableDependentJoins, isSourceRequired, isSourceRequiredForCapabilities, isTrimStrings, loadedTemporaryTable, obtainedConnection, parseName, registerFunctionModifier, registerSpecificTypeOfOutParameter, replaceElementName, retrieveGeometryValue, retrieveGeometryValue, setCommentFormat, setDatabaseTimeZone, setDatabaseVersion, setEnableDependentJoins, setMaxPreparedInsertBatchSize, setStructRetrieval, setTrimStrings, setUseBindVariables, setUseCommentsInSourceQuery, supportsAggregatesAvg, supportsAggregatesCount, supportsAggregatesCountStar, supportsAggregatesDistinct, supportsAggregatesMax, supportsAggregatesMin, supportsAggregatesSum, supportsAliasedTable, supportsBatchedUpdates, supportsBulkUpdate, supportsCompareCriteriaEquals, supportsCompareCriteriaOrdered, supportsCorrelatedSubqueries, supportsDependentJoins, supportsExistsCriteria, supportsFullDependentJoins, supportsGeneratedKeys, supportsGeneratedKeys, supportsGroupBy, supportsHaving, supportsInCriteria, supportsInCriteriaSubquery, supportsInsertWithQueryExpression, supportsIsNullCriteria, supportsLikeCriteria, supportsLikeCriteriaEscapeCharacter, supportsNotCriteria, supportsOrCriteria, supportsOrderByUnrelated, supportsQuantifiedCompareCriteriaAll, supportsQuantifiedCompareCriteriaSome, supportsScalarSubqueries, supportsSearchedCaseExpressions, supportsSelectExpression, supportsSelfJoins, supportsSetQueryOrderBy, supportsUnions, tempTableRequiresTransaction, translateGeometryLiteral, translateGeometrySelect, translateLiteralBoolean, useBindVariables, useCommentsInSourceQuery, useParensForJoins, useParensForSetQueries, usePreparedStatements, useScientificNotation
addPushDownFunction, areLobsUsableAfterClose, createExecution, getCacheDirective, getCollationLocale, getConnection, getDirectQueryProcedureName, getInstance, getLanguageFactory, getMaxDependentInPredicates, getMaxInCriteriaSize, getNativeQueryProcedureName, getPushDownFunctions, getSupportedJoinCriteria, getTypeFacility, isCopyLobs, isForkable, isImmutable, isSourceRequiredForMetadata, isThreadBound, requiresCriteria, returnsSingleUpdateCount, setCollationLocale, setCopyLobs, setDirectQueryProcedureName, setImmutable, setMaxDependentInPredicates, setMaxInCriteriaSize, setNativeQueryProcedureName, setRequiresCriteria, setSourceRequired, setSourceRequiredForMetadata, setSupportedJoinCriteria, setSupportsDirectQueryProcedure, setSupportsFullOuterJoins, setSupportsInnerJoins, setSupportsNativeQueries, setSupportsOrderBy, setSupportsOuterJoins, setSupportsSelectDistinct, setThreadBound, supportsAdvancedOlapOperations, supportsArrayAgg, supportsArrayType, supportsCompareCriteriaOrderedExclusive, supportsDirectQueryProcedure, supportsFullOuterJoins, supportsInnerJoins, supportsLikeRegex, supportsNativeQueries, supportsOnlyCorrelatedSubqueries, supportsOnlyLiteralComparison, supportsOnlySingleTableGroupBy, supportsOrderBy, supportsOrderByNullOrdering, supportsOrderByWithExtendedGrouping, supportsOuterJoins, supportsRowOffset, supportsSelectDistinct, supportsSimilarTo, supportsStringAgg, supportsSubqueryInOn, useAnsiJoin
public static final String V_2000
public static final String V_2005
public static final String V_2008
public static final String V_2012
public static final Version SEVEN_0
public static final Version NINE_0
public static final Version TEN_0
public static final Version ELEVEN_0
public void start() throws TranslatorException
ExecutionFactory
start
in class SybaseExecutionFactory
TranslatorException
protected void populateDateFormats()
populateDateFormats
in class SybaseExecutionFactory
protected List<Object> convertDateToString(Function function)
convertDateToString
in class SybaseExecutionFactory
protected List<?> convertTimestampToString(Function function)
convertTimestampToString
in class SybaseExecutionFactory
public List<?> translate(LanguageObject obj, ExecutionContext context)
JDBCExecutionFactory
LanguageObject
s and Objects), or null
if to rely on the default translation. Override with care.translate
in class BaseSybaseExecutionFactory
public List<String> getSupportedFunctions()
ExecutionFactory
getSupportedFunctions
in class SybaseExecutionFactory
for a listing of system pushdown functions. Note that
not all system functions are listed as some functions will use a common name
such as CONCAT vs. the || operator, and other functions will be rewritten and
not pushed down, such as SPACE.
Note: User defined functions should be specified fully qualified.
public boolean supportsInlineViews()
ExecutionFactory
supportsInlineViews
in class SybaseExecutionFactory
public boolean supportsFunctionsInGroupBy()
ExecutionFactory
Support indicates that the connector supports non-column expressions in GROUP BY, such as:
SELECT dayofmonth(theDate), COUNT(*) FROM table GROUP BY dayofmonth(theDate)
supportsFunctionsInGroupBy
in class SybaseExecutionFactory
public boolean supportsRowLimit()
ExecutionFactory
supportsRowLimit
in class SybaseExecutionFactory
public boolean supportsIntersect()
ExecutionFactory
supportsIntersect
in class ExecutionFactory<DataSource,Connection>
public boolean supportsExcept()
ExecutionFactory
supportsExcept
in class ExecutionFactory<DataSource,Connection>
public int getMaxFromGroups()
ExecutionFactory
getMaxFromGroups
in class SybaseExecutionFactory
public boolean supportsAggregatesEnhancedNumeric()
ExecutionFactory
supportsAggregatesEnhancedNumeric
in class SybaseExecutionFactory
public boolean nullPlusNonNullIsNull()
nullPlusNonNullIsNull
in class SybaseExecutionFactory
public boolean booleanNullable()
booleanNullable
in class SybaseExecutionFactory
public void setDatabaseVersion(String version)
setDatabaseVersion
in class JDBCExecutionFactory
public String translateLiteralDate(Date dateValue)
JDBCExecutionFactory
{d '2002-12-31'}
translateLiteralDate
in class SybaseExecutionFactory
dateValue
- Date value, never nullpublic boolean hasTimeType()
JDBCExecutionFactory
hasTimeType
in class BaseSybaseExecutionFactory
public String translateLiteralTime(Time timeValue)
translateLiteralTime
in class JDBCExecutionFactory
timeValue
- Time value, never nullpublic boolean supportsCommonTableExpressions()
supportsCommonTableExpressions
in class ExecutionFactory<DataSource,Connection>
public boolean supportsRecursiveCommonTableExpressions()
supportsRecursiveCommonTableExpressions
in class ExecutionFactory<DataSource,Connection>
protected boolean supportsCrossJoin()
supportsCrossJoin
in class BaseSybaseExecutionFactory
public boolean supportsElementaryOlapOperations()
supportsElementaryOlapOperations
in class ExecutionFactory<DataSource,Connection>
public boolean supportsWindowDistinctAggregates()
supportsWindowDistinctAggregates
in class ExecutionFactory<DataSource,Connection>
public boolean supportsWindowOrderByWithAggregates()
supportsWindowOrderByWithAggregates
in class ExecutionFactory<DataSource,Connection>
public boolean supportsFormatLiteral(String literal, ExecutionFactory.Format format)
supportsFormatLiteral
in class SybaseExecutionFactory
public boolean supportsOnlyFormatLiterals()
ExecutionFactory
supportsOnlyFormatLiterals
in class ExecutionFactory<DataSource,Connection>
protected boolean setFetchSize()
setFetchSize
in class SybaseExecutionFactory
@Deprecated protected JDBCMetdataProcessor createMetadataProcessor()
createMetadataProcessor
in class JDBCExecutionFactory
getMetadataProcessor
public MetadataProcessor<Connection> getMetadataProcessor()
ExecutionFactory
getMetadataProcessor
in class JDBCExecutionFactory
protected boolean usesDatabaseVersion()
usesDatabaseVersion
in class SybaseExecutionFactory
public boolean useStreamsForLobs()
JDBCExecutionFactory
PreparedStatement
suseStreamsForLobs
in class JDBCExecutionFactory
public boolean supportsSelectWithoutFrom()
supportsSelectWithoutFrom
in class SybaseExecutionFactory
public String getHibernateDialectClassName()
getHibernateDialectClassName
in class SybaseExecutionFactory
public boolean supportsGroupByRollup()
supportsGroupByRollup
in class SybaseExecutionFactory
public boolean useWithRollup()
useWithRollup
in class JDBCExecutionFactory
public boolean supportsConvert(int fromType, int toType)
ExecutionFactory
ExecutionFactory.getSupportedFunctions()
should
contain SourceSystemFunctions.CONVERT
. This method can then return false to indicate
a lack of specific support. The engine will does not care about an unnecessary conversion
where fromType == toType.
By default lob conversion is disabled.supportsConvert
in class ExecutionFactory<DataSource,Connection>
fromType
- @see RUNTIME_CODEStoType
- @see RUNTIME_CODESpublic boolean supportsLiteralOnlyWithGrouping()
supportsLiteralOnlyWithGrouping
in class SybaseExecutionFactory
Copyright © 2013–2015 JBoss by Red Hat. All rights reserved.