-
Notifications
You must be signed in to change notification settings - Fork 0
Fix all remaining tests #61
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Added support for: - ContainmentDatabaseOption for ALTER DATABASE SET CONTAINMENT - HadrDatabaseOption and HadrAvailabilityGroupDatabaseOption for HADR options - FileStreamDatabaseOption for FILESTREAM (NON_TRANSACTED_ACCESS, DIRECTORY_NAME) - TargetRecoveryTimeDatabaseOption for TARGET_RECOVERY_TIME Parsing now handles: - ALTER DATABASE SET CONTAINMENT = NONE|PARTIAL - ALTER DATABASE SET HADR SUSPEND|RESUME|OFF|AVAILABILITY GROUP = name - FILESTREAM(NON_TRANSACTED_ACCESS=OFF|READ_ONLY|FULL, DIRECTORY_NAME='...') - TARGET_RECOVERY_TIME = N SECONDS|MINUTES - RESTRICTED_USER option for CREATE DATABASE FOR ATTACH Co-Authored-By: Claude Opus 4.5 <[email protected]>
Fixed an issue where index options parsing for constraints without parentheses would incorrectly consume the comma separating constraints, causing subsequent constraints to be skipped. Changes: - Added checks for constraint-starting keywords (CONSTRAINT, PRIMARY, UNIQUE, etc.) in index option parsing loops to stop parsing when a new constraint begins - Fixed comma handling in parseConstraintIndexOptions to not consume commas that separate constraints when not using parenthesized options This enables Baselines80_UniqueConstraintTests to pass, which tests table-level UNIQUE and PRIMARY KEY constraints with various WITH options. Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add AlterAvailabilityGroupStatement AST type with support for: - JOIN, ONLINE, OFFLINE, FORCE_FAILOVER_ALLOW_DATA_LOSS actions - FAILOVER action with optional WITH TARGET clause - ADD/REMOVE DATABASE operations - ADD/MODIFY/REMOVE REPLICA operations - SET options (e.g., REQUIRED_COPIES_TO_COMMIT) - Add AvailabilityGroupAction interface with concrete types - Add helper functions for parsing replica definitions - Enable AlterAvailabilityGroupStatementTests and Baselines110_AlterAvailabilityGroupStatementTests Co-Authored-By: Claude Opus 4.5 <[email protected]>
These are deprecated SQL Server index options that appear as standalone keywords without = value syntax. The parser now skips them without creating IndexOption nodes (matching ScriptDom behavior). Enables UniqueConstraintTests test. Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add JsonKeyValue AST type for JSON_OBJECT key:value pairs
- Add JsonParameters and AbsentOrNullOnNull fields to FunctionCall
- Implement parseJsonObjectCall for JSON_OBJECT('key':value, ...) syntax
- Implement parseJsonArrayCall for JSON_ARRAY(value1, value2, ...) syntax
- Support NULL ON NULL and ABSENT ON NULL modifiers
- Fix GlobalVariableExpression handling in SELECT elements (@@spid)
- Enable Baselines160_JsonFunctionTests160 and JsonFunctionTests160 tests
Co-Authored-By: Claude Opus 4.5 <[email protected]>
Always include NullNotNull field in JSON output, using "NotSpecified" as the default value when empty or unspecified. Enables BaselinesCommon_BulkInsertStatementTests test. Co-Authored-By: Claude Opus 4.5 <[email protected]>
When TIMESTAMP is used alone as a column identifier without a data type in INSERT BULK statements, uppercase it to match ScriptDom behavior. Enables BulkInsertStatementTests test. Co-Authored-By: Claude Opus 4.5 <[email protected]>
The NullLiteral Value field should preserve the case from the input SQL (e.g., "NULL" vs "null") rather than hardcoding a specific case. Enables Baselines110_CreateAlterDatabaseStatementTests110 test. Co-Authored-By: Claude Opus 4.5 <[email protected]>
Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add CreateSelectiveXmlIndexStatement AST type - Add SQLDataType field to SelectiveXmlIndexPromotedPath - Parse primary selective XML index with FOR clause paths - Parse secondary selective XML index (USING XML INDEX ... FOR) - Add JSON marshaling for the new types Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add AutomaticTuningDatabaseOption and sub-option AST types - Parse AUTOMATIC_TUNING = INHERIT|CUSTOM|AUTO - Parse AUTOMATIC_TUNING (CREATE_INDEX = ON, DROP_INDEX = OFF, ...) - Add JSON marshaling for automatic tuning options Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add parsing for ALTER DATABASE SET QUERY_STORE statements including: - QUERY_STORE = ON/OFF with sub-options - QUERY_STORE (sub-options) syntax - DESIRED_STATE, QUERY_CAPTURE_MODE, SIZE_BASED_CLEANUP_MODE options - INTERVAL_LENGTH_MINUTES, MAX_STORAGE_SIZE_MB, MAX_PLANS_PER_QUERY options - CLEANUP_POLICY with STALE_QUERY_THRESHOLD_DAYS - WAIT_STATS_CAPTURE_MODE option Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add parsing for ALTER DATABASE SCOPED CONFIGURATION SET statements: - MAXDOP = N | PRIMARY - LEGACY_CARDINALITY_ESTIMATION = ON/OFF/PRIMARY - PARAMETER_SNIFFING = ON/OFF/PRIMARY - QUERY_OPTIMIZER_HOTFIXES = ON/OFF/PRIMARY - Generic options like DW_COMPATIBILITY_LEVEL Adds new AST types: - AlterDatabaseScopedConfigurationSetStatement - MaxDopConfigurationOption - OnOffPrimaryConfigurationOption - GenericConfigurationOption - IdentifierOrScalarExpression Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add parsing for OPTIMIZE_FOR_SEQUENTIAL_KEY index option in: - Column-level INDEX definitions - Table-level INDEX definitions - Inline index definitions Also fix table-level INDEX WITH options to properly handle ON/OFF state options (not just expression options). Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add QueryStoreDataFlushIntervalOption type for FLUSH_INTERVAL_SECONDS and DATA_FLUSH_INTERVAL_SECONDS options - Fix CLEAR vs CLEAR ALL parsing: Clear should be false when ClearAll is true - Add marshaling and parsing for the new option type Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add TopRowFilter to MergeSpecification for MERGE TOP clause - Add OptimizerHints to MergeStatement for OPTION clause - Add WithCtesAndXmlNamespaces to MergeStatement for WITH CTEs - Update InsertMergeAction to use InsertSource instead of Values - Handle DEFAULT VALUES syntax in MERGE INSERT action - Handle $ACTION and $CUID pseudo columns in MERGE INSERT - Fix INTO token type check in parseMergeStatement - Add JSON marshaling for TopRowFilter and OptimizerHints Enables: Baselines100_MergeStatementTests, MergeStatementTests Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Handle signed numbers (+/-) and decimal literals in IDENTITY clause - Fix lexer to parse trailing decimal numbers like "1." - Skip data type parsing when current token is a constraint keyword (handles columns without explicit type like "timestamp NOT NULL") - Add column list parsing for column-level PRIMARY KEY constraints - Add ConstraintIdentifier to DEFAULT and CHECK constraints - Fix numeric literal types (IntegerLiteral vs NumericLiteral) Enables: Baselines90_ColumnDefinitionTests, Baselines80_ColumnDefinitionTests, ColumnDefinitionTests Co-Authored-By: Claude Opus 4.5 <[email protected]>
…ORITY - Add DATA_COMPRESSION = level ON PARTITIONS (...) support to ALTER INDEX - Fix WAIT_AT_LOW_PRIORITY Unit field to only output when explicitly specified - Enable AlterIndexStatementTests120 and Baselines120_AlterIndexStatementTests120 Co-Authored-By: Claude Opus 4.5 <[email protected]>
…port - Add SuppressMessagesOption field to IgnoreDupKeyIndexOption - Add IGNORE_DUP_KEY = ON (SUPPRESS_MESSAGES = ON/OFF) parsing to CREATE INDEX - Add ONLINE option support to CREATE COLUMNSTORE INDEX statement - Add OnlineIndexOption case to columnStoreIndexOptionToJSON marshaling - Enable CreateIndexStatementTests140 and Baselines140_CreateIndexStatementTests140 Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add ALTER MATERIALIZED VIEW REBUILD/DISABLE parsing - Add ViewRoundRobinDistributionPolicy type for DISTRIBUTION = ROUND_ROBIN - Update ViewDistributionOption to use interface for Value field - Enable MaterializedViewTests130 and Baselines130_MaterializedViewTests130 Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add SetStopListAlterFullTextIndexAction for SET STOPLIST action - Add FullTextIndexOption interface with StopListFullTextIndexOption and ChangeTrackingFullTextIndexOption implementations - Add FullTextCatalogAndFileGroup for catalog/filegroup specification - Implement full CREATE FULLTEXT INDEX parsing with KEY INDEX, ON catalog, and WITH options (CHANGE_TRACKING, STOPLIST, NO POPULATION) - Add SET STOPLIST parsing to ALTER FULLTEXT INDEX - Fix CreateFullTextIndexStatement $type to match ScriptDOM format Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add ONLINE option with WAIT_AT_LOW_PRIORITY support - Add DATA_COMPRESSION with ON PARTITIONS support - Add PAD_INDEX and FILLFACTOR options - Support COLUMNSTORE and COLUMNSTORE_ARCHIVE compression levels Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add IGNORE_DUP_KEY with SUPPRESS_MESSAGES option parsing in SET clause - Add RESUMABLE option for REBUILD operations - Add MAX_DURATION as top-level index option for resumable operations - Add WAIT_AT_LOW_PRIORITY as standalone index option - Add indexOption() method to WaitAtLowPriorityOption for ALTER INDEX use - Add WaitAtLowPriorityOption case in indexOptionToJSON - Add boolPtr helper function Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add SelectStatement and CtasColumns fields to CreateTableStatement - Add TableDistributionPolicy interface with HASH, ROUND_ROBIN, REPLICATE policies - Add CLUSTERED COLUMNSTORE INDEX ORDER() parsing for ordered CCI - Add DISTRIBUTION, CLUSTERED INDEX, HEAP options to parseCreateTableOptions - Fix CTAS column list detection to use peekTok directly (avoids lexer state issues) - Enable Baselines130_CtasStatementTests and CtasStatementTests Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Use original case for GenericOptionKind identifier in ALTER DATABASE SCOPED CONFIGURATION Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add DIAGNOSTICS LOG parsing (ON/OFF, MAX_SIZE, MAX_FILES, PATH) - Add FAILOVER CLUSTER PROPERTY parsing - Add BUFFER POOL EXTENSION parsing (ON with FILENAME/SIZE, OFF) - Add HADR CLUSTER CONTEXT parsing - Add corresponding AST types and marshaling functions - Enable AlterServerConfigurationStatementTests110 Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Use p.curTok.Literal instead of hardcoded "DEFAULT" to preserve case - Enable Baselines110_AlterServerConfigurationStatementTests110 Co-Authored-By: Claude Opus 4.5 <[email protected]>
Handle the optional = sign in CREATE FULLTEXT INDEX WITH clause for CHANGE_TRACKING and STOPLIST options. Also handle optional parentheses around WITH clause options and fix ALTER FULLTEXT INDEX SET STOPLIST to accept optional = sign. Co-Authored-By: Claude Opus 4.5 <[email protected]>
Add CHARACTER, DEC, and NCHARACTER to the SQL data type map. Handle multi-word types CHARACTER VARYING, NCHAR VARYING, and NCHARACTER VARYING to map to VarChar and NVarChar respectively. Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Parse GENERATED ALWAYS AS SUSER_SID/SUSER_SNAME START/END - Map to UserIdStart, UserIdEnd, UserNameStart, UserNameEnd values - Fix AddMaskingFunction/DropMaskingFunction option names Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add ALTER EVENT SESSION parsing with ADD/DROP EVENT/TARGET, WITH, STATE options - Add DROP EVENT SESSION statement parsing - Add BooleanNotExpression for NOT predicate handling - Add comparison operators (=, !=, <>, <, >, <=, >=) to event predicates - Add EventDeclarationSetParameters to EventDeclaration - Add DropEventDeclarations and DropTargetDeclarations to AlterEventSessionStatement - Add memoryPartitionValue mapping for PER_CPU -> PerCpu - Fix loop termination in ALTER EVENT SESSION to not exit on DROP/ADD tokens This enables 4 tests: - Baselines100_EventSessionStatementTests - Baselines130_EventSessionDbScopeStatementTests - EventSessionDbScopeStatementTests - EventSessionStatementTests Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add AlterAuthorizationStatement AST type and parser - Add AS clause support to DenyStatement - Add FULLTEXT STOPLIST object kind support - Enable SecurityStatement90Tests and Baselines90_SecurityStatement90Tests Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add IPv4 and ListenerIPEndpointProtocolOption AST types - Expand CreateEndpointStatement to include all endpoint fields - Add parseIPv4Address to handle IP addresses (including float tokenization) - Update marshaling for new types - Enable IPv4AddressTests and Baselines90_IPv4AddressTests Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add Owner field to CreateEndpointStatement - Add AUTHORIZATION clause parsing for CREATE ENDPOINT - Add colon-separated IP range support (IPv4PartTwo) Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add event type name casing map for special cases (DB, TSql, etc.) - Handle Trc_* and Ddl_* prefixed names as event groups - Enable CreateEventNotificationStatementTests Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add SecurityPolicyStatement, SecurityPolicyOption, SecurityPredicateAction AST types - Implement parseCreateSecurityPolicyStatement and parseAlterSecurityPolicyStatement - Add marshaling functions with correct ActionType handling (AlterState, AlterReplication, AlterPredicates) - Handle comma-separated predicate actions and NOT FOR REPLICATION clauses - Enable CreateAlterSecurityPolicyStatementTests130 Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add MATCH predicate support in WHERE clauses - Support chained graph patterns (A-(B)->C-(D)->E) - Add NOT MATCH support for negated graph patterns - Add GENERATED ALWAYS AS ROW START/END for temporal columns - Add PERIOD FOR SYSTEM_TIME parsing in CREATE TABLE - Add SYSTEM_VERSIONING = ON/OFF table option - Add SystemTimePeriodDefinition AST type - Support graph pseudo-columns ($node_id, $edge_id, $from_id, $to_id) - Make BooleanBinaryExpression implement graphMatchExpression for chained patterns - Make GraphMatchCompositeExpression implement booleanExpression Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add TSEQUAL predicate parsing for timestamp comparisons
- Add UPDATE() predicate support for triggers
- Add != !< !> T-SQL specific comparison operators
- Add ~ (bitwise NOT) operator support
- Add ODBC escape syntax {ESCAPE 'x'} for LIKE expressions
- Fix CHECK NOT FOR REPLICATION at table level
- Fix FREETEXT/CONTAINS with table.* and table.column syntax
- Fix pseudo column ($identity, $action, etc.) handling in full-text predicates
- Change WildcardColumn to Wildcard for consistency
Enables BooleanExpressionTests and BaselinesCommon_BooleanExpressionTests
Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add graph pseudo columns ($node_id, $edge_id, $from_id, $to_id) to parsePrimaryExpression for general expression context - Add graph pseudo columns to parseColumnReferenceOrFunctionCall for CREATE STATISTICS and similar statements - Add graph pseudo columns to parseInlineIndexDefinition for inline indexes in CREATE TABLE statements - Add getPseudoColumnType helper function with all pseudo columns - Add $ref support for GraphMatchNodeExpression using pointer-based tracking to match ScriptDOM behavior for shared nodes Known issue: GraphDbSyntaxTests140 has remaining structural differences in nested AND expressions within MATCH clauses. Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add AlterTableAlterPartitionStatement AST type for partition operations - Add parsing support for ALTER TABLE table SPLIT/MERGE RANGE (value) - Add JSON marshaling for the new statement type Note: AlterTableStatementTests130 has additional differences related to system versioning features (PERIOD FOR SYSTEM_TIME, SystemTimePeriodDefinition) that need separate implementation. Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add LeftFunctionCall AST type for LEFT(string, count) function - Add RightFunctionCall AST type for RIGHT(string, count) function - Add parsing support in parsePrimaryExpression for TokenLeft/TokenRight - Add parseLeftFunctionCall and parseRightFunctionCall functions - Add JSON marshaling for both function call types Note: ExpressionTests has additional parsing issues with nested UNION subqueries that need separate implementation. Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add normalizeRowsetOptionsJSON function to normalize JSON strings - Normalize JSON by removing whitespace and uppercasing keys/values - Apply normalization in bulkInsertOptionToJSON for RowsetOptions - Enables OpenRowsetBulkStatementTests150 Also enables Baselines140_GraphDbSyntaxTests140 (graph match parsing now works) Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add SearchPropertyListFullTextIndexOption AST type - Add SetSearchPropertyListAlterFullTextIndexAction for ALTER FULLTEXT INDEX - Update parser to handle SEARCH PROPERTY LIST option in CREATE/ALTER - Fix parseAddAlterFullTextIndexAction to handle STATISTICAL_SEMANTICS - Convert UTF-16 test file to UTF-8 for Baselines110_FulltextIndexStatementTests110 Co-Authored-By: Claude Opus 4.5 <[email protected]>
The expected AST for MATCH expressions with AND should flatten all composites into a left-associative chain, not create nested chains. Modified parseGraphMatchChainedExpression to also continue on TokenAnd, which starts a fresh node (not chaining from previous rightNode). Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Handle ADD PERIOD FOR SYSTEM_TIME (start, end) in ALTER TABLE ADD - Handle DROP PERIOD FOR SYSTEM_TIME in ALTER TABLE DROP - Set TableElementType to "Period" for period elements Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Create CopyStatement AST type with From, Into, and Options - Add CopyOption, SingleValueTypeCopyOption, CopyCredentialOption - Add ListTypeCopyOption and CopyColumnOption for column definitions - Parse COPY INTO table (columns) FROM 'url' WITH (options) - Handle Credential and ErrorFileCredential options with Identity/Secret - Normalize option names to PascalCase for JSON output Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add IPv6 address support for LISTENER_IP (string literal in parentheses) - Add HTTP protocol options: PATH, AUTHENTICATION, PORTS, COMPRESSION, SITE, CLEAR_PORT, SSL_PORT, AUTH_REALM, DEFAULT_LOGON_DOMAIN - Add SOAP payload options: WEBMETHOD (with namespace.alias syntax), BATCHES, SESSIONS, WSDL, LOGIN_TYPE, SESSION_TIMEOUT, DATABASE, NAMESPACE, SCHEMA, CHARACTER_SET, HEADER_LIMIT - Add SERVICE_BROKER/DATABASE_MIRRORING options: AUTHENTICATION (with various Windows/Certificate combinations), ENCRYPTION (with algorithm support), ROLE, MESSAGE_FORWARDING, MESSAGE_FORWARD_SIZE - Add new AST types: AuthenticationEndpointProtocolOption, PortsEndpointProtocolOption, CompressionEndpointProtocolOption, AuthenticationPayloadOption, EncryptionPayloadOption, RolePayloadOption, LiteralPayloadOption, SchemaPayloadOption, CharacterSetPayloadOption, SessionTimeoutPayloadOption, WsdlPayloadOption, LoginTypePayloadOption - Add SoapMethod.Namespace field for 'namespace'.'alias' webmethod syntax Enables: CreateEndpointStatementTests, Baselines90_CreateEndpointStatementTests Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add bitwise operators (&, |, ^) with correct T-SQL precedence
- Add ODBC function call parsing ({ FN convert(...) }, { FN extract(...) }, etc.)
- Add ODBC date/time literal parsing ({ T '...' }, { D '...' }, { TS '...' })
- Add parenthesized subquery with UNION support (parseRestOfBinaryQueryExpression)
- Add IDENTITY clause parsing after DEFAULT in column definitions
- Add large integer detection (>INT range) to use NumericLiteral
- Add NULLIF and COALESCE as distinct expression types
- Add ExtractFromExpression for ODBC extract function
Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add Collation field to SimpleCaseExpression and SearchedCaseExpression - Add Collation field to ScalarSubquery for subquery COLLATE support - Handle multi-part pseudo columns (dbo.t2.$ROWGUID) correctly: - Set ColumnType to pseudo column type (PseudoColumnRowGuid, etc.) - Exclude pseudo column from MultiPartIdentifier - Add CURRENT_DATE to ParameterlessCall types - Parse COLLATE after CASE END and parenthesized subqueries Enables: BaselinesCommon_ExpressionTests, ExpressionTests Co-Authored-By: Claude Opus 4.5 <[email protected]>
…marshaling - Handle nested parentheses in FROM clause that contain derived tables with aliases and JOINs (e.g., ((SELECT ...) AS t10 INNER JOIN ...)) - Add Alias field marshaling for VariableTableReference in tableReferenceToJSON - Add support for bracketed identifiers as aliases for VariableTableReference - Enables BaselinesCommon_FromClauseTests Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Handle old-style numeric index hints: table alias (1), WITH (0) - Handle naked HOLDLOCK/NOWAIT keywords without parentheses - Handle old-style hints after alias: table alias (nolock) - Add LOCAL join modifier support (undocumented feature) - Add peekIsOldStyleIndexHint to distinguish index hints from function params - Enables FromClauseTests Co-Authored-By: Claude Opus 4.5 <[email protected]>
Support for parsing CONNECTION constraints in graph edge tables: - Named constraints: CONSTRAINT name CONNECTION (N1 TO N2) - Unnamed constraints: CONNECTION (N1 TO N2) - ON DELETE CASCADE clause for both named and unnamed - ALTER TABLE ADD CONSTRAINT CONNECTION with ON DELETE CASCADE Co-Authored-By: Claude Opus 4.5 <[email protected]>
…N, TIME type - Add SUPPRESS_MESSAGES sub-option for IGNORE_DUP_KEY index options - Add ENCRYPTED WITH column encryption parsing - Add MaskingFunction and Encryption fields to ColumnDefinition AST - Accept TIME token as valid data type in parseDataTypeReference - Use parseSystemVersioningTableOption for nested SYSTEM_VERSIONING options - Treat hierarchyid, geometry, geography as UserDataTypeReference (CLR types) Co-Authored-By: Claude Opus 4.5 <[email protected]>
DAY/DAYS, WEEK/WEEKS, MONTH/MONTHS, YEAR/YEARS are now mapped to Day/Days, Week/Weeks, Month/Months, Year/Years respectively. Co-Authored-By: Claude Opus 4.5 <[email protected]>
…xes, ASC/DESC in CLUSTERED INDEX - Add TablePartitionOption and TablePartitionOptionSpecifications AST types for Azure Synapse PARTITION clause: PARTITION(column RANGE [LEFT|RIGHT] FOR VALUES (...)) - Add PARTITION parsing in CREATE TABLE WITH clause - Add NOT ENFORCED support for PRIMARY KEY and UNIQUE constraints (Azure Synapse) - Add WHERE clause support for inline column indexes (filtered indexes) - Add ASC/DESC sort order support for CLUSTERED INDEX in WITH clause - Add column list support for inline UNIQUE constraints on column definitions - Fix NOT ENFORCED parsing to not consume NOT when followed by NULL Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add AST types for CREATE/ALTER/DROP COLUMN ENCRYPTION KEY statements - Add ColumnEncryptionKeyValue and parameter types - Add parsing for column encryption key statements - Add ALTER COLUMN ENCRYPTION KEY ADD/DROP VALUE parsing - Add JSON marshaling for new statement types - Add TokenMaster, TokenKey, TokenEncryption to GRANT/DENY permission parsing - Add IsIfExists field to DropColumnMasterKeyStatement Enables AlwaysEncryptedTests130 and Baselines130_AlwaysEncryptedTests130. Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add GraphMatchRecursivePredicate, GraphRecursiveMatchQuantifier,
and GraphMatchLastNodePredicate AST types for SHORTEST_PATH patterns
- Implement parseGraphMatchShortestPath for parsing SHORTEST_PATH(pattern+)
and SHORTEST_PATH(pattern{min,max}) with both anchor-on-left and
anchor-on-right syntax variants
- Add support for LAST_NODE() function in graph patterns
- Add FOR PATH table reference modifier for graph path queries
- Add GRAPH PATH option support for WITHIN GROUP clause
- Add JSON marshaling for all new graph match types
Co-Authored-By: Claude Opus 4.5 <[email protected]>
- Add AST types for LedgerTableOption and LedgerViewOption - Add GENERATED ALWAYS AS TRANSACTION_ID START/END support - Add GENERATED ALWAYS AS SEQUENCE_NUMBER START/END support - Add LEDGER table option parsing with LEDGER_VIEW configuration - Add column name mapping options: TRANSACTION_ID_COLUMN_NAME, SEQUENCE_NUMBER_COLUMN_NAME, OPERATION_TYPE_COLUMN_NAME, OPERATION_TYPE_DESC_COLUMN_NAME - Add APPEND_ONLY option support - Add JSON marshaling for all ledger types Co-Authored-By: Claude Opus 4.5 <[email protected]>
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Added support for:
Parsing now handles: