Skip to content

[JAVA][CI] Adds a recipe for Flight SQL#391

Closed
jorisgillis wants to merge 3 commits intoapache:mainfrom
jorisgillis:java-flight-sql
Closed

[JAVA][CI] Adds a recipe for Flight SQL#391
jorisgillis wants to merge 3 commits intoapache:mainfrom
jorisgillis:java-flight-sql

Conversation

@jorisgillis
Copy link

A very basic database server is implemented that uses the DataFusion query engine for answering SQL queries on single-file, write-once tables stored in the Arrow IPC format.

Although this does not implement all the features and possibilities of FlightSqlProducer, it show cases the two main categories of concepts through the inclusion of tables (like catalog, database schema, sqlinfo, etc) and statement (like prepared statement and substrait statement).

Some updates to the building of the Java Cookbook: Using the release property instead of the compiler source and target values which is deprecated.

Joris Gillis added 2 commits November 16, 2025 11:48
A very basic database server is implemented that uses the DataFusion
query engine for answering SQL queries on single-file, write-once tables
stored in the Arrow IPC format.

Although this does not implement all the features and possibilities of
FlightSqlProducer, it show cases the two main categories of concepts
through the inclusion of tables (like catalog, database schema, sqlinfo,
etc) and statement (like prepared statement and substrait statement).

Some updates to the building of the Java Cookbook:
Using the release property instead of the compiler source and target
values which is deprecated.
@jorisgillis
Copy link
Author

Apparently I did not compile with full Java 11 support (or limitations in this context). I believe the compilation issue is fixed for Java 11.

@jorisgillis
Copy link
Author

If someone could give me an approval for running, that would be awesome.

Removed DataFusion because it requires other components to run. Now the
example is purely Arrow based.
Copy link
Member

@raulcd raulcd left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This looks reasonable to me but I am neither an Arrow Java nor a Flight SQL expert.
@lidavidm @amoeba do you have some time to take a look at this cookbook recipe?

@jorisgillis
Copy link
Author

Anything I can do to help move this forward?

Copy link
Member

@lidavidm lidavidm left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I appreciate the contribution, but I'm wondering if this is really a "recipe" in the first place. In my mind, a recipe is meant to be a short code snippet accomplishing a narrow task, while this is more of a general example project implementing a full-blown database server.

@raulcd do we have a better place for this kind of example code?

@lidavidm
Copy link
Member

(I'm also going to hammer on #351 again; having a ton of code embedded into reST makes it hard to author and to review)

@jorisgillis
Copy link
Author

I appreciate the contribution, but I'm wondering if this is really a "recipe" in the first place. In my mind, a recipe is meant to be a short code snippet accomplishing a narrow task, while this is more of a general example project implementing a full-blown database server.

@raulcd do we have a better place for this kind of example code?

I get your point. It is not like reading a CSV where you only have to change the filename. However, I do think it is a recipe, but one with more parameters.

Nevertheless, I propose to move it to the documentation. I can add more explanation about Flight SQL, build up the example/recipe a bit more in parts.
What do you think?

@jorisgillis
Copy link
Author

Closing in favor of GH-979

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants