This is an automated email from the ASF dual-hosted git repository.
victoria pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/druid.git
The following commit(s) were added to refs/heads/master by this push:
new 71826994018 Docs: Add SQL query example (#17593)
71826994018 is described below
commit 71826994018a5ae3b32a723da232b0b4267bfaf8
Author: Katya Macedo <[email protected]>
AuthorDate: Mon Mar 10 19:22:39 2025 -0500
Docs: Add SQL query example (#17593)
* Docs: Add query example
* Update after review
* Update query
* Update docs/api-reference/sql-api.md
---------
Co-authored-by: Victoria Lim <[email protected]>
---
docs/api-reference/sql-api.md | 21 +++++++++------------
docs/querying/sql.md | 9 ++++-----
2 files changed, 13 insertions(+), 17 deletions(-)
diff --git a/docs/api-reference/sql-api.md b/docs/api-reference/sql-api.md
index f6a624c8ce2..2b25bdd02f0 100644
--- a/docs/api-reference/sql-api.md
+++ b/docs/api-reference/sql-api.md
@@ -85,20 +85,18 @@ The request body takes the following properties:
* `context`: JSON object containing optional [SQL query context
parameters](../querying/sql-query-context.md), such as to set the query ID,
time zone, and whether to use an approximation algorithm for distinct count.
-* `parameters`: List of query parameters for parameterized queries. Each
parameter in the array should be a JSON object containing the parameter's SQL
data type and parameter value. For a list of supported SQL types, see [Data
types](../querying/sql-data-types.md).
+* `parameters`: List of query parameters for parameterized queries. Each
parameter in the array should be a JSON object containing the parameter's SQL
data type and parameter value. For more information on using dynamic
parameters, see [Dynamic parameters](../querying/sql.md#dynamic-parameters).
For a list of supported SQL types, see [Data
types](../querying/sql-data-types.md).
For example:
+
```json
- "parameters": [
- {
- "type": "VARCHAR",
- "value": "bar"
- },
- {
- "type": "ARRAY",
- "value": [-25.7, null, 36.85]
- }
- ]
+ {
+ "query": "SELECT \"arrayDouble\", \"stringColumn\" FROM
\"array_example\" WHERE ARRAY_CONTAINS(\"arrayDouble\", ?) AND \"stringColumn\"
= ?",
+ "parameters": [
+ {"type": "ARRAY", "value": [999.0, null, 5.5]},
+ {"type": "VARCHAR", "value": "bar"}
+ ]
+ }
```
#### Responses
@@ -155,7 +153,6 @@ If you detect a truncated response, treat it as an error.
---
-
#### Sample request
The following example retrieves all rows in the `wikipedia` datasource where
the `user` is `BlueMoon2662`. The query is assigned the ID `request01` using
the `sqlQueryId` context parameter. The optional properties `header`,
`typesHeader`, and `sqlTypesHeader` are set to `true` to include type
information to the response.
diff --git a/docs/querying/sql.md b/docs/querying/sql.md
index 6a47ac3a4c0..881711f0577 100644
--- a/docs/querying/sql.md
+++ b/docs/querying/sql.md
@@ -403,7 +403,7 @@ The following example query uses the
[ARRAY_CONTAINS](./sql-functions.md#array_c
```sql
{
- "query": "SELECT doubleArrayColumn from druid.table where ARRAY_CONTAINS(?,
doubleArrayColumn)",
+ "query": "SELECT doubleArrayColumn from druid.table where
ARRAY_CONTAINS(doubleArrayColumn, ?)",
"parameters": [
{
"type": "ARRAY",
@@ -428,17 +428,16 @@ SELECT * FROM druid.foo WHERE dim1 like CONCAT('%', CAST
(? AS VARCHAR), '%')
Dynamic parameters can even replace arrays, reducing the parsing time. Refer
to the parameters in the [API request
body](../api-reference/sql-api.md#request-body) for usage.
```sql
-SELECT arrayColumn from druid.table where ARRAY_CONTAINS(?, arrayColumn)
+SELECT arrayColumn from druid.table where ARRAY_CONTAINS(arrayColumn, ?)
```
-With this, an IN filter being supplied with a lot of values, can be replaced
by a dynamic parameter passed inside
[SCALAR_IN_ARRAY](sql-functions.md#scalar_in_array)
+You can replace an IN filter with many values by dynamically passing a
parameter into [SCALAR_IN_ARRAY](sql-functions.md#scalar_in_array).
+For example Java queries, see [Dynamic
parameters](../api-reference/sql-jdbc.md#dynamic-parameters).
```sql
SELECT count(city) from druid.table where SCALAR_IN_ARRAY(city, ?)
```
-sample java code using dynamic parameters is provided
[here](../api-reference/sql-jdbc.md#dynamic-parameters).
-
## Reserved keywords
Druid SQL reserves certain keywords which are used in its query language.
Apache Druid inherits all of the reserved keywords from [Apache
Calcite](https://calcite.apache.org/docs/reference.html#keywords). In addition
to these, the following reserved keywords are unique to Apache Druid:
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]