maybe bug for parse sql using over
sql = "SELECT NAME, ROW_NUMBER() OVER (PARTITION BY T.NAME ORDER BY T.NAME ) L_INSEQ FROM TEST T" i got parsed:
|- 0 DML 'SELECT' |- 1 Whitespace ' ' |- 2 IdentifierList 'NAME, ...' | |- 0 Identifier 'NAME' | | - 0 Name 'NAME' | |- 1 Punctuation ',' | |- 2 Whitespace ' ' | - 3 Function 'ROW_NU...' | |- 0 Identifier 'ROW_NU...' | | - 0 Name 'ROW_NU...' | - 1 Parenthesis '()' | |- 0 Punctuation '(' | - 1 Punctuation ')' |- 3 Whitespace ' ' |- 4 Keyword 'OVER' |- 5 Whitespace ' ' |- 6 Identifier '(PARTI...' | |- 0 Parenthesis '(PARTI...' | | |- 0 Punctuation '(' | | |- 1 Keyword 'PARTIT...' | | |- 2 Whitespace ' ' | | |- 3 Keyword 'BY' | | |- 4 Whitespace ' ' | | |- 5 Identifier 'T.NAME' | | | |- 0 Name 'T' | | | |- 1 Punctuation '.' | | | - 2 Name 'NAME' | | |- 6 Whitespace ' ' | | |- 7 Keyword 'ORDER ...' | | |- 8 Whitespace ' ' | | |- 9 Identifier 'T.NAME' | | | |- 0 Name 'T' | | | |- 1 Punctuation '.' | | | - 2 Name 'NAME' | | |- 10 Whitespace ' ' | | |- 11 Whitespace ' ' | | - 12 Punctuation ')' | |- 1 Whitespace ' ' | - 2 Identifier 'L_INSEQ' | - 0 Name 'L_INSEQ' |- 7 Whitespace ' ' |- 8 Keyword 'FROM' |- 9 Whitespace ' '
- 10 Identifier 'TEST T'
|- 0 Name 'TEST'
|- 1 Whitespace ' '
- 2 Identifier 'T'
- 0 Name 'T'
- 2 Identifier 'T'
should "ROW_NUMBER() OVER (PARTITION BY T.NAME ORDER BY T.NAME ) L_INSEQ" be parsed as Identifier ?