vtlim commented on code in PR #15444: URL: https://github.com/apache/druid/pull/15444#discussion_r1409973363
########## docs/querying/sql-functions.md: ########## @@ -504,6 +504,22 @@ Returns the current timestamp in the connection's time zone. Rounds down a timestamp by a given time unit. +## DECODE_BASE64_COMPLEX + +`DECODE_BASE64_COMPLEX(expr1, expr2)` + +**Function type:** [Scalar, other](sql-scalar.md#other-scalar-functions) + +Decodes complex expressions represented as literals, where `expr1` is a string literal with a valid [complex type name](sql-scalar.md#complex-type-expressions) and `expr2` is a base64-encoded string that contains a serialized value of the type defined in `expr1`. Review Comment: Capitalize [Base64](https://en.wikipedia.org/wiki/Base64) ########## docs/querying/sql-scalar.md: ########## @@ -268,11 +269,46 @@ The [DataSketches extension](../development/extensions-core/datasketches-extensi |Function|Notes| |--------|-----| -|`CAST(value AS TYPE)`|Cast value to another type. See [Data types](sql-data-types.md) for details about how Druid SQL handles CAST.| +|`BLOOM_FILTER_TEST(expr, serialized-filter)`|Returns true if the value of `expr` is contained in the base64-serialized Bloom filter. See the [Bloom filter extension](../development/extensions-core/bloom-filter.md) documentation for additional details. See the [`BLOOM_FILTER` function](sql-aggregations.md) for computing Bloom filters.| |`CASE expr WHEN value1 THEN result1 \[ WHEN value2 THEN result2 ... \] \[ ELSE resultN \] END`|Simple CASE.| |`CASE WHEN boolean_expr1 THEN result1 \[ WHEN boolean_expr2 THEN result2 ... \] \[ ELSE resultN \] END`|Searched CASE.| -|`NULLIF(value1, value2)`|Returns NULL if value1 and value2 match, else returns value1.| +|`CAST(value AS TYPE)`|Cast value to another type. See [Data types](sql-data-types.md) for details about how Druid SQL handles CAST.| |`COALESCE(value1, value2, ...)`|Returns the first value that is neither NULL nor empty string.| +|`DECODE_BASE64_COMPLEX(expr1, expr2)`| Decodes complex expressions represented as literals, where `expr1` is a string literal with a valid [complex type name](#complex-type-expressions) and `expr2` is a base64-encoded string that contains a serialized value of the type defined in `expr1`.| +|`NULLIF(value1, value2)`|Returns NULL if `value1` and `value2` match, else returns `value1`.| |`NVL(value1, value2)`|Returns `value1` if `value1` is not null, otherwise `value2`.| -|`BLOOM_FILTER_TEST(expr, serialized-filter)`|Returns true if the value of `expr` is contained in the Base64-serialized Bloom filter. See the [Bloom filter extension](../development/extensions-core/bloom-filter.md) documentation for additional details. See the [`BLOOM_FILTER` function](sql-aggregations.md) for computing Bloom filters.| +### Complex type expressions Review Comment: This information might be better placed in https://druid.apache.org/docs/latest/querying/sql-data-types/ as a new section for complex types -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected] --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
