Uploaded image for project: 'Calcite'
  1. Calcite
  2. CALCITE-1439

Handle errors during constant reduction

    XMLWordPrintableJSON

Details

    • Bug
    • Status: Closed
    • Major
    • Resolution: Fixed
    • None
    • 1.12.0
    • None
    • None

    Description

      A literal is a constant, and so a cast of a literal is also a constant, but when we do constant reduction sometimes there are errors if the cast is not valid. For example, the query

      values cast('' as integer)
      

      gives ExceptionInInitializerError and, to make matters worse, the Avatica JDBC driver does not catch the exception (because it is a java.lang.Error) and wrap it as a java.sql.SQLException as it ought to.

      Note that cast('1.2' as integer) is also invalid but cast(' -1 ' as integer) is valid.

      This issue probably also applies to divide-by-zero and other exceptions evaluating scalar expressions.

      Attachments

        Issue Links

          Activity

            People

              julianhyde Julian Hyde
              julianhyde Julian Hyde
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

              Dates

                Created:
                Updated:
                Resolved: