-
Notifications
You must be signed in to change notification settings - Fork 24.3k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
ESQL: Clone ql for esql #108773
ESQL: Clone ql for esql #108773
Conversation
Pinging @elastic/es-analytical-engine (Team:Analytics) |
Also kudos to @luigidellaquila - he made the first attempt in #106079, which however included renaming the namespaces and fixing up any imports. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks Alex!
Just a couple of observations
This needs to be changed probably
It was not in my PR because it was added just one week after that.
This mixes EQL and ESQL, not sure if it can lead to classpath issues
x-pack/plugin/esql/src/test/java/org/elasticsearch/xpack/esql/tree/EsqlNodeSubclassTests.java
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Since we don't aim to share the QL clone outside ESQL, why use it as a separate module instead of moving it directly into ESQL?
Co-authored-by: Luigi Dell'Aquila <luigi.dellaquila@elastic.co>
Moving that into the |
It could be less obvious than it seems: today Compute depends on QL, and we don't want it to depend on ESQL (but if I remember well, the dependencies were only on tests, so probably we can find an acceptable solution) |
Thanks for the reviews @costin , @luigidellaquila , @breskeby and @rjernst ! I addressed your remarks, all should be good now. In particular, moved the We can move the contents of |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Still a couple of fixes to make the CI happy (MlNativeIntegTestCase and EvalBenchmark), but apart from that, LGTM
Thanks Alex!!!
As a follow-up (this PR is big enough already), we'll have to double-check that the code generator still respects the code style (eg. the order of imports)
This cannot be compileOnly; otherwise some tests fail because the SingleValueQuery class cannot be loaded.
This reverts commit b4d92bd. I was wrong :D
These need `esql-core`. Previously, these depended on `ql` and we somehow didn't see them fail, maybe because `eql` and `sql` had the class loader load the required classes.
Part of #106679
ql
project into a different project just for esql, call itesql-core
.esql
depend only on the latter.EsqlNodeSubclassTests
; I'm confused why this didn't bite us earlier.Note to reviewers: Exclude the first commit when viewing the diff, as that contains only the actual copying of
ql
. The remaining commits are the actually meaningful ones. Thebuild.gradle
files probably require the most attention.