sql-parser-cst icon indicating copy to clipboard operation
sql-parser-cst copied to clipboard

Postgres support (special functions syntax)

Open nene opened this issue 1 year ago • 0 comments

JSON functions

  • [ ] JSON_OBJECT(...) #84
    • [ ] json_object('code' VALUE 'P123')
    • [ ] json_object('title': 'Jaws')
    • [ ] [ FORMAT JSON [ ENCODING UTF8 ] ]
    • [ ] [ { NULL | ABSENT } ON NULL ]
    • [ ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ]
    • [ ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ]
  • [ ] json( expression [ FORMAT JSON [ ENCODING UTF8 ]] [ { WITH | WITHOUT } UNIQUE [ KEYS ]] )
  • [ ] json_serialize ( expression [ FORMAT JSON [ ENCODING UTF8 ] ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ] )
  • [ ] json_array ( [ { value_expression [ FORMAT JSON ] } [, ...] ] [ { NULL | ABSENT } ON NULL ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ])
  • [ ] json_array ( [ query_expression ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ])
  • [ ] expression IS [ NOT ] JSON [ { VALUE | SCALAR | ARRAY | OBJECT } ] [ { WITH | WITHOUT } UNIQUE [ KEYS ] ]
  • [ ] JSON_EXISTS (...)
    • [ ] context_item, path_expression
    • [ ] [ PASSING { value AS varname } [, ...]]
    • [ ] [{ TRUE | FALSE | UNKNOWN | ERROR } ON ERROR ]
  • [ ] JSON_QUERY (...)
    • [ ] context_item, path_expression
    • [ ] [ PASSING { value AS varname } [, ...]]
    • [ ] [ RETURNING data_type [ FORMAT JSON [ ENCODING UTF8 ] ] ]
    • [ ] [ { WITHOUT | WITH { CONDITIONAL | [UNCONDITIONAL] } } [ ARRAY ] WRAPPER ]
    • [ ] [ { KEEP | OMIT } QUOTES [ ON SCALAR STRING ] ]
    • [ ] [ { ERROR | NULL | EMPTY { [ ARRAY ] | OBJECT } | DEFAULT expression } ON EMPTY ]
    • [ ] [ { ERROR | NULL | EMPTY { [ ARRAY ] | OBJECT } | DEFAULT expression } ON ERROR ]
  • [ ] JSON_VALUE (...)
    • [ ] context_item, path_expression
    • [ ] [ PASSING { value AS varname } [, ...]]
    • [ ] [ RETURNING data_type ]
    • [ ] [ { ERROR | NULL | DEFAULT expression } ON EMPTY ]
    • [ ] [ { ERROR | NULL | DEFAULT expression } ON ERROR ]
  • [ ] JSON_TABLE (...)
    • [ ] context_item, path_expression [ AS json_path_name ] [ PASSING { value AS varname } [, ...] ]
    • [ ] COLUMNS ( json_table_column [, ...] ), where json_table_column is:
      • [ ] name FOR ORDINALITY
      • [ ] name type:
        • [ ] FORMAT JSON [ENCODING UTF8]
        • [ ] PATH path_expression
        • [ ] { WITHOUT | WITH { CONDITIONAL | [UNCONDITIONAL] } } [ ARRAY ] WRAPPER
        • [ ] { KEEP | OMIT } QUOTES [ ON SCALAR STRING ]
        • [ ] { ERROR | NULL | EMPTY { [ARRAY] | OBJECT } | DEFAULT expression } ON EMPTY
        • [ ] { ERROR | NULL | EMPTY { [ARRAY] | OBJECT } | DEFAULT expression } ON ERROR
      • [ ] name type EXISTS [ PATH path_expression ] [ { ERROR | TRUE | FALSE | UNKNOWN } ON ERROR ]
      • [ ] NESTED [ PATH ] path_expression [ AS json_path_name ] COLUMNS ( json_table_column [, ...] )
    • [ ] [ { ERROR | EMPTY [ARRAY]} ON ERROR ]

XML functions

  • [ ] xmlforest ( content [ AS name ] [, ...] )
  • [ ] xmlpi ( NAME name [, content ] )
  • [ ] xmlroot ( xml, VERSION {text|NO VALUE} [, STANDALONE {YES|NO|NO VALUE} ] )
  • [ ] xml IS DOCUMENT
  • [ ] xml IS NOT DOCUMENT
  • [ ] XMLEXISTS ( text PASSING [BY {REF|VALUE}] xml [BY {REF|VALUE}] )
  • [ ] XMLTABLE (...)
    • [ ] [ XMLNAMESPACES ( namespace_uri AS namespace_name [, ...] ), ]
    • [ ] row_expression PASSING [BY {REF|VALUE}] document_expression [BY {REF|VALUE}]
    • [ ] COLUMNS name { type [PATH column_expression] [DEFAULT default_expression] [NOT NULL | NULL] | FOR ORDINALITY }
    • [ ] [, ...]

nene avatar Nov 22 '24 16:11 nene