TSql130ParserBaseInternal
Real constructor (the one which is used)
Checks whether the column limit is reached and if not it increments the column count.
protected static void CheckCopyOptionDuplication(ref int encountered, CopyOptionKind newOption, IToken token)
Checks, if option was already specified, and if it is the case, throws
This method checks Ctas statements has distribution option, which is required.
If no distribution option mentioned, this method throws parser error saying "The CTAS statement requires a distribution option"
protected static void CheckExternalTableCtasStatementHasNotRejectedRowLocationOption(CreateExternalTableStatement statement)
This method checks External Table Ctas statements has not Rejected Row Location option.
If Rejected Row Location option mentioned, this method throws parser error saying "REJECTED_ROW_LOCATION cannot be specified in a CREATE EXTERNAL TABLE AS SELECT statement."
This method checks a create table statement for being a hekaton table with an inline filtered index.
This is currently not exposed and not allowed.
protected static void CheckHekatonTableForNonClusteredColumnStoreIndexes(CreateTableStatement statement)
This method checks hekaton tables for nonclustered column store indexes, which are not allowed.
Checks the retention period duration and throws an error if it is not positive number.
protected static void CheckTemporalGeneratedAlwaysColumns(TableDefinition definition, bool isInAlterStatement)
Checks if generated always columns that are generated always as user id/name start/end are unique within table definition
and if period definition exists when trying to create table with those columns
protected static void CheckTemporalPeriodInTableDefinition(TableDefinition definition, bool isInAlterStatement)
Checks if table definition contains 'generated always' columns that match period definition,
if period definition exists.
Checks, if TimeLiteral is valid and if not, throws
protected static void VerifyAllowedIndexOption130(IndexAffectingStatement statement, IndexOption option)