apurtell opened a new pull request, #2522:
URL: https://github.com/apache/phoenix/pull/2522
Replace the two opaque per-scan markers `SERVER ARRAY ELEMENT PROJECTION`
and `SERVER JSON FUNCTION PROJECTION` with per-type clauses `SERVER ARRAY
PROJECTION <count>`, `SERVER JSON PROJECTION <count>`, and `SERVER BSON
PROJECTION <count>`, emitted only when at least one path expression of the
corresponding type is pushed server-side, and each followed by one indented
detail line per expression in the function-call form (`Expression.toString()`
indented to the next level).
`ProjectionCompiler.compileSelectClause` stashes the per-attribute
expression buckets (the `serverAttributeToFuncExpressionMap` it already builds
before scan serialization) on `StatementContext` as `serverParsedProjections :
Map<String, List<Expression>>` keyed by scan attribute name.
`ExplainTable.explain(...)` replaces the existing code with new code that
processes "ARRAY", "JSON", and "BSON" buckets, emits the counted header, and
the additional indented detail lines.
`ExplainPlanAttributes` retires the `serverArrayElementProjection` boolean
and adds a `serverParsedProjections: Map<String,List<String>>` map, with up to
three buckets ("ARRAY", "JSON", and "BSON" ) each holding a `List<String>`,
with matching `ExplainPlanTestUtil` fluent assertion getters, setters, and
testers.
Co-authored-by: Claude Opus 4.8[1m] <[email protected]>
--
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]