imply-cheddar commented on a change in pull request #12145:
URL: https://github.com/apache/druid/pull/12145#discussion_r782659713
##########
File path: docs/querying/sql.md
##########
@@ -365,13 +365,13 @@ In the aggregation functions supported by Druid, only
`COUNT`, `ARRAY_AGG`, and
|`STDDEV_SAMP(expr)`|Computes standard deviation sample of `expr`. See [stats
extension](../development/extensions-core/stats.md) documentation for
additional details.|`null` if `druid.generic.useDefaultValueForNull=false`,
otherwise `0`|
|`STDDEV(expr)`|Computes standard deviation sample of `expr`. See [stats
extension](../development/extensions-core/stats.md) documentation for
additional details.|`null` if `druid.generic.useDefaultValueForNull=false`,
otherwise `0`|
|`EARLIEST(expr)`|Returns the earliest value of `expr`, which must be numeric.
If `expr` comes from a relation with a timestamp column (like a Druid
datasource) then "earliest" is the value first encountered with the minimum
overall timestamp of all values being aggregated. If `expr` does not come from
a relation with a timestamp, then it is simply the first value
encountered.|`null` if `druid.generic.useDefaultValueForNull=false`, otherwise
`0`|
-|`EARLIEST(expr, timeColumn)`|Returns the earliest value of `expr`, which must
be numeric. Earliest value is defined as the value first encountered with the
minimum overall value of time column of all values being aggregated.|`null` if
`druid.generic.useDefaultValueForNull=false`, otherwise `0`|
|`EARLIEST(expr, maxBytesPerString)`|Like `EARLIEST(expr)`, but for strings.
The `maxBytesPerString` parameter determines how much aggregation space to
allocate per string. Strings longer than this limit will be truncated. This
parameter should be set as low as possible, since high values will lead to
wasted memory.|`null` if `druid.generic.useDefaultValueForNull=false`,
otherwise `''`|
-|`EARLIEST(expr, maxBytesPerString, timeColumn)`|Like `EARLIEST(expr,
timeColumn)`, but for strings. The `maxBytesPerString` parameter determines how
much aggregation space to allocate per string. Strings longer than this limit
will be truncated. This parameter should be set as low as possible, since high
values will lead to wasted memory.|`null` if
`druid.generic.useDefaultValueForNull=false`, otherwise `''`|
+|`EARLIEST_BY(expr, timeColumn)`|Returns the earliest value of `expr`, which
must be numeric. Earliest value is defined as the value first encountered with
the minimum overall value of time column of all values being aggregated.|`null`
if `druid.generic.useDefaultValueForNull=false`, otherwise `0`|
+|`EARLIEST_BY(expr, maxBytesPerString, timeColumn)`|Like `EARLIEST_BY(expr,
timeColumn)`, but for strings. The `maxBytesPerString` parameter determines how
much aggregation space to allocate per string. Strings longer than this limit
will be truncated. This parameter should be set as low as possible, since high
values will lead to wasted memory.|`null` if
`druid.generic.useDefaultValueForNull=false`, otherwise `''`|
Review comment:
With `EARLIEST_BY` I'd suggest we swap the location of `timeColumn` and
`maxBytesPerString`. Given that `timeColumn` is non-optional on the `_BY`
items, we want the optional parameter to be at the end of the signature.
--
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]