Commit 67a97ad
committed
[Analytics Backend / DataFusion] Bind PPL concat() to substrait
PPL's `concat(a, b, …)` registers in `PPLFuncImpTable` as
`SqlLibraryOperators.CONCAT_FUNCTION` (operator name `"CONCAT"`), distinct
from the `||` binary string-concat operator
(`SqlStdOperatorTable.CONCAT`) that isthmus' default Calcite→Substrait Sig
table already binds to substrait `concat`. Without an entry for the
function form, isthmus' `RexExpressionConverter.visitCall` runs through
its `callConverters` list, finds no match, and throws
`Unable to convert call CONCAT(string, string)`.
Concretely this surfaced on `testMvfindWithDynamicRegex`, which builds
its regex via `concat('ban', '.*')` and feeds it to `mvfind`. Substrait's
default `functions_string.yaml` already declares `concat` so no YAML
change is needed — only the Sig bridge.
# Pass-rate (CalciteArrayFunctionIT, force-routed)
* Before: 42/60.
* After: 43/60.
Newly passing: testMvfindWithDynamicRegex.
Signed-off-by: Kai Huang <ahkcs@amazon.com>concat
1 parent fa534e7 commit 67a97ad
1 file changed
Lines changed: 7 additions & 0 deletions
File tree
- sandbox/plugins/analytics-backend-datafusion/src/main/java/org/opensearch/be/datafusion
Lines changed: 7 additions & 0 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
113 | 113 | | |
114 | 114 | | |
115 | 115 | | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
116 | 123 | | |
117 | 124 | | |
118 | 125 | | |
| |||
0 commit comments