asyncer-io / r2dbc-mysql

Reactive Relational Database Connectivity for MySQL. The official successor to mirromutth/r2dbc-mysql(dev.miku:r2dbc-mysql).
https://r2dbc.io
Apache License 2.0
196 stars 21 forks source link

[feature] Refactor SQL statement parsing #226

Open mirromutth opened 8 months ago

mirromutth commented 8 months ago

Is your feature request related to a problem? Please describe.

For now, query is parsed by Query.parse. It can locate parameter indexes, map parameter names, and reformat prepared statements.

But it has no ability to know what the statement should be, for example:

So the parser should be improved to support basically syntax analysis.

This will help implement #136 and provide the ability to add RETURNING clause checks

Describe the solution you'd like

Add basically syntax analysis for Query parser.

Additional context

See also #201 issuecomment-1894821758