[ 
https://issues.apache.org/jira/browse/SPARK-59852?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

ASF GitHub Bot updated SPARK-59852:
-----------------------------------
    Labels: pull-request-available  (was: )

> Classify only syntax error SQLSTATEs as syntax errors in H2 and Derby dialects
> ------------------------------------------------------------------------------
>
>                 Key: SPARK-59852
>                 URL: https://issues.apache.org/jira/browse/SPARK-59852
>             Project: Spark
>          Issue Type: Bug
>          Components: SQL
>    Affects Versions: 5.0.0
>            Reporter: sepuri sai krishna
>            Priority: Major
>              Labels: pull-request-available
>
> {{H2Dialect}} and {{DerbyDialect}} treat every SQLSTATE of class 42 as a 
> syntax error ({{startsWith("42")}}), but 
> {{JdbcDialect.isSyntaxErrorBestEffort}} promises that a {{true}} result is 
> guaranteed to be a syntax error. Class 42 also covers errors such as table 
> not found, column not found and missing privileges, so these are reported as 
> {{JDBC_EXTERNAL_ENGINE_SYNTAX_ERROR}} instead of keeping the original 
> exception.
> For example, reading a table that does not exist through {{spark.read.jdbc}} 
> (or the {{dbtable}} / {{query}} options) fails with 
> {{JDBC_EXTERNAL_ENGINE_SYNTAX_ERROR.DURING_OUTPUT_SCHEMA_RESOLUTION}}, 
> because {{isObjectNotFoundException}} is only checked for catalog tables.
> The SQLSTATEs the drivers actually use for syntax errors are:
> * H2 ({{org.h2.api.ErrorCode}}): {{42000}} ({{SYNTAX_ERROR_1}}) and {{42001}} 
> ({{SYNTAX_ERROR_2}}). Other class-42 states include {{42S02}} (table not 
> found), {{42S22}} (column not found) and {{42S01}} (table already exists).
> * Derby ({{SQLState}}): {{42X01}} ({{LANG_SYNTAX_ERROR}}) and {{42X02}} 
> ({{LANG_LEXICAL_ERROR}}). Other class-42 states include {{42X05}} (table not 
> found), {{42X04}} (column not found), {{42Y03}} (function not found) and 
> {{42502}} (missing privilege).
> This is a follow-up of SPARK-59336, which made the same change for 
> PostgreSQL. The same pattern in these and other dialects was pointed out in 
> its review: https://github.com/apache/spark/pull/58621#discussion_r3968178897



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to