Hi Lukas, that is definitely great news, so I am sure JOOQ will be the right choice for this functionality. Now I will try to evaluate JOOQ in the prototype version. Thanks for response and links.
Marek Dňa štvrtok, 18. júla 2019 15:16:30 UTC+2 Lukas Eder napísal(-a): > > Hi Marek, > > Thank you very much for your interest in using jOOQ's parser for your > product. What you're planning to do sounds exactly like what we want to be > able to do, and offer as a library, with the parser / translator. > > However, there is still much work to do on our side. In order to be able > to associate parser artefacts, such as a mapping between the position in an > input string and a QueryPart, we'll have to re-design our QueryPart > internals and make them a public API. This will be a priority for the next > few jOOQ releases, but we're not quite there yet. Right now, you would have > to look into jOOQ's internals (possibly open them up using reflection) to > get access to this kind of information. > > Do note that there's a related discussion on GitHub where Scott McKinney > plans to use jOOQ as a SQL parser for Manifold: > https://github.com/jOOQ/jOOQ/issues/8720 > > If you're interested in continuing your jOOQ evaluation, we'd be very keen > on learning what kinds of requirements you may have from a future jOOQ. > > Best Regards, > Lukas > > On Wed, Jul 17, 2019 at 2:36 PM marekgregor <[email protected] > <javascript:>> wrote: > >> Hi, >> >> I am seriously considering implementation of Jupyter Notebook Kernel for >> SQL (+Java) language utilizing JOOQ. >> >> The Kernel will be capable to: >> - simultaneously connect to various databases for multiple users >> utilizing connection pooling, >> - provide database metadata to client (tables, columns, foreign keys, >> views, stored procs,...) utilizing JOOQ implementation >> <https://www.jooq.org/doc/3.11/manual/code-generation/codegen-advanced/codegen-config-database/codegen-database-name/> >> , >> - execute database native SQL or standardized SQL translated to native >> SQL by JOOQ parser functionality >> <https://www.jooq.org/doc/3.11/manual/sql-building/sql-parser/sql-parser-api/> >> and >> return it's results to client >> >> Kernel could also support autocomplete and introspection for SQL code >> written in editor on client side of Jupyter Notebook. The API >> implemented by kernel >> <https://jupyter-client.readthedocs.io/en/stable/messaging.html#completion> >> for >> autocomplete is pretty simple: client sends code (SQL) string and cursor >> position, kernel response contains list of autocomplete recommendation >> strings etc. >> >> I am curious if it is possible to use JOOQ for parsing SQL to >> QueryPart(s), identify which QueryPart >> <https://www.jooq.org/javadoc/3.11.x/org/jooq/QueryPart.html>corresponds >> to defined SQL string cursor position and return corresponding autocomplete >> strings (e.g. with names of available tables in FROM clause, or names of >> columns in SELECT clause). I don't know if it is suitable to use JOOQ for >> this task and how. >> >> thanks for response >> >> -- >> You received this message because you are subscribed to the Google Groups >> "jOOQ User Group" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected] <javascript:>. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jooq-user/eab246d8-2947-4686-9d29-1be0e1ca6182%40googlegroups.com >> >> <https://groups.google.com/d/msgid/jooq-user/eab246d8-2947-4686-9d29-1be0e1ca6182%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- You received this message because you are subscribed to the Google Groups "jOOQ User Group" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jooq-user/4a43d980-8cff-44ae-8ced-a9f864715522%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.
