Module jakarta.json

Class ExasolSqlDialect

  • All Implemented Interfaces:
    com.exasol.adapter.dialects.SqlDialect

    public class ExasolSqlDialect
    extends com.exasol.adapter.dialects.AbstractSqlDialect
    Exasol SQL dialect.
    • Nested Class Summary

      • Nested classes/interfaces inherited from interface com.exasol.adapter.dialects.SqlDialect

        com.exasol.adapter.dialects.SqlDialect.ExceptionHandlingMode, com.exasol.adapter.dialects.SqlDialect.NullSorting, com.exasol.adapter.dialects.SqlDialect.StructureElementSupport
    • Field Summary

      • Fields inherited from class com.exasol.adapter.dialects.AbstractSqlDialect

        connectionFactory, omitParenthesesMap, properties
    • Constructor Summary

      Constructors 
      Constructor Description
      ExasolSqlDialect​(com.exasol.adapter.jdbc.ConnectionFactory connectionFactory, com.exasol.adapter.AdapterProperties properties)
      Create a new instance of the ExasolSqlDialect.
    • Constructor Detail

      • ExasolSqlDialect

        public ExasolSqlDialect​(com.exasol.adapter.jdbc.ConnectionFactory connectionFactory,
                                com.exasol.adapter.AdapterProperties properties)
        Create a new instance of the ExasolSqlDialect.
        Parameters:
        connectionFactory - factory for the JDBC connection to the remote data source
        properties - adapter properties
    • Method Detail

      • getName

        public String getName()
      • createRemoteMetadataReader

        protected com.exasol.adapter.jdbc.RemoteMetadataReader createRemoteMetadataReader()
        Specified by:
        createRemoteMetadataReader in class com.exasol.adapter.dialects.AbstractSqlDialect
      • createQueryRewriter

        protected com.exasol.adapter.dialects.QueryRewriter createQueryRewriter()
        Create a query rewriter.

        Virtual Schema for Exasol supports the following import variants which are represented by dedicated query re-writers:

        local
        Create a SELECT statement that is directly executed on the local Exasol database.
        IMPORT FROM EXA
        Create dedicated import statement for a remote Exasol database that is more efficient than a regular JDBC import.
        JDBC import
        Create a regular JDBC import
        Specified by:
        createQueryRewriter in class com.exasol.adapter.dialects.AbstractSqlDialect
      • supportsJdbcCatalogs

        public com.exasol.adapter.dialects.SqlDialect.StructureElementSupport supportsJdbcCatalogs()
      • supportsJdbcSchemas

        public com.exasol.adapter.dialects.SqlDialect.StructureElementSupport supportsJdbcSchemas()
      • applyQuote

        public String applyQuote​(String identifier)
      • getCapabilities

        public com.exasol.adapter.capabilities.Capabilities getCapabilities()
      • requiresCatalogQualifiedTableNames

        public boolean requiresCatalogQualifiedTableNames​(com.exasol.adapter.dialects.rewriting.SqlGenerationContext context)
      • requiresSchemaQualifiedTableNames

        public boolean requiresSchemaQualifiedTableNames​(com.exasol.adapter.dialects.rewriting.SqlGenerationContext context)
      • getDefaultNullSorting

        public com.exasol.adapter.dialects.SqlDialect.NullSorting getDefaultNullSorting()
      • getStringLiteral

        public String getStringLiteral​(String value)
      • validateProperties

        public void validateProperties()
                                throws com.exasol.adapter.dialects.PropertyValidationException
        Specified by:
        validateProperties in interface com.exasol.adapter.dialects.SqlDialect
        Overrides:
        validateProperties in class com.exasol.adapter.dialects.AbstractSqlDialect
        Throws:
        com.exasol.adapter.dialects.PropertyValidationException
      • getSqlGenerator

        public com.exasol.adapter.dialects.SqlGenerator getSqlGenerator​(com.exasol.adapter.dialects.rewriting.SqlGenerationContext context)
        Specified by:
        getSqlGenerator in interface com.exasol.adapter.dialects.SqlDialect
        Overrides:
        getSqlGenerator in class com.exasol.adapter.dialects.AbstractSqlDialect