Commit Graph

7311 Commits

Author SHA1 Message Date
Nik Everett 4d6b58495d SQL: Simplify expression ID generation (elastic/x-pack-elasticsearch#3466)
Replaces the `ExpressionIdGenerator` class with a static method and drops
the `jvmId` field from the `ExpressionId` altogether because it isn't needed.

We still have the potential to roll over expression ids if the server lives for
a long time but it is quite unlikely and rolling over only matters if we roll
over in the same query. So long as each expression id is unique to a
particular query we're fine.

Original commit: elastic/x-pack-elasticsearch@fe3d7f7216
2018-01-09 11:16:31 -05:00
Nik Everett 4009ba24b6 SQL: Document reference equality requirement
Right now `ProcessorDefinition#resolveAttributes` relies on reference
equality to detect when the rewrite does nothing. At least, all the
nodes rely on this. Maybe this isn't that important, but it is what we
do so we may as well document it.

Original commit: elastic/x-pack-elasticsearch@662372db14
2018-01-09 11:11:56 -05:00
Costin Leau 25a00a3b55 SQL: Check null in processor (elastic/x-pack-elasticsearch#3494)
Make Processors resilient to NULL values
Check null only in functions not constants

Original commit: elastic/x-pack-elasticsearch@dd8bd16d49
2018-01-09 16:18:16 +02:00
Costin Leau e114a86750 Update docs to reflect date changes
Original commit: elastic/x-pack-elasticsearch@3fdc53dbdb
2018-01-08 21:52:27 +02:00
Costin Leau 2c1210610c SQL: Preserve DateTime as a type internally (elastic/x-pack-elasticsearch#3493)
Original commit: elastic/x-pack-elasticsearch@1d2f3d1dae
2018-01-08 18:46:16 +02:00
Costin Leau af33fb847e Fix the rest client
Original commit: elastic/x-pack-elasticsearch@e9aaf05398
2018-01-08 16:39:51 +02:00
Costin Leau dab50f7b77 SQL: correct index name invocation
Original commit: elastic/x-pack-elasticsearch@cec6dd6dd9
2018-01-08 14:54:18 +02:00
Costin Leau aa85496090 Make debug tests abstract again
Original commit: elastic/x-pack-elasticsearch@1c9b60d556
2018-01-07 00:12:44 +02:00
Costin Leau ba81321d0d SQL: Support aliases and indices pattern (elastic/x-pack-elasticsearch#3438)
Add support for aliases and indices pattern
Enhance ShowTable info to differentiate between aliases and indices
Add regex filtering of index names
Handle security exceptions (in case of no privileges or no matching)

Original commit: elastic/x-pack-elasticsearch@91e3674ca7
2018-01-06 23:08:16 +02:00
Igor Motov b769007798 Merge remote-tracking branch 'elastic/master' into feature/sql_2
Original commit: elastic/x-pack-elasticsearch@14750a59a8
2018-01-05 10:37:46 -05:00
David Roberts d7416d53e0 [ML] Fix categorization integration test following fix to C++ code (elastic/x-pack-elasticsearch#3483)
The categorization integration tests were picking up a bug in the C++
categorization code, but the expected results were set incorrectly to
match the incorrect C++ output.  This change adjusts the expected
results to reflect what is really expected.  It also mutes the tests
to avoid failures while the C++ fix propagates through the build
process.  The tests will be unmuted tomorrow.

Relates elastic/machine-learning-cpp#512

Original commit: elastic/x-pack-elasticsearch@d2b57b6216
2018-01-05 11:48:01 +00:00
Jason Tedor 1586836920 Introduce Gradle wrapper
This commit introduces the Gradle wrapper into x-pack-elasticsearch.

Relates elastic/x-pack-elasticsearch#3475

Original commit: elastic/x-pack-elasticsearch@8b40f82646
2018-01-04 16:42:12 -05:00
Adrien Grand 7b4178aa28 Remove redundant modifier.
Original commit: elastic/x-pack-elasticsearch@26b3539fa6
2018-01-04 18:56:36 +01:00
Adrien Grand 895246d6b1 SQL: Fix simplification of boolean expressions. (elastic/x-pack-elasticsearch#3422)
There is an error in the optimizer that causes expressions that look like
`a OR FALSE` to not be rewritten to `a`.

Original commit: elastic/x-pack-elasticsearch@8d19b77b8b
2018-01-04 15:15:09 +01:00
David Kyle 46c1272ed3 [ML] Fix broken backwards compatibility of field names (elastic/x-pack-elasticsearch#3463)
Original commit: elastic/x-pack-elasticsearch@613943dfe7
2018-01-04 10:05:16 +00:00
Jason Tedor 3b06254573 Set processors on audit remote client
When creating a transport client for a remote index audit trail, we are
implicitly allowing the construction of this transport client to
initialize the number of processors that Netty thinks are on the
system. Since we never pushed down the number of processors, this will
always default to the number of cores on the machine. If the user has
also set the processors setting, when the server bootstraps it will try
to push the number of processors down to Netty too. If this value does
not match the number of cores, we will fail in bootstrap because we
guard against initializing the number of processors that Netty sees to
different values. Instead, the transport client should inherit the
number of processors too and push this down when it pushes the number of
processors down to Netty. We have to worry about another possibility: an
explicit setting for the number of processors for the transport client
so we require this matches the inherited value.

Relates elastic/x-pack-elasticsearch#3469


Original commit: elastic/x-pack-elasticsearch@032810bb0b
2018-01-04 00:06:16 -05:00
Igor Motov 3d6e6c92bf Merge remote-tracking branch 'elastic/master' into feature/sql_2
Original commit: elastic/x-pack-elasticsearch@45dbf7608d
2018-01-03 16:53:29 -05:00
Ryan Ernst b05ee6fcc9 fix silly serialization test
Original commit: elastic/x-pack-elasticsearch@fc934534d7
2018-01-03 13:51:23 -08:00
Igor Motov f575119a8d SQL: Add list tables and columns methods to the REST API (elastic/x-pack-elasticsearch#3464)
Adds list tables and list columns methods to the REST API. These methods are needed by JDBC and possibly other clients.

Related elastic/x-pack-elasticsearch#3419

Original commit: elastic/x-pack-elasticsearch@eaa384c7c9
2018-01-03 16:40:50 -05:00
Igor Motov d97d525d46 Merge remote-tracking branch 'elastic/master' into feature/sql_2
Original commit: elastic/x-pack-elasticsearch@00fa90b320
2018-01-03 15:59:36 -05:00
Ryan Ernst 2e2cce5db5 Fix test usage of PluginInfo in xpack
Original commit: elastic/x-pack-elasticsearch@2c81ed40ff
2018-01-03 12:56:14 -08:00
Igor Motov db1693ea20 Merge remote-tracking branch 'elastic/master' into feature/sql_2
Original commit: elastic/x-pack-elasticsearch@7029b1f881
2018-01-03 15:16:21 -05:00
Nik Everett 52dd19dba7 SQL: Match naming conventions for asciidoc files (elastic/x-pack-elasticsearch#3471)
SQL's asciidoc files were all named `sql-the-thing.asciidoc` but our
standard is to name asciidoc files `the-thing.asciidoc` and keep them in
appropriate directories.

relates elastic/x-pack-elasticsearch#3182

Original commit: elastic/x-pack-elasticsearch@ab81763ffd
2018-01-03 15:06:36 -05:00
Lisa Cawley 1cae1f8e93 [DOCS] Added certutil command (elastic/x-pack-elasticsearch#3294)
* [DOCS] Added certutil command

* [DOCS] Added examples to certutil command

* [DOCS] Address certutil feedback

Original commit: elastic/x-pack-elasticsearch@a9df7bcda2
2018-01-03 09:28:49 -08:00
Tim Vernum 2ad6a3a538 Cleanup the handling for bootstrap passwords (elastic/x-pack-elasticsearch#3470)
Minor refactoring on the reserved realm:
- Removed some duplicated code
- Added in some additional assertions
- Extended some testing
- Removed use of the obsolete "allow_default_passwords" from the test.

Original commit: elastic/x-pack-elasticsearch@584171d2bd
2018-01-03 20:08:33 +10:00
Alexander Reelsen e9abf18089 Tests: Increase logging to see requests
This test case fails on non-reproducibly on CI, so this adds
request/response logging to make sure all the requests were actually
successful.

Relates elastic/x-pack-elasticsearch#3340

Original commit: elastic/x-pack-elasticsearch@9e6c359f8c
2018-01-02 17:38:52 +01:00
Nik Everett a7728e5caa SQL: wrap remaining long lines (elastic/x-pack-elasticsearch#3458)
Wrap all remaining lines over 140 characters in sql for easier
readability.

Original commit: elastic/x-pack-elasticsearch@e0bc04a049
2018-01-01 13:42:38 -05:00
Nik Everett 1cc64f4ca1 SQL: Break long lines in planner package (elastic/x-pack-elasticsearch#3457)
Break lines longer than 140 characters in the planner package to make
them a bit easier to read and make checkstyle happy. It'll make some
merge conflicts but we should be able to deal with them easilly enough.

Original commit: elastic/x-pack-elasticsearch@de8c116f33
2018-01-01 11:09:28 -05:00
Jason Tedor ce366a731d Remove JDK 9 flag on CI builds
The special JDK 9 flags are no longer needed after the JDK maintainers
decided at the last minute to permit illegal access by default.

Relates elastic/x-pack-elasticsearch#3250

Original commit: elastic/x-pack-elasticsearch@a4cfcd8d1b
2017-12-31 09:55:27 -05:00
Nik Everett bc8103e268 SQL: Break long lines in expression package (elastic/x-pack-elasticsearch#3456)
Break lines over 140 characters in the expression package to make them a
bit easier to read and to make checkstyle happy.

Original commit: elastic/x-pack-elasticsearch@89487a79cc
2017-12-30 20:21:51 -05:00
Nik Everett c52b3350ef SQL: Break long lines in the analyzer package (elastic/x-pack-elasticsearch#3455)
Break lines longer than 140 characters in the analyzer package into
multiple lines so they are easier to read and to appease checkstyle.

Original commit: elastic/x-pack-elasticsearch@74c4c6e4ad
2017-12-30 19:09:55 -05:00
Nik Everett 16f996da92 SQL: Fix long lines in querydsl package (elastic/x-pack-elasticsearch#3454)
Break the lines longer than 140 characters in the querydsl package into
multiple lines to make them easier to read. And to make checkstyle
happy.

Original commit: elastic/x-pack-elasticsearch@cffef88490
2017-12-29 17:59:23 -05:00
Nik Everett c2527ed0f6 SQL: Break long lines in execution package (elastic/x-pack-elasticsearch#3453)
Fixes lines longer than 140 characters to be shorter.

Original commit: elastic/x-pack-elasticsearch@517ed6cde9
2017-12-29 17:05:25 -05:00
Nik Everett f7159ce56f SQL: Break long lines in parse tree walker (elastic/x-pack-elasticsearch#3451)
SQL's parse tree visitors had some lines longer than 140 characters.
This break them into multiple lines.

Original commit: elastic/x-pack-elasticsearch@58310b02f8
2017-12-29 16:52:15 -05:00
Nik Everett f5ff5a94a0 SQL: Fix long lines in function package (elastic/x-pack-elasticsearch#3452)
Adds line breaks in long lines in SQL's function package. Rewrites one
line to use `string + string` style instead of `String.format` style
because that is "more normal" in Elasticsearch.

Original commit: elastic/x-pack-elasticsearch@2f4d0358af
2017-12-29 16:52:08 -05:00
Nik Everett e45ec84a03 SQL: Fix long lines in tests (elastic/x-pack-elasticsearch#3450)
We had three tests with lines > 140 characters. This reflows those
lines.

Original commit: elastic/x-pack-elasticsearch@71b2e5fa08
2017-12-29 16:51:59 -05:00
Nik Everett 27ee786cb6 SQL: Reflow package-info.java (elastic/x-pack-elasticsearch#3448)
Reflows all the text so it wraps around 75 columns for pleasing reading.
And fixes checkstyle errors for the lines that wrap after 140!

Original commit: elastic/x-pack-elasticsearch@9630c8c32e
2017-12-29 15:26:21 -05:00
Nik Everett 45d2446ce7 SQL: Replace blanket checkstyle suppression (elastic/x-pack-elasticsearch#3449)
Replace SQL's blanket suppression of the line length check with targeted
suppressions for each currently violating file.

Original commit: elastic/x-pack-elasticsearch@f96172f4ec
2017-12-29 15:18:12 -05:00
Nik Everett b99c27ba45 SQL: Collapse FunctionRegistry class hierarchy (elastic/x-pack-elasticsearch#3443)
Collapses the interface `FunctionRegistry`, and the classes
`AbstractFunctionRegistry` and `DefaultFunctionRegistry` into a single
class, `FunctionRegistry` and adds some tests for the ctor referencing
behavior inroduced in elastic/x-pack-elasticsearch#3442.

Original commit: elastic/x-pack-elasticsearch@52a697e9b8
2017-12-29 14:59:03 -05:00
Nik Everett 5dcde97fdf SQL: Fix checkstyle in sql/rule package (elastic/x-pack-elasticsearch#3446)
* Replaces long line comment with rewritten javadoc with nice line feeds
* Adds some line breaks in a few log lines

Original commit: elastic/x-pack-elasticsearch@00dc7cc9c8
2017-12-29 14:44:21 -05:00
Nik Everett 92a55df8e6 SQL: Fix checkstyle in VerificationException (elastic/x-pack-elasticsearch#3447)
Rewrite a very long line into a few shorter lines.

Original commit: elastic/x-pack-elasticsearch@72f1f98f65
2017-12-29 14:44:09 -05:00
Nik Everett 5c7395f7fc SQL: Drop unused methods from Rows (elastic/x-pack-elasticsearch#3445)
We may as well not keep unused code around. It violated checkstyle too.

Original commit: elastic/x-pack-elasticsearch@2c77b3df76
2017-12-29 14:43:50 -05:00
Nik Everett 758d16d57f SQL: Drop equals and hashCode from FunctionDefinition (elastic/x-pack-elasticsearch#3444)
They aren't used and they don't look right.

Original commit: elastic/x-pack-elasticsearch@4d07f66f0f
2017-12-29 14:43:15 -05:00
Nik Everett dbf1fc00ce SQL: Remove reflection from constructing Functions (elastic/x-pack-elasticsearch#3442)
This replaces the marker interfaces and reflection that we once used to
construct functions with method references to constructors. It uses a
few overloaded methods to build the `FunctionDefinition`s from the
method references that adapt the various forms of `Function`
constructors that we have into
`BiFunction<UnresolvedFunction, DateTimeZone, Function>` so that the
compiler can do the complex task of picking the appropriate adapter. It
is good at that sort of thing.

Many of these overloaded functions have `@SuppressWarnings("overloads")`
because they are ambiguous if you wrote one as a lambda without type
parameters. Since we always use constructor references this isn't a
problem.

It does not remove the reflection from function naming or from function
type derivation. This is big enough and these seemed significantly less
fraught.

Original commit: elastic/x-pack-elasticsearch@528d05754b
2017-12-29 12:36:09 -05:00
Igor Motov 9f71100bac SQL: Fix CLI tests with security on Windows
We test on Windows with the terminal in unix mode, so we need to make sure we send `\n` instead of `\r\n`. In this case the extra `\n` after password was causing an extra new line in tests breaking them on Windows.

Original commit: elastic/x-pack-elasticsearch@721ba32bd6
2017-12-28 21:40:03 -05:00
Nik Everett 4df10bbd78 SQL: Drop Node superclass from Query (elastic/x-pack-elasticsearch#3414)
SQL's `Node` class is a utility for performing tree traversal and
rewrites using reflection. We're not big fans of the reflection part of
that we feel that, where possible, the tree traversal should be done
explicitly.

In this case `Query`'s tree is traversed for three things:
1. To generate the Elasticsearch `QueryBuilder`s. This uses explict tree
traversal and I left it that way.
2. To ehance sorts on nested fields with the filter in the nested field.
I added `enrichNestedSort` to `Query` so each query can implement this
on its own.
3. To add inner hits that are not explicitly mentioned in the query
already when they need to be fetched. I added `containsNestedField` and
`addNestedField` to `Query` to support this.

Note: The nested field code is somewhat dead because we don't support
nested fields at the moment but SQL once did. I've tried to keep it
mostly intact but it is difficult to know for sure if it is still
functioning the same way that it has always functioned.

Original commit: elastic/x-pack-elasticsearch@5d8a8d687a
2017-12-28 17:16:55 -05:00
Igor Motov 178d6ca6b3 SQL: Move shared REST client methods to shared-client (elastic/x-pack-elasticsearch#3428)
* SQL: Move shared REST client methods to shared-client

This commit is a preliminary step for moving JDBC to the REST client. It extracts the common REST clients from CLI and moves it to shared-client. This will allow us to move to the 5 project setup: rest-proto, shared-client, server, jdbc, cli with the following dependencies:

server <-- rest-proto
shared-client <-- rest-proto
jdbc <-- shared-client
cli <-- shared-client

Relates to elastic/x-pack-elasticsearch#3419

Original commit: elastic/x-pack-elasticsearch@2e6a134de0
2017-12-28 11:10:18 -05:00
Michael Basnight 4d392dec96 Increase gradle heap to 2048m
The BWC tests on 6.x need to test both 6.1 and 5.6, so the theory here
is that they just need more memories. This bumps it to ensure the tests
dont OOM.

This bumps it from the previous 1536m, which was already bumped from the
default of 1024m.

Original commit: elastic/x-pack-elasticsearch@cf5700ef47
2017-12-28 09:57:49 -05:00
Nik Everett c6c81c940e SQL: Switch attribute resolution to OO (elastic/x-pack-elasticsearch#3433)
Switch attribute resolution from tree matching to OO. Adds
`ProcessorDefinition#resolveAttributes` which subclasess implement to
rewrite themselves against a query. `AttributeInput`s use this to
replace themselves with `ReferenceInput`s.

Original commit: elastic/x-pack-elasticsearch@97270d2ea4
2017-12-28 08:15:25 -05:00
David Kyle 08ff3914fd [DOCS] Correct over field usage for freq rare function (elastic/x-pack-elasticsearch#3435)
Original commit: elastic/x-pack-elasticsearch@2b315610b9
2017-12-28 10:50:20 +00:00