Skip to content

Commit 272177a

Browse files
committed
fixes #519
fixes #520
1 parent 51fcdea commit 272177a

File tree

1 file changed

+17
-3
lines changed

1 file changed

+17
-3
lines changed

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

Lines changed: 17 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -908,15 +908,29 @@ MergeInsert MergeInsertClause() : {
908908
Column Column() #Column :
909909
{
910910
String databaseName = null, schemaName = null, tableName = null, columnName = null;
911+
String token = null;
911912
}
912913
{
913-
(
914+
columnName = RelObjectName()
915+
( "." [LOOKAHEAD(2) token = RelObjectName()] { tableName = columnName; columnName = token; token = null;}
916+
( "." token = RelObjectName() { schemaName = tableName; tableName = columnName; columnName = token; token = null;}
917+
( "." token = RelObjectName() { databaseName = schemaName; schemaName = tableName; tableName = columnName; columnName = token; }
918+
)?
919+
)?
920+
)?
921+
922+
/*(
914923
LOOKAHEAD(7) databaseName=RelObjectName() "." [schemaName=RelObjectName()] "." tableName=RelObjectName() "." columnName=RelObjectName()
915924
| LOOKAHEAD(5) schemaName=RelObjectName() "." tableName=RelObjectName() "." columnName=RelObjectName()
916925
| LOOKAHEAD(3) tableName=RelObjectName() "." columnName=RelObjectName()
917926
| columnName=RelObjectName()
918-
)
927+
)*/
928+
919929
{
930+
if (tableName==null && (databaseName!=null || schemaName!=null)) {
931+
throw generateParseException();
932+
}
933+
920934
final Database database = new Database(databaseName);
921935
final Table table = new Table(database, schemaName, tableName);
922936
Column col = new Column(table, columnName);
@@ -2372,7 +2386,7 @@ Expression PrimaryExpression():
23722386

23732387
| LOOKAHEAD(2) retval=DateTimeLiteralExpression()
23742388

2375-
| LOOKAHEAD(Column()) retval=Column()
2389+
| retval=Column()
23762390

23772391
| LOOKAHEAD("(" SimpleExpression() ")") "(" retval=SimpleExpression() ")" {retval = new Parenthesis(retval); }
23782392

0 commit comments

Comments
 (0)