From c964fd3ef0dd89d4b5b4e88e1594c60960f22b96 Mon Sep 17 00:00:00 2001 From: wenshao Date: Sun, 4 Feb 2018 14:24:39 +0800 Subject: [PATCH] bug fixed for pg sql parser. --- .../parser/PGSQLStatementParser.java | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGSQLStatementParser.java b/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGSQLStatementParser.java index 5b67676c5d..37af833ac9 100644 --- a/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGSQLStatementParser.java +++ b/src/main/java/com/alibaba/druid/sql/dialect/postgresql/parser/PGSQLStatementParser.java @@ -292,8 +292,27 @@ public class PGSQLStatementParser extends SQLStatementParser { statementList.add(parseWith()); return true; default: - return false; + break; } + + if (lexer.identifierEquals(FnvHash.Constants.CONNECT)) { + SQLStatement stmt = parseConnectTo(); + statementList.add(stmt); + return true; + } + + return false; + } + + public SQLStatement parseConnectTo() { + acceptIdentifier("CONNECT"); + accept(Token.TO); + + PGConnectToStatement stmt = new PGConnectToStatement(); + SQLName target = this.exprParser.name(); + stmt.setTarget(target); + + return stmt; } public PGSelectStatement parseSelect() {