OpenSearch/x-pack/plugin/sql
Marios Trivyzas 575cafb8da
SQL: Fix serialization of JDBC prep statement date/time params (#56492) (#56579)
The Date/Time related query params of a JDBC prepared statement
serialized using java.util.Date. The rules for serializing
`java.util.Date` objects though reside in
`XContentElasticsearchExtension` which is not available in the
jdbc jar as this class is in `server` module. Therefore, a
custom extension of the `XContentBuilderExtension` iface has been
added to the jdbc module/jar.

Moreover the sql's `qa` project had as dependency the `sql-action`
module which depends on `server` so the `XContentBuilderExtension`
was available for the integ tests hiding the real problem.

Previously, when a user was setting a `java.sql.Time` to the prepStmt,
the DataType used was `DATETIME` instead of `TIME` and therefore
prevented from filtering with a `TIME` casted field:
```
SELECT * FROM test WHERE date::TIME = ?
```

Fixes: #56084
(cherry picked from commit f8d8e971bd2c85fa4aea44b5b3ba0cdcc950a4ed)
2020-05-12 13:25:02 +02:00
..
jdbc SQL: Fix serialization of JDBC prep statement date/time params (#56492) (#56579) 2020-05-12 13:25:02 +02:00
qa SQL: Fix serialization of JDBC prep statement date/time params (#56492) (#56579) 2020-05-12 13:25:02 +02:00
sql-action Upgrade to Jackson 2.10.4 (#56188) 2020-05-06 17:20:23 -04:00
sql-cli SQL: relax version lock between server and clients (#56148) (#56223) 2020-05-05 18:27:06 +02:00
sql-client Upgrade to Jackson 2.10.4 (#56188) 2020-05-06 17:20:23 -04:00
sql-proto Upgrade to Jackson 2.10.4 (#56188) 2020-05-06 17:20:23 -04:00
src SQL: Fix serialization of JDBC prep statement date/time params (#56492) (#56579) 2020-05-12 13:25:02 +02:00
build.gradle Migrate remaining ESIntegTestCases to internalClusterTest (#56479) (#56563) 2020-05-11 21:06:04 -07:00