sqlparse icon indicating copy to clipboard operation
sqlparse copied to clipboard

maybe bug for parse sql using over

Open yzjkzq opened this issue 5 years ago • 0 comments

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'

should "ROW_NUMBER() OVER (PARTITION BY T.NAME ORDER BY T.NAME ) L_INSEQ" be parsed as Identifier ?

yzjkzq avatar Jul 15 '20 07:07 yzjkzq