Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: queelius/JSqlParser
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: master
Choose a base ref
...
head repository: JSQLParser/JSqlParser
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: master
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 10 commits
  • 20 files changed
  • 5 contributors

Commits on Mar 25, 2026

  1. fix(parser): pass modifier to ExceptOp/MinusOp constructors (JSQLPars…

    …er#2419) (JSQLParser#2420)
    
    * fix(parser): pass modifier to ExceptOp/MinusOp constructors and reset between iterations
    
    EXCEPT ALL/DISTINCT and MINUS ALL/DISTINCT modifiers were silently
    dropped during parsing because the grammar captured the modifier via
    SetOperationModifier() but constructed ExceptOp and MinusOp with
    their no-arg constructors (defaulting to empty string), unlike
    UnionOp and IntersectOp which correctly received the modifier.
    
    Additionally, the modifier variable was not reset between iterations
    of the set-operation loop, causing modifiers to leak from one
    operator to the next (e.g., UNION ALL ... EXCEPT would incorrectly
    make the EXCEPT inherit ALL).
    
    Fixes JSQLParser#2419
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    * refactor: convert to parameterized tests, run spotlessApply
    
    Co-Authored-By: Claude Opus 4.6 (1M context) <[email protected]>
    
    ---------
    
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    queelius and claude authored Mar 25, 2026
    Configuration menu
    Copy the full SHA
    7fc300f View commit details
    Browse the repository at this point in the history

Commits on Mar 28, 2026

  1. fix: exponential backtracking on deeply nested bracketed expressions

    Remove allowComplexParsing gates from ExpressionList and
    ParenthesedExpressionList so ComplexExpressionList (full Expression())
    is always used. This lets Condition() handle all parenthesized content
    including comparison and boolean operators, eliminating the expensive
    speculative LOOKAHEAD(Condition()) and XorExpression fallback in
    AndExpression.
    
    Replace syntactic LOOKAHEAD(NamedExpressionListExprFirst()) in
    SpecialStringFunctionWithNamedParameters with a lightweight
    isNamedExprListAhead() token scan.
    
    Fixes parsing of deeply nested `IF()` and `POSITION(... IN (CASE ...))`.
    
    - fixes JSQLParser#2422
    
    Signed-off-by: Andreas Reichel <[email protected]>
    Signed-off-by: manticore-projects <[email protected]>
    manticore-projects committed Mar 28, 2026
    Configuration menu
    Copy the full SHA
    fff8a08 View commit details
    Browse the repository at this point in the history
  2. doc: use the new Sphinx Javadoc extension

    Signed-off-by: Andreas Reichel <[email protected]>
    Signed-off-by: manticore-projects <[email protected]>
    manticore-projects committed Mar 28, 2026
    Configuration menu
    Copy the full SHA
    0f0922c View commit details
    Browse the repository at this point in the history
  3. test: update tests

    Signed-off-by: manticore-projects <[email protected]>
    manticore-projects committed Mar 28, 2026
    Configuration menu
    Copy the full SHA
    76fb13f View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    761fd50 View commit details
    Browse the repository at this point in the history
  5. doc: fix icon paths

    Signed-off-by: manticore-projects <[email protected]>
    manticore-projects committed Mar 28, 2026
    Configuration menu
    Copy the full SHA
    ee03c4f View commit details
    Browse the repository at this point in the history
  6. doc: fix links

    Signed-off-by: manticore-projects <[email protected]>
    manticore-projects committed Mar 28, 2026
    Configuration menu
    Copy the full SHA
    f7c9433 View commit details
    Browse the repository at this point in the history

Commits on Apr 2, 2026

  1. [feat] Support for JSON_TABLE (JSQLParser#2328)

    * [feat] Initial support for JSON_TABLE
    
    * [feat] Additional support for JSON_TABLE
    
    * [chore] Code Review
    
    * [chore] Started to add oracle JSON_TABLE features
    
    * [feat] Fixed onError for Oracle, added onEmptyClause, addedParsingType, formatJson for Body
    
    * [feat] Added EXISTS keyword
    
    * [chore] spotless
    
    * [chore] cleanup
    
    * [bugfix] Fixed token limit again...
    
    * [chore] One more test, code cleanup
    ANeumann82 authored Apr 2, 2026
    Configuration menu
    Copy the full SHA
    c5e2fdc View commit details
    Browse the repository at this point in the history
  2. chore: minor grammar refinement to appease the Maven plugin

    - avoid wrapping the returns into NULL checks
    - add license headers
    
    Signed-off-by: manticore-projects <[email protected]>
    manticore-projects committed Apr 2, 2026
    Configuration menu
    Copy the full SHA
    cae3e0d View commit details
    Browse the repository at this point in the history

Commits on Apr 8, 2026

  1. fix: split CCJSqlParserTokenManager static initializers to avoid 64KB…

    … method limit (JSQLParser#2425)
    
    The generated CCJSqlParserTokenManager class has a clinit method that reaches
    64,452 bytes -- dangerously close to the JVM 65,535 byte limit. ASM-based tools
    like sbt-assembly add transformation overhead that pushes it over, causing
    MethodTooLargeException during fat JAR creation.
    
    Add a splitTokenManagerStaticInit Gradle task that post-processes the generated
    Java file after JavaCC code generation, extracting 6 large static array
    initializations (stringLiterals, jjstrLiteralImages, jjmatchKinds, jjnewLexState,
    jjcompositeState, jjnextStateSet) into separate private static methods. This
    reduces clinit from 64,452 bytes to 404 bytes.
    
    Co-authored-by: Claude Opus 4.6 (1M context) <[email protected]>
    hayssams and claude authored Apr 8, 2026
    Configuration menu
    Copy the full SHA
    cf5bbc9 View commit details
    Browse the repository at this point in the history
Loading