Incomplete, but here's one for PostgreSQL as well https://github.com/tshprecher/antlr_psql -- Michael Mior [email protected]
Le jeu. 22 août 2019 à 14:38, Julian Feinauer <[email protected]> a écrit : > > Hi, > > there are some SQL dialect grammars online here (for ANTLR4) > > https://github.com/antlr/grammars-v4/tree/master/mysql > https://github.com/antlr/grammars-v4/tree/master/plsql > https://github.com/antlr/grammars-v4/tree/master/sqlite > https://github.com/antlr/grammars-v4/tree/master/tsql > > They could be a starting point for your work? > > I used these as I wrote an ANTLR grammar for an SQL Like syntax the last time. > > JulianF > > Am 22.08.19, 19:39 schrieb "Julian Hyde" <[email protected]>: > > If you are going to do all that work to translate to ANTLR, one thing > that may help is to re-use SqlParserTest.java. (Shouldn’t be hard to > translate that into javascript, or your could use a harness that calls the > javascript code from java.) Your code may be entirely different, but the > tests will ensure that it gives the same result. > > > On Aug 22, 2019, at 4:04 AM, Michael Franzkowiak <[email protected]> > wrote: > > > > It is not using ANTLR. Since our goal is specifically to support parsing > > and manipulation of SQL in the frontend, we use > > https://sap.github.io/chevrotain/docs/ . We're quite happy with that. We > > have some pretty big ANTLR grammars for other (non-SQL) use cases and > this > > approach definitely feels more lightweight. > > > > On Thu, Aug 22, 2019 at 12:22 PM Danny Chan <[email protected]> > wrote: > > > >> Create ! Do you have the ANTLR.g4 file that can be shared ? > >> > >> Best, > >> Danny Chan > >> 在 2019年8月22日 +0800 PM5:45,Michael Franzkowiak > <[email protected]>,写道: > >>> Danny, what is your web / frontend use case exactly? > >>> We've started to create some frontend helpers which you can find at > >>> https://github.com/contiamo/rhombic . It's all in a very early state > but > >>> we'll likely spend some more time on it in the next months. Parsing is > >> here > >>> https://github.com/contiamo/rhombic/blob/master/src/SqlParser.ts . > >>> > >>> On Thu, Aug 22, 2019 at 11:38 AM Muhammad Gelbana > <[email protected]> > >>> wrote: > >>> > >>>> I once needed to fix this issue [1] but the fix was rejected because > it > >>>> introduced worse performance than it ideally should. As mentioned in > >> the > >>>> comments, the current approach followed in the current parser is the > >> reason > >>>> for that. I mean if we designed the grammar differently, we could've > >> had > >>>> fixed the linked issue a long time ago as Julian already attempted to > >> fix > >>>> it. > >>>> > >>>> Having that said, we might go with *antlr* only to have that "better" > >>>> approach for our parsers. We don't have to dump our current parser of > >>>> course as *antlr* can be optionally activated. > >>>> > >>>> [1] https://issues.apache.org/jira/browse/CALCITE-35 > >>>> > >>>> Thanks, > >>>> Gelbana > >>>> > >>>> > >>>> On Thu, Aug 22, 2019 at 10:05 AM Danny Chan <[email protected]> > >> wrote: > >>>> > >>>>> Thanks, Julian. > >>>>> > >>>>> I agree this would be a huge work, but I have to do this, I’m just > >>>>> wondering if any fellows here have the similar requests. > >>>>> > >>>>> Best, > >>>>> Danny Chan > >>>>> 在 2019年8月22日 +0800 PM2:15,Julian Hyde <[email protected]>,写道: > >>>>>> ANTLR isn’t significantly better than, or worse than, JavaCC, but > >> it’s > >>>>> different. So translating to ANTLR would be a rewrite, and would be > a > >>>> HUGE > >>>>> amount of work. > >>>>>> > >>>>>> > >>>>>> > >>>>>>> On Aug 21, 2019, at 8:01 PM, Danny Chan <[email protected]> > >>>> wrote: > >>>>>>> > >>>>>>> Now some of our fellows want to do the syntax promote in the WEB > >>>> page, > >>>>> and they what a parser in the front-page; The ANTLR4 can generate JS > >>>> parser > >>>>> directly but JAVACC couldn’t. > >>>>>>> > >>>>>>> So I’m wondering do you have the similar requests ? And do you > >> think > >>>>> there is necessity to support ANTLR4 g4 file in Calcite ? > >>>>>>> > >>>>>>> > >>>>>>> Best, > >>>>>>> Danny Chan > >>>>>> > >>>>> > >>>> > >>> > >>> > >> > > >
