You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
parse error between with oracle outer join(+) #672
AI disclosure: this comment was prepared with AI coding agents, reviewed and revised line by line by me.
Root cause: the grammar consumes the Oracle (+) postfix at three sites (after the condition left operand in Condition(), after the comparison right-hand side in RegularConditionRHS(), and in PrimaryExpression() only before , or ) for IN lists), but the BETWEEN start and end operands reach none of them, so BETWEEN t2.col2(+) fails on the ( token.
Fix proposed in #2564: consume (+) after both BETWEEN operands (same block Condition() already uses), marking the operand Column via the existing SupportsOldOracleJoinSyntax interface, no AST change. All operand forms covered: both-marked, single-sided, NOT BETWEEN, SYMMETRIC, parenthesized conditions, join ON clauses.
Activity
wumpz commentedon Sep 8, 2018
That is right. JSqlParser does not support this old join syntax in this between construct.
fudianchn commentedon Sep 8, 2026
AI disclosure: this comment was prepared with AI coding agents, reviewed and revised line by line by me.
Root cause: the grammar consumes the Oracle
(+)postfix at three sites (after the condition left operand inCondition(), after the comparison right-hand side inRegularConditionRHS(), and inPrimaryExpression()only before,or)for IN lists), but theBETWEENstart and end operands reach none of them, soBETWEEN t2.col2(+)fails on the(token.Fix proposed in #2564: consume
(+)after bothBETWEENoperands (same blockCondition()already uses), marking the operandColumnvia the existingSupportsOldOracleJoinSyntaxinterface, no AST change. All operand forms covered: both-marked, single-sided,NOT BETWEEN,SYMMETRIC, parenthesized conditions, joinONclauses.fix(parser): parse Oracle outer join operator (+) on BETWEEN operands (…
fix(parser): parse Oracle outer join operator (+) on BETWEEN operands (…
fix(parser): parse Oracle outer join operator (+) on BETWEEN operands (…