SqlScriptDOM icon indicating copy to clipboard operation
SqlScriptDOM copied to clipboard

Parsing errors in Azure Synapse Analytics examples

Open naveennaik1 opened this issue 9 months ago • 0 comments

We have listed out the examples in Azure Synapse Dedicated SQL Pool that are currently not supported in Microsoft SQL Parser ( TSql160Parser ) Version - 170.28.0

Microsoft documentation references :

Data Definition Language (DDL) statements

Sr no. Keyword Reference links Error Message
1 ALTER TABLE Link Option 'RESUMABLE' is not a valid index option in 'ALTER TABLE' statement.
2 CREATE DATABASE Link Incorrect syntax near 'MAXSIZE'.
3 CREATE MATERIALIZED VIEW AS SELECT Link Incorrect syntax near 'materialized'.
4 CREATE STATISTICS Link Incorrect syntax near 'ON'.
5 CREATE TABLE AS SELECT Link Incorrect syntax near 'FORMAT_OPTIONS'.
6 DROP TABLE Link Expected but did not find a closing quotation mark after the character string 't NULL
7 RENAME Link , Link Incorrect syntax near 'DATABASE'.

Query statements

Sr no. Keyword Reference links Error Message
1 WITH common_table_expression (Transact-SQL) Link Incorrect syntax near 'FORMAT_OPTIONS'.
2 FROM clause plus JOIN, APPLY, PIVOT (Transact-SQL) Link , Link ,Link Incorrect syntax near 'REDUCE'.
3 OPTION clause (Transact-SQL) Link , Link Expected BYPASS but encountered FORCE instead.

Security statements

Sr no. Keyword Reference links Error Message
1 BACKUP CERTIFICATE Link Incorrect syntax near '='.
2 CREATE CERTIFICATE Link Incorrect syntax near '='.
3 CREATE USER Link Incorrect syntax near 'ON'.

T-SQL language elements for dedicated SQL pool in Azure Synapse Analytics

Sr no. Keyword Reference links Error Message
1 Transactions Link Incorrect syntax near 'AUTOCOMMIT'.
2 CREATE DIAGNOSTICS SESSION Link Incorrect syntax near 'DIAGNOSTICS'.

Steps to reproduce

        static void Main(string[] args)
        {
            var script = @"<EXAMPLE_SCRIPT>";

            var parser = new TSql160Parser(true, 0);
            var fragment = parser.Parse(new StringReader(script), out var parseErrors);

            if (parseErrors.Count > 0)
            {
                Console.WriteLine(parseErrors[0].Message);
            }
        }

naveennaik1 avatar Mar 26 '25 10:03 naveennaik1