-
Notifications
You must be signed in to change notification settings - Fork 986
Description
Describe the bug
When connecting a RDBMS datasource that is based on Vertica, Drill attempts to use the FETCH NEXT approach for query optimization, however vertica JDBC doesn't support FETCH NEXT but only supports limit.
https://docs.vertica.com/12.0.x/en/sql-reference/statements/select/limit-clause/
To Reproduce
Steps to reproduce the behavior:
- Connect a Vertica based RDBMS Datasource
- Once successful, validate with SHOW SCHEMAS;
- Attempt to run a query against one of the vertica tables
- Observe the error
Expected behavior
Results should appear properly and not use fetch next
Error detail, log output or screenshots
org.apache.drill.common.exceptions.UserRemoteException: DATA_READ ERROR: The JDBC storage plugin failed while trying setup the SQL query.
Sql: SELECT *
FROM "VerticaDB"."xxxxxxxxx"."yyyyyyyyy"
FETCH NEXT 1000 ROWS ONLY
Fragment: 0:0
[Error Id: d142a3d5-f5b3-4f9c-b850-a39e72604953 on a68ba75bf84a:31010]
SQL LOG:
Caused by: java.sql.SQLSyntaxErrorException: [Vertica]VJDBC ERROR: Syntax error at or near "NEXT" at character 59
at com.vertica.util.ServerErrorData.buildException()
at com.vertica.io.ProtocolStream.readExpectedMessage()
at com.vertica.dataengine.VDataEngine.prepareImpl()
at com.vertica.dataengine.VDataEngine.prepare()
Drill version
1.21.1
Additional context