druid/docs/querying
Gian Merlino dbed1b0f50
Defer more expressions in vectorized groupBy. (#16338)
* Defer more expressions in vectorized groupBy.

This patch adds a way for columns to provide GroupByVectorColumnSelectors,
which controls how the groupBy engine operates on them. This mechanism is used
by ExpressionVirtualColumn to provide an ExpressionDeferredGroupByVectorColumnSelector
that uses the inputs of an expression as the grouping key. The actual expression
evaluation is deferred until the grouped ResultRow is created.

A new context parameter "deferExpressionDimensions" allows users to control when
this deferred selector is used. The default is "fixedWidthNonNumeric", which is a
behavioral change from the prior behavior. Users can get the prior behavior by setting
this to "singleString".

* Fix style.

* Add deferExpressionDimensions to SqlExpressionBenchmark.

* Fix style.

* Fix inspections.

* Add more testing.

* Use valueOrDefault.

* Compute exprKeyBytes a bit lighter-weight.
2024-06-26 17:28:36 -07:00
..
aggregations.md Update the docs for EARLIEST_BY/LATEST_BY aggregators with the newly added numeric capabilities (#15670) 2024-02-01 10:24:43 +05:30
arrays.md MSQ: Validate that strings and string arrays are not mixed. (#15920) 2024-03-13 15:37:27 -07:00
caching.md remove group-by v1 (#14866) 2023-08-23 12:44:06 -07:00
datasource.md docs: remove outdated druidversion var from a page (#16570) 2024-06-10 15:30:36 +08:00
datasourcemetadataquery.md Docusaurus2 upgrade for master (#14411) 2023-08-16 19:01:21 -07:00
dimensionspecs.md Reverse, pull up lookups in the SQL planner. (#15626) 2024-01-12 00:06:31 -08:00
filters.md document arrayContainsElement filter (#15455) 2023-12-07 00:14:00 -08:00
geo.md Geo spatial interfaces (#16029) 2024-04-01 14:58:03 +05:30
granularities.md Docusaurus2 upgrade for master (#14411) 2023-08-16 19:01:21 -07:00
groupbyquery.md Defer more expressions in vectorized groupBy. (#16338) 2024-06-26 17:28:36 -07:00
having.md Docusaurus2 upgrade for master (#14411) 2023-08-16 19:01:21 -07:00
hll-old.md De-incubation cleanup in code, docs, packaging (#9108) 2020-01-03 12:33:19 -05:00
joins.md Sort-merge join and hash shuffles for MSQ. (#13506) 2023-03-08 14:19:39 -08:00
kafka-extraction-namespace.md docs: add lookups to the sidebar (#16530) 2024-06-03 16:04:15 -07:00
limitspec.md Docusaurus2 upgrade for master (#14411) 2023-08-16 19:01:21 -07:00
lookups-cached-global.md docs: add lookups to the sidebar (#16530) 2024-06-03 16:04:15 -07:00
lookups.md docs: add lookups to the sidebar (#16530) 2024-06-03 16:04:15 -07:00
math-expr.md SCALAR_IN_ARRAY: Optimization and behavioral follow-ups. (#16311) 2024-04-26 16:01:17 -07:00
multi-value-dimensions.md MSQ: Validate that strings and string arrays are not mixed. (#15920) 2024-03-13 15:37:27 -07:00
multitenancy.md Docs: Fix some typos. (#14663) 2023-07-26 21:24:18 +05:30
nested-columns.md [Docs] Refactor streaming ingestion section (#15591) 2024-02-12 13:52:42 -08:00
post-aggregations.md explicit outputType for ExpressionPostAggregator, better documentation for the differences between arrays and mvds (#15245) 2023-11-02 00:31:37 -07:00
query-context.md Feature configurable calcite bloat (#16248) 2024-05-06 20:43:39 +05:30
query-execution.md Update documentation for exceptions to subquery limit. (#16295) 2024-04-17 21:04:43 -07:00
query-from-deep-storage.md Query from deep storage doc fixes. (#15382) 2023-11-16 14:05:20 +05:30
query-processing.md Revamp design page (#15486) 2023-12-08 11:40:24 -08:00
querying.md Docusaurus2 upgrade for master (#14411) 2023-08-16 19:01:21 -07:00
scan-query.md Docusaurus2 upgrade for master (#14411) 2023-08-16 19:01:21 -07:00
searchquery.md remove search auto strategy, estimateSelectivity of BitmapColumnIndex (#15550) 2023-12-13 16:30:01 -08:00
segmentmetadataquery.md Docusaurus2 upgrade for master (#14411) 2023-08-16 19:01:21 -07:00
select-query.md Add "offset" parameter to the Scan query. (#10233) 2020-08-13 14:56:24 -07:00
sorting-orders.md Docusaurus2 upgrade for master (#14411) 2023-08-16 19:01:21 -07:00
sql-aggregations.md start process of deprecating non-sql compatible legacy configurations (#15713) 2024-02-13 15:31:45 +05:30
sql-array-functions.md SCALAR_IN_ARRAY: Optimization and behavioral follow-ups. (#16311) 2024-04-26 16:01:17 -07:00
sql-data-types.md docs: add tutorial with examples of sql null handling (#16185) 2024-04-01 11:03:42 -07:00
sql-functions.md docs: Migration guide for MVDs to arrays (#16516) 2024-06-13 13:05:58 -07:00
sql-json-functions.md minor doc adjustments (#15531) 2023-12-11 18:22:44 -08:00
sql-metadata-tables.md [Docs] Refactor streaming ingestion section (#15591) 2024-02-12 13:52:42 -08:00
sql-multivalue-string-functions.md start process of deprecating non-sql compatible legacy configurations (#15713) 2024-02-13 15:31:45 +05:30
sql-operators.md Document pivot and unpivot operators (#15669) 2024-01-25 09:53:39 -08:00
sql-query-context.md Speed up SQL IN using SCALAR_IN_ARRAY. (#16388) 2024-05-14 08:09:27 -07:00
sql-scalar.md fix typo in extension name (#16466) 2024-05-20 09:47:22 +08:00
sql-translation.md Simplify serialized form of JsonInputFormat. (#15691) 2024-06-05 20:01:14 -07:00
sql-window-functions.md update window functions doc (#15902) 2024-03-07 15:16:52 -08:00
sql.md docs: Migration guide for MVDs to arrays (#16516) 2024-06-13 13:05:58 -07:00
timeboundaryquery.md Docusaurus2 upgrade for master (#14411) 2023-08-16 19:01:21 -07:00
timeseriesquery.md update timeseries to reflect NULL filling (#15512) 2023-12-07 14:41:27 -08:00
tips-good-queries.md remove references to Jupyter notebooks within the Druid repo (#15143) 2023-11-01 13:17:06 -07:00
topnmetricspec.md Docusaurus2 upgrade for master (#14411) 2023-08-16 19:01:21 -07:00
topnquery.md Docusaurus2 upgrade for master (#14411) 2023-08-16 19:01:21 -07:00
troubleshooting.md remove group-by v1 (#14866) 2023-08-23 12:44:06 -07:00
using-caching.md Update Ingestion section (#14023) 2023-05-19 09:42:27 -07:00
virtual-columns.md Docusaurus2 upgrade for master (#14411) 2023-08-16 19:01:21 -07:00