nene/sql-parser-cst

MySQL support (procedural language)

Opened this issue · 2 comments

nene commented

Procedural language

  • DECLARE
  • SET
    • basic syntax
    • multi-variable assignment
    • GLOBAL, PERSIST, PERSIST_ONLY, SESSION
  • BEGIN .. END block
  • procedural CASE
  • IF .. THEN .. ELSEIF .. ELSE .. END IF
  • block labels
  • LOOP .. END LOOP
  • REPEAT .. UNTIL .. END REPEAT
  • WHILE cond DO .. END WHILE
  • LEAVE
  • ITERATE
  • RETURN
  • CALL

I hope this is the right place to add the DELIMITER command.
It's old and standard: https://dev.mysql.com/doc/refman/5.7/en/stored-programs-defining.html

It's not supported in the parser.

I'd be happy to add it if I spoke PegJS, sorry.

nene commented

Better to create a separate issue for this as this DELIMITER is really quite a different beast. It's not really part of the language recognized by MySQL server, it's a command specific to the mysql client program (among several other commands, like use).

Created a separate issue here: #89

Frankly I'm not quite sure how to go about implementing this. There possibly needs to be some switch to toggle the parser into mysql client-mode.