druid/extensions-core
Gian Merlino 0f6a895372
Rework ExprMacro base classes to simplify implementations. (#15622)
* Rework ExprMacro base classes to simplify implementations.

This patch removes BaseScalarUnivariateMacroFunctionExpr, adds
BaseMacroFunctionExpr at the top of the hierarchy (a suitable base class
for ExprMacros that take either arrays or scalars), and adds an
implementation for "visit" to BaseMacroFunctionExpr.

The effect on implementations is generally cleaner code:

- Exprs no longer need to implement "visit".
- Exprs no longer need to implement "stringify", even if they don't
  use all of their args at runtime, because BaseMacroFunctionExpr has
  access to even unused args.
- Exprs that accept arrays can extend BaseMacroFunctionExpr and
  inherit a bunch of useful methods. The only one they need to
  implement themselves that scalar exprs don't is "supplyAnalyzeInputs".

* Make StringDecodeBase64UTFExpression a static class.

* Remove unused import.

* Formatting, annotation changes.
2024-02-12 15:50:45 -08:00
..
avro-extensions Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
azure-extensions Batch kill in azure (#15770) 2024-01-31 13:41:15 -05:00
datasketches Rework ExprMacro base classes to simplify implementations. (#15622) 2024-02-12 15:50:45 -08:00
druid-aws-rds-extensions Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
druid-basic-security Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
druid-bloom-filter Rework ExprMacro base classes to simplify implementations. (#15622) 2024-02-12 15:50:45 -08:00
druid-catalog Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
druid-kerberos Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
druid-pac4j pac4j: fix incompatible dependencies + authorization regression (#15753) 2024-02-01 09:35:23 -08:00
druid-ranger-security Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
ec2-extensions Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
google-extensions Add export capabilities to MSQ with SQL syntax (#15689) 2024-02-07 22:08:50 +05:30
hdfs-storage Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
histogram Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
kafka-extraction-namespace Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
kafka-indexing-service Parallelize storage of incremental segments (#13982) 2024-02-07 10:43:05 +05:30
kinesis-indexing-service Parallelize storage of incremental segments (#13982) 2024-02-07 10:43:05 +05:30
kubernetes-extensions fix: handle BOOKMARK events in kubernetes pod discovery (#15819) 2024-02-09 18:50:04 +05:30
lookups-cached-global Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
lookups-cached-single Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
multi-stage-query Add export capabilities to MSQ with SQL syntax (#15689) 2024-02-07 22:08:50 +05:30
mysql-metadata-storage Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
orc-extensions Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
parquet-extensions Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
postgresql-metadata-storage Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
protobuf-extensions Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
s3-extensions Add export capabilities to MSQ with SQL syntax (#15689) 2024-02-07 22:08:50 +05:30
simple-client-sslcontext Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
stats Prepare main branch for next 30.0.0 release. (#15707) 2024-01-23 15:55:54 +05:30
testing-tools Rework ExprMacro base classes to simplify implementations. (#15622) 2024-02-12 15:50:45 -08:00