Skip to content

Commit 2e27ef1

Browse files
committed
Add support for AllTableColumns in primary expression
1 parent 1668528 commit 2e27ef1

File tree

2 files changed

+9
-8
lines changed

2 files changed

+9
-8
lines changed

src/main/jjtree/net/sf/jsqlparser/parser/JSqlParserCC.jjt

Lines changed: 3 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3252,12 +3252,8 @@ SelectItem<?> SelectItem() #SelectItem:
32523252
// @fixme: Oracle's SEQUENCE.nextval is parsed as COLUMN with a name part nextval
32533253
// @todo: parse a proper SEQUENCE instead of a COLUMN
32543254
(
3255-
expression = AllColumns()
3256-
|
32573255
LOOKAHEAD( 3 ) expression = ConnectByPriorOperator()
32583256
|
3259-
LOOKAHEAD(AllTableColumns()) expression = AllTableColumns()
3260-
|
32613257
LOOKAHEAD( 3 ) expression = XorExpression()
32623258
|
32633259
LOOKAHEAD( 3 ) expression = ConcatExpression()
@@ -5301,6 +5297,9 @@ Expression PrimaryExpression() #PrimaryExpression:
53015297

53025298
| LOOKAHEAD(2, {!interrupted}) retval=CastExpression()
53035299

5300+
| LOOKAHEAD(AllColumns()) retval=AllColumns()
5301+
5302+
| LOOKAHEAD(AllTableColumns()) retval=AllTableColumns()
53045303

53055304
// support timestamp expressions
53065305
| LOOKAHEAD(2, {!interrupted}) (token=<K_TIME_KEY_EXPR> | token=<K_CURRENT>) { retval = new TimeKeyExpression(token.image); }
@@ -6450,10 +6449,6 @@ Function InternalFunction(boolean escaped):
64506449
)
64516450
]
64526451
(
6453-
"*" { expr = new AllColumns(); expressionList = new ExpressionList(expr); }
6454-
|
6455-
LOOKAHEAD( AllTableColumns() ) expr=AllTableColumns() { expressionList = new ExpressionList(expr); }
6456-
|
64576452
LOOKAHEAD(3) [ LOOKAHEAD(2) extraKeywordToken = <K_TABLE> { retval.setExtraKeyword(extraKeywordToken.image); } ]
64586453
expressionList=ExpressionList()
64596454
[ orderByList = OrderByElements() { retval.setOrderByElements(orderByList); } ]

src/test/java/net/sf/jsqlparser/statement/select/SelectTest.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5486,6 +5486,12 @@ public void testReservedKeywordsIssue1352() throws JSQLParserException {
54865486
assertSqlCanBeParsedAndDeparsed("SELECT fulltext from fulltext.fulltext", true);
54875487
}
54885488

5489+
@Test
5490+
public void testGroupByWithAllTableColumns() throws JSQLParserException {
5491+
assertSqlCanBeParsedAndDeparsed(
5492+
"select c.post_id, p.* from posts p inner join comments c on c.post_id = p.post_id group by p.post_id, c.post_id, p.*;");
5493+
}
5494+
54895495
@Test
54905496
public void testTableSpaceKeyword() throws JSQLParserException {
54915497
// without extra brackets

0 commit comments

Comments
 (0)