This is really helpful. The JavaCodeSplitter looks fairly easy to use.
Thanks Jark!

Right now I’m trying to work out the best way to integrate this module from an 
architecture perspective. It looks like there aren’t very many Flink 
dependencies within the module.

We really want to avoid having circular dependencies between Flink and Calcite. 
As you mentioned before, code-splitting is a common need and shows up in 
projects with code generation. How would you feel about further de-coupling the 
code from Flink? There are a few minor dependencies on Flink annotations and 
shaded Preconditions.

From: Jark Wu <imj...@gmail.com>
Date: Wednesday, July 17, 2024 at 7:08 PM
To: dev@flink.apache.org <dev@flink.apache.org>
Subject: Re: [DISCUSS]: Flink code generation porting to Calcite
Hi James,

After reading the comments in CALCITE-3094, I think what you are looking
for is the Flink code-splitting tools.
Code splitting is a common need for Java code generation and Flink has
extracted the code splitting into a
separate module "flink-table-code-splitter"[1] with little dependencies.
And this is how Flink SQL use it [2].

Best,
Jark

[1]:
https://github.com/apache/flink/blob/master/flink-table/flink-table-code-splitter/pom.xml
[2]:
https://github.com/apache/flink/blob/master/flink-table/flink-table-runtime/src/main/java/org/apache/flink/table/runtime/generated/GeneratedClass.java#L58

On Thu, 18 Jul 2024 at 07:12, James Duong <james.du...@improving.com.invalid>
wrote:

> Hi Flink developer community,
>
> I’m contributing to the Apache Calcite project and there’s interest in
> making use of Flink’s code generation. See the comments on
> https://issues.apache.org/jira/browse/CALCITE-3094
>
> Would someone be able to point me to where Flink integrates Janino? I
> originally thought it would be related to this class:
> https://nightlies.apache.org/flink/flink-docs-release-1.3/api/java/org/apache/flink/table/codegen/CodeGenerator.html
>
> But I haven’t been able to find this on main.
>
> Thanks!
>
Warning: The sender of this message could not be validated and may not be the 
actual sender.

Reply via email to