This is an automated email from the ASF dual-hosted git repository.
karan pushed a commit to branch 29.0.0
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/29.0.0 by this push:
new 86ee778a20a Update docs to document breaking change in explain
attributes (#16031)
86ee778a20a is described below
commit 86ee778a20ac9569951e584b058820d5fa1ae639
Author: Adarsh Sanjeev <[email protected]>
AuthorDate: Wed Mar 6 11:42:16 2024 +0530
Update docs to document breaking change in explain attributes (#16031)
Updates the docs to include a breaking change made regarding the attributes
returned by an explain query. The return type of the field targetDataSource was
changed to an object instead of a string containing the data source name.
This change is only present in Druid 29, and not in future versions, so it
has been documented here. The change has been reverted in future versions here:
#16004
---
docs/querying/sql-translation.md | 12 +++++++++---
docs/release-info/release-notes.md | 29 +++++++++++++++++++++++++++++
docs/release-info/upgrade-notes.md | 4 ++++
3 files changed, 42 insertions(+), 3 deletions(-)
diff --git a/docs/querying/sql-translation.md b/docs/querying/sql-translation.md
index 29edc932531..d4c100daff0 100644
--- a/docs/querying/sql-translation.md
+++ b/docs/querying/sql-translation.md
@@ -71,7 +71,7 @@ EXPLAIN PLAN statements return:
- a `RESOURCES` column that describes the resources used in the query
- an `ATTRIBUTES` column that describes the attributes of the query, including:
- `statementType`: the SQL statement type
- - `targetDataSource`: the target datasource in an INSERT or REPLACE statement
+ - `targetDataSource`: a JSON object representing the target datasource in an
INSERT or REPLACE statement
- `partitionedBy`: the time-based partitioning granularity in an INSERT or
REPLACE statement
- `clusteredBy`: the clustering columns in an INSERT or REPLACE statement
- `replaceTimeChunks`: the time chunks in a REPLACE statement
@@ -444,7 +444,10 @@ The above EXPLAIN PLAN returns the following result:
],
{
"statementType": "INSERT",
- "targetDataSource": "wikipedia",
+ "targetDataSource": {
+ "type":"table",
+ "tableName":"wikipedia"
+ },
"partitionedBy": {
"type": "all"
}
@@ -665,7 +668,10 @@ The above EXPLAIN PLAN query returns the following result:
],
{
"statementType": "REPLACE",
- "targetDataSource": "wikipedia",
+ "targetDataSource": {
+ "type":"table",
+ "tableName":"wikipedia"
+ },
"partitionedBy": "DAY",
"clusteredBy": ["cityName","countryName"],
"replaceTimeChunks": "all"
diff --git a/docs/release-info/release-notes.md
b/docs/release-info/release-notes.md
index 778d878b737..73319fb7dbb 100644
--- a/docs/release-info/release-notes.md
+++ b/docs/release-info/release-notes.md
@@ -555,6 +555,35 @@ Improved the Iceberg extension as follows:
### Upgrade notes
+#### Changes in `targetDataSource` payload present in the explain plan for MSQ
queries
+
+Druid 29 has a breaking change for EXPLAIN for INSERT/REPLACE MSQ queries.
+In the attribute field returned as part of the result for an explain query,
the value of the key `targetDataSource` from a string to a JSON object.
+This change is only present in Druid 29 and is not present in earlier or later
versions.
+
+The JSON object returned plan will have the structure if the target is a
datasource:
+```json
+{
+ "targetDataSource": {
+ "type": "table",
+ "tableName": "wikipedia"
+ }
+}
+```
+
+The JSON object returned plan will have the structure if the target is an
external export location using :
+```json
+{
+ "targetDataSource": {
+ "type": "external",
+ "storageConnectorProvider": {
+ "type": "<export-type>",
+ "exportPath": "<export-path>"
+ }
+ }
+}
+```
+
#### Changed `equals` filter for native queries
The [equality
filter](https://druid.apache.org/docs/latest/querying/filters#equality-filter)
on mixed type `auto` columns that contain arrays must now be filtered as their
presenting type. This means that if any rows are arrays (for example, the
segment metadata and `information_schema` reports the type as some array type),
then the native queries must also filter as if they are some array type.
diff --git a/docs/release-info/upgrade-notes.md
b/docs/release-info/upgrade-notes.md
index d564224ee01..e995e2e9b14 100644
--- a/docs/release-info/upgrade-notes.md
+++ b/docs/release-info/upgrade-notes.md
@@ -30,6 +30,10 @@ For the full release notes for a specific version, see the
[releases page](https
### Upgrade notes
+#### Changes in `targetDataSource` payload present in the explain plan for MSQ
queries
+
+In the attribute field returned as part of the result for an EXPLAIN MSQ
query, the value of the key `targetDataSource` from a string to a JSON object.
This change is only present in Druid 29 and is not present in earlier or later
versions.
+
#### Changed `equals` filter for native queries
The [equality
filter](https://druid.apache.org/docs/latest/querying/filters#equality-filter)
on mixed type `auto` columns that contain arrays must now be filtered as their
presenting type. This means that if any rows are arrays (for example, the
segment metadata and `information_schema` reports the type as some array type),
then the native queries must also filter as if they are some array type.
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]