Interface SqlValidatorTestCase.Tester

    • Method Summary

      All Methods Instance Methods Abstract Methods 
      Modifier and Type Method Description
      void assertExceptionIsThrown​(java.lang.String sql, java.lang.String expectedMsgPattern)
      Checks that a query is valid, or, if invalid, throws the right message at the right location.
      void checkCharset​(java.lang.String sql, java.nio.charset.Charset expectedCharset)  
      void checkCollation​(java.lang.String sql, java.lang.String expectedCollationName, org.apache.calcite.sql.SqlCollation.Coercibility expectedCoercibility)  
      void checkColumnType​(java.lang.String sql, java.lang.String expected)
      Checks that a query returns one column of an expected type.
      void checkFieldOrigin​(java.lang.String sql, java.lang.String fieldOriginList)
      Given a SQL query, returns a list of the origins of each result field.
      void checkIntervalConv​(java.lang.String sql, java.lang.String expected)
      Checks if the interval value conversion to milliseconds is valid.
      void checkResultType​(java.lang.String sql, java.lang.String expected)
      Checks that a query returns one column of an expected type.
      void checkRewrite​(org.apache.calcite.sql.validate.SqlValidator validator, java.lang.String query, java.lang.String expectedRewrite)
      Checks that a query gets rewritten to an expected form.
      org.apache.calcite.rel.type.RelDataType getColumnType​(java.lang.String sql)
      Returns the data type of the sole column of a SQL query.
      org.apache.calcite.sql.validate.SqlConformance getConformance()  
      org.apache.calcite.sql.validate.SqlMonotonicity getMonotonicity​(java.lang.String sql)
      Given a SQL query, returns the monotonicity of the first item in the SELECT clause.
      org.apache.calcite.rel.type.RelDataType getResultType​(java.lang.String sql)
      Returns the data type of the row returned by a SQL query.
      org.apache.calcite.sql.validate.SqlValidator getValidator()  
      org.apache.calcite.sql.SqlNode parseAndValidate​(org.apache.calcite.sql.validate.SqlValidator validator, java.lang.String sql)  
      org.apache.calcite.sql.SqlNode parseQuery​(java.lang.String sql)  
    • Method Detail

      • parseQuery

        org.apache.calcite.sql.SqlNode parseQuery​(java.lang.String sql)
                                           throws org.apache.calcite.sql.parser.SqlParseException
        Throws:
        org.apache.calcite.sql.parser.SqlParseException
      • parseAndValidate

        org.apache.calcite.sql.SqlNode parseAndValidate​(org.apache.calcite.sql.validate.SqlValidator validator,
                                                        java.lang.String sql)
      • getValidator

        org.apache.calcite.sql.validate.SqlValidator getValidator()
      • assertExceptionIsThrown

        void assertExceptionIsThrown​(java.lang.String sql,
                                     java.lang.String expectedMsgPattern)
        Checks that a query is valid, or, if invalid, throws the right message at the right location.

        If expectedMsgPattern is null, the query must succeed.

        If expectedMsgPattern is not null, the query must fail, and give an error location of (expectedLine, expectedColumn) through (expectedEndLine, expectedEndColumn).

        Parameters:
        sql - SQL statement
        expectedMsgPattern - If this parameter is null the query must be valid for the test to pass; If this parameter is not null the query must be malformed and the message given must match the pattern
      • getColumnType

        org.apache.calcite.rel.type.RelDataType getColumnType​(java.lang.String sql)
        Returns the data type of the sole column of a SQL query.

        For example, getResultType("VALUES (1") returns INTEGER.

        Fails if query returns more than one column.

        See Also:
        getResultType(String)
      • getResultType

        org.apache.calcite.rel.type.RelDataType getResultType​(java.lang.String sql)
        Returns the data type of the row returned by a SQL query.

        For example, getResultType("VALUES (1, 'foo')") returns RecordType(INTEGER EXPR$0, CHAR(3) EXPR#1).

      • checkCollation

        void checkCollation​(java.lang.String sql,
                            java.lang.String expectedCollationName,
                            org.apache.calcite.sql.SqlCollation.Coercibility expectedCoercibility)
      • checkCharset

        void checkCharset​(java.lang.String sql,
                          java.nio.charset.Charset expectedCharset)
      • checkColumnType

        void checkColumnType​(java.lang.String sql,
                             java.lang.String expected)
        Checks that a query returns one column of an expected type. For example, checkType("VALUES (1 + 2)", "INTEGER NOT NULL").
      • checkFieldOrigin

        void checkFieldOrigin​(java.lang.String sql,
                              java.lang.String fieldOriginList)
        Given a SQL query, returns a list of the origins of each result field.
        Parameters:
        sql - SQL query
        fieldOriginList - Field origin list, e.g. "{(CATALOG.SALES.EMP.EMPNO, null)}"
      • checkRewrite

        void checkRewrite​(org.apache.calcite.sql.validate.SqlValidator validator,
                          java.lang.String query,
                          java.lang.String expectedRewrite)
        Checks that a query gets rewritten to an expected form.
        Parameters:
        validator - validator to use; null for default
        query - query to test
        expectedRewrite - expected SQL text after rewrite and unparse
      • checkResultType

        void checkResultType​(java.lang.String sql,
                             java.lang.String expected)
        Checks that a query returns one column of an expected type. For example, checkType("select empno, name from emp""{EMPNO INTEGER NOT NULL, NAME VARCHAR(10) NOT NULL}").
      • checkIntervalConv

        void checkIntervalConv​(java.lang.String sql,
                               java.lang.String expected)
        Checks if the interval value conversion to milliseconds is valid. For example, checkIntervalConv(VALUES (INTERVAL '1' Minute), "60000").
      • getMonotonicity

        org.apache.calcite.sql.validate.SqlMonotonicity getMonotonicity​(java.lang.String sql)
        Given a SQL query, returns the monotonicity of the first item in the SELECT clause.
        Parameters:
        sql - SQL query
        Returns:
        Monotonicity
      • getConformance

        org.apache.calcite.sql.validate.SqlConformance getConformance()