[
https://issues.apache.org/jira/browse/CALCITE-4952?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17462274#comment-17462274
]
Jacques Nadeau edited comment on CALCITE-4952 at 12/19/21, 7:11 PM:
--------------------------------------------------------------------
Thanks [~zabetak]. I have used that before. I probably understated the goals
here. Some additional goals to this ticket:
- Ensure that the metadata apis can work with multiple implementations, not
just janino. We have some issues in this code where a bunch of things became
highly coupled to Janino. This makes building alternatives against standard
apis like RelMetadataProvider very difficult (definitely worse before
CALCITE-4928 was merged). By having a second reflection/proxy simplistic
implementation, we validate that the apis are healthy/reasonable extension
points.
- I continue to target GraalVM native where you can't use Janino at all. Having
even a basic, poorly-performing alternative is better than nothing. I
ultimately plan to get CALCITE-4882 merged to provide a high performance Janino
alternative but that is a much bigger patch. Just having \*any\* solution would
be a big improvement right now.
was (Author: jnadeau):
Thanks [~zabetak]. I have used that before. I probably understated the goals
here. Some additional goals to this ticket:
- Ensure that the metadata apis can work with multiple implementations, not
just janino. We have some issues in this code where a bunch of things became
highly coupled to Janino. This makes building alternatives against standard
apis like RelMetadataProvider be very difficult to actually use (was the case
until CALCITE-4928 was merged). By having a second reflection/proxy simplistic
implementation, we validate that the apis are healthy/reasonable extension
points.
- I continue to target GraalVM native where you can't use Janino at all. Having
even a basic, poorly-performing alternative is better than nothing. I
ultimately plan to get CALCITE-4882 merged to provide a high performance Janino
alternative but that is a much bigger patch. Just having \*any\* solution would
be a big improvement right now.
> Enable use of RelMetadataQuery using a simplistic & slow proxy path
> -------------------------------------------------------------------
>
> Key: CALCITE-4952
> URL: https://issues.apache.org/jira/browse/CALCITE-4952
> Project: Calcite
> Issue Type: Improvement
> Components: core
> Reporter: Jacques Nadeau
> Assignee: Jacques Nadeau
> Priority: Major
> Labels: pull-request-available
> Time Spent: 10m
> Remaining Estimate: 0h
>
> As part of working on CALCITE-4882 and CALCITE-4928, it became clear that
> there should be a simple, non-janino implementation of RelMetadataQuery
> internals to help with debugging. I'm not sure when/how but as of right now
> the Reflective handlers can't be used with RelMetadataQuery without also
> using Janino.
--
This message was sent by Atlassian Jira
(v8.20.1#820001)