GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — [feat] Support for JSON_TABLE by ANeumann82 · Pull Request #2328 · JSQLParser/JSqlParser

Conversation

@ANeumann82

@ANeumann82 ANeumann82 commented Oct 15, 2025

Copy link
Copy Markdown
Contributor

No description provided.

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
ANeumann82 added 2 commits October 13, 2025 18:40
@ANeumann82
[feat] Initial support for JSON_TABLE
0b85753
@ANeumann82
[feat] Additional support for JSON_TABLE
8773eea
manticore-projects
manticore-projects requested changes Oct 16, 2025
View reviewed changes

@manticore-projects manticore-projects left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Great work and I do appreciate your effort and dedication. Thank you much!
A few small concerns though, nothing severe just the normal German nit-picking.

Kudos and cheers!

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/main/java/net/sf/jsqlparser/util/validation/validator/ExpressionValidator.java Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/main/java/net/sf/jsqlparser/util/deparser/SelectDeParser.java Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/main/java/net/sf/jsqlparser/util/deparser/ExpressionDeParser.java Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/main/java/net/sf/jsqlparser/statement/select/FromItemVisitorAdapter.java Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/main/java/net/sf/jsqlparser/statement/from/JsonTable.java Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/main/java/net/sf/jsqlparser/expression/json/JsonReturnType.java Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/main/java/net/sf/jsqlparser/expression/JsonQueryWrapperType.java Resolved

Uh oh!

There was an error while loading. Please reload this page.

Comment thread src/main/java/net/sf/jsqlparser/expression/ExpressionVisitorAdapter.java Resolved

Uh oh!

There was an error while loading. Please reload this page.

@ANeumann82
[chore] Code Review
0c55268
@ANeumann82

ANeumann82 commented Oct 17, 2025

Copy link
Copy Markdown
Contributor Author

Great work and I do appreciate your effort and dedication. Thank you much! A few small concerns though, nothing severe just the normal German nit-picking.

Kudos and cheers!

Keep the nit-picking coming :) There's still some features missing before I'll consider this PR ready for merge.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@bhupi26

bhupi26 commented Oct 31, 2025

Copy link
Copy Markdown

_ No description provided. _

@ANeumann82 Great Work!! Can you please let me know the ETA for this change

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@manticore-projects

manticore-projects commented Nov 21, 2025

Copy link
Copy Markdown
Contributor

@ANeumann82: How can we move this forward together? What assistance can I provide please?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ANeumann82
Merge branch 'master' into json_table_support
cb1654a
# Conflicts:
#	src/main/java/net/sf/jsqlparser/util/deparser/ExpressionDeParser.java
#	src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt
@ANeumann82

ANeumann82 commented Nov 25, 2025

Copy link
Copy Markdown
Contributor Author

@manticore-projects Sorry for the long silence. I've been into a rabbit hole of JavaCC and other parsers...

I've updated the PR from the master branch, but now I get "code too large" in the generated "CCJsqlParserTokenManager.java".

Do you have any idea to work around that problem?

I don't know if there's anything we can do about that with the current JavaCC version. I'm currently looking into alternative parsers to maybe replace JavaCC in JSQLParser at some point, but that's not easy.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@manticore-projects

manticore-projects commented Nov 26, 2025

Copy link
Copy Markdown
Contributor

@manticore-projects Sorry for the long silence. I've been into a rabbit hole of JavaCC and other parsers...

Have done that, have been there and you are welcome.
(I needed a proper SQL panel for our ETL Software, which made me dive into JSQLFormatter, which made me dive into JSQLParser, which made me dive into JavaCC -- and all I wanted was to move some data for our clients.)

I've updated the PR from the master branch, but now I get "code too large" in the generated "CCJsqlParserTokenManager.java".

I will lodge a case with the JavaCC team, maybe they can help.

Do you have any idea to work around that problem?

We have too many token apparently. I want to check first if the JavaCC team can help.
Otherwise we need to refactor the Grammar and avoid any useless token that is used not more than one time and in too specific productions only. I have had a deep discussion on that with the JavaCC team before on this topic.

I don't know if there's anything we can do about that with the current JavaCC version. I'm currently looking into alternative parsers to maybe replace JavaCC in JSQLParser at some point, but that's not easy.

I am most interested in this one too and dug deep already. Unfortunately there is not really any good alternative, but maybe CongoCC. Unfortunately there are some social issues around this project (or maybe with me). And also there still seems to be a (small?) performance penalty in the generated parser.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@manticore-projects

manticore-projects commented Dec 1, 2025

Copy link
Copy Markdown
Contributor

Do you have any idea to work around that problem?

I am reworking the Tokens and the Reserved Keywords as we speak to free up the token manager.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@manticore-projects

manticore-projects commented Mar 14, 2026

Copy link
Copy Markdown
Contributor

Greetings @ANeumann82, as promised I have completely reworked the token handling.
This should solve the "code too large" problem once and for all. We also have achieved much better performance.

So we should be able to proceed with your PR please.
@dengliming: in case you get bored and look for a challenge :-D

dengliming reacted with laugh emoji
All reactions
  • 😄 1 reaction

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@dengliming

dengliming commented Mar 14, 2026

Copy link
Copy Markdown
Contributor

Haha, thanks for the ping! :) I only took a quick look through this PR, but my main concern is more about the overall direction than the style details. Current master already seems to model JSON_TABLE through TableFunction/JsonTableFunction together with newer token handling, while this branch introduces a separate JsonTable FromItem path and expands the older token setup again.

It may be worth considering whether the remaining JSON_TABLE support here could be folded into the existing master-side model instead of keeping two parallel representations. That looks like it could simplify the visitor/deparser/validator side and may also help avoid running back into the older TokenManager size issues.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ANeumann82

ANeumann82 commented Mar 15, 2026

Copy link
Copy Markdown
Contributor Author

Hey @manticore-projects, thanks for the update. I'll take a look at this in the coming week or so.

@dengliming Yeah, I'll have to take a look at that. Seems like there was some JSON_TABLE functionality added a couple weeks ago, while my PR is a bit older. I'll take a look if and how I can consolidate that.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

ANeumann82 added 5 commits March 15, 2026 11:58
@ANeumann82
Merge branch 'master' into json_table_support
81ccfa6
# Conflicts:
#	src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt
@ANeumann82
[chore] Started to add oracle JSON_TABLE features
d39df7f
@ANeumann82
[feat] Fixed onError for Oracle, added onEmptyClause, addedParsingTyp…
3908529
…e, formatJson for Body
@ANeumann82
[feat] Added EXISTS keyword
5775a78
@ANeumann82
[chore] spotless
96c40e1
@ANeumann82
ANeumann82 marked this pull request as ready for review April 1, 2026 19:49
@ANeumann82
ANeumann82 requested a review from manticore-projects April 1, 2026 19:49
ANeumann82 added 2 commits April 1, 2026 21:56
@ANeumann82
[chore] cleanup
8d3b1d6
@ANeumann82
Merge branch 'refs/heads/master' into json_table_support
ee3e4f4
@manticore-projects

manticore-projects commented Apr 1, 2026 •
edited
Loading

Uh oh!

There was an error while loading. Please reload this page.

Copy link
Copy Markdown
Contributor

Greetings!

We are running to /home/runner/work/JSqlParser/JSqlParser/build/generated/javacc/net/sf/jsqlparser/parser/CCJSqlParserTokenManager.java:55: error: code too large issue again?!
How/where have you tested it?

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ANeumann82
[bugfix] Fixed token limit again...
3f5edea
@ANeumann82

ANeumann82 commented Apr 1, 2026

Copy link
Copy Markdown
Contributor Author

Yeah, i've only tested it before I merged the latest changes from master into my branch. I've just fixed that. It's not nice, but it seems to work.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ANeumann82

ANeumann82 commented Apr 1, 2026

Copy link
Copy Markdown
Contributor Author

I'll take a look at the static code analysis issues tomorrow, not sure about the ubuntu-latest compile error though.

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

manticore-projects
manticore-projects requested changes Apr 2, 2026
View reviewed changes

@manticore-projects manticore-projects left a comment

Copy link
Copy Markdown
Contributor

There was a problem hiding this comment.

Choose a reason for hiding this comment

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

Great stuff and work overall.
I only have 1 question on the grammar and it is optional. If there is no quick improvement possible, we could just go ahead.

(Ignore the Maven failures please, I will rip out this old garbage very soon anyways.)

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

All reactions
Comment thread src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt Resolved

Uh oh!

There was an error while loading. Please reload this page.

@manticore-projects

manticore-projects commented Apr 2, 2026

Copy link
Copy Markdown
Contributor

@ANeumann82: I would like to thank you very much for your work and effort, this is quite a chunk!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@ANeumann82
[chore] One more test, code cleanup
c65de44
@manticore-projects

manticore-projects commented Apr 2, 2026

Copy link
Copy Markdown
Contributor

Big thank you again!

All reactions

Sorry, something went wrong.

Uh oh!

There was an error while loading. Please reload this page.

@manticore-projects
manticore-projects merged commit c5e2fdc into JSQLParser:master Apr 2, 2026
4 of 7 checks passed

Uh oh!

There was an error while loading. Please reload this page.

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

Reviewers

@manticore-projects manticore-projects manticore-projects requested changes

Uh oh!

There was an error while loading. Please reload this page.

Assignees

No one assigned

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

Uh oh!

There was an error while loading. Please reload this page.

4 participants

@ANeumann82 @bhupi26 @manticore-projects @dengliming
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.