Class SqlConfiguration


  • public class SqlConfiguration
    extends Object
    The configuration of the SQL query subsystem.
    • Field Detail

      • DFLT_SQL_QUERY_HISTORY_SIZE

        public static final int DFLT_SQL_QUERY_HISTORY_SIZE
        Default SQL query history size.
        See Also:
        Constant Field Values
      • DFLT_SQL_PLAN_HISTORY_SIZE

        public static final int DFLT_SQL_PLAN_HISTORY_SIZE
        Default SQL plan history size.
        See Also:
        Constant Field Values
      • DFLT_QRY_TIMEOUT

        public static final long DFLT_QRY_TIMEOUT
        Default query timeout.
        See Also:
        Constant Field Values
      • DFLT_LONG_QRY_WARN_TIMEOUT

        public static final long DFLT_LONG_QRY_WARN_TIMEOUT
        Default timeout after which long query warning will be printed.
        See Also:
        Constant Field Values
    • Constructor Detail

      • SqlConfiguration

        public SqlConfiguration()
    • Method Detail

      • getDefaultQueryTimeout

        @Deprecated
        public long getDefaultQueryTimeout()
        Deprecated.
        Since 2.9. Please use distributed default query timeout.
        Defines the default query timeout. Defaults to DFLT_QRY_TIMEOUT. 0 means there is no timeout (this is a default value)
        Returns:
        Default query timeout.
      • setDefaultQueryTimeout

        @Deprecated
        public SqlConfiguration setDefaultQueryTimeout​(long dfltQryTimeout)
        Deprecated.
        Since 2.9. Please use distributed default query timeout.
        Sets timeout in milliseconds for default query timeout. 0 means there is no timeout (this is a default value)
        Parameters:
        dfltQryTimeout - Timeout in milliseconds.
        Returns:
        this for chaining.
      • getSqlQueryHistorySize

        public int getSqlQueryHistorySize()
        Number of SQL query history elements to keep in memory. If not provided, then default value DFLT_SQL_QUERY_HISTORY_SIZE is used. If provided value is less or equals 0, then gathering SQL query history will be switched off.
        Returns:
        SQL query history size.
      • setSqlQueryHistorySize

        public SqlConfiguration setSqlQueryHistorySize​(int size)
        Sets number of SQL query history elements kept in memory. If not explicitly set, then default value is DFLT_SQL_QUERY_HISTORY_SIZE.
        Parameters:
        size - Number of SQL query history elements kept in memory.
        Returns:
        this for chaining.
      • getSqlPlanHistorySize

        public int getSqlPlanHistorySize()
        Number of SQL plan history elements to keep in memory. If not provided, then default value -1 applies when the indexing module is in use and DFLT_SQL_PLAN_HISTORY_SIZE is used for other engines. If provided value is less or equals 0, then gathering SQL plan history will be switched off.
        Returns:
        SQL plan history size.
      • setSqlPlanHistorySize

        public SqlConfiguration setSqlPlanHistorySize​(int size)
        Sets number of SQL plan history elements kept in memory. If not explicitly set, then default value -1 applies when the indexing module is in use and DFLT_SQL_PLAN_HISTORY_SIZE is used for other engines.
        Parameters:
        size - Number of SQL plan history elements kept in memory.
        Returns:
        this for chaining.
      • getSqlSchemas

        public String[] getSqlSchemas()
        Gets SQL schemas to be created on node startup.

        See setSqlSchemas(String...) for more information.

        Returns:
        SQL schemas to be created on node startup.
      • setSqlSchemas

        public SqlConfiguration setSqlSchemas​(String... sqlSchemas)
        Sets SQL schemas to be created on node startup. Schemas are created on local node only and are not propagated to other cluster nodes. Created schemas cannot be dropped.

        By default schema names are case-insensitive, i.e. my_schema and My_Schema represents the same object. Use quotes to enforce case sensitivity (e.g. "My_Schema").

        Property is ignored if ignite-indexing module is not in classpath.

        Parameters:
        sqlSchemas - SQL schemas to be created on node startup.
        Returns:
        this for chaining.
      • getLongQueryWarningTimeout

        public long getLongQueryWarningTimeout()
        Gets timeout in milliseconds after which long query warning will be printed.
        Returns:
        Timeout in milliseconds.
      • setLongQueryWarningTimeout

        public SqlConfiguration setLongQueryWarningTimeout​(long longQryWarnTimeout)
        Sets timeout in milliseconds after which long query warning will be printed.
        Parameters:
        longQryWarnTimeout - Timeout in milliseconds.
        Returns:
        this for chaining.
      • isValidationEnabled

        public boolean isValidationEnabled()
        Returns whether Ignite validates cache keys and values against the declared SQL schema before applying DML operations such as INSERT, MERGE, UPDATE and cache API calls that modify data. When enabled, Ignite checks that each property uses a runtime type compatible with the column definition (including for non-indexed columns). Violations raise an IgniteSQLException for SQL operations or a CacheException for cache API updates.
        Returns:
        true if key and value validation against the SQL schema is enabled; false otherwise.
      • setValidationEnabled

        public SqlConfiguration setValidationEnabled​(boolean validationEnabled)
        Enables or disables validation of cache keys and values against the SQL schema.
        Parameters:
        validationEnabled - true to validate key and value objects against the SQL schema and reject data that violates declared types or constraints; false to skip these checks. The default value is false.
        Returns:
        this for chaining.
      • setQueryEnginesConfiguration

        public SqlConfiguration setQueryEnginesConfiguration​(QueryEngineConfiguration... enginesConfiguration)
        Sets query engines configuration.

        There are several engines to execute SQL queries can be configured. If configured more than one engine, exact engine to execute the query can be chosen in run-time by queryEngine JDBC connection property or by QUERY_ENGINE('engineName') SQL query hint. If no query engine is explicitly chosen, default query engine will be used (see QueryEngineConfiguration.setDefault(boolean)).

        When this property is not set, the query engine cannot be chosen in run-time, and the engine provided by the ignite-indexing module will be used for all queries.

        Parameters:
        enginesConfiguration - Query engines configuration.
        Returns:
        this for chaining.
      • getQueryEnginesConfiguration

        public QueryEngineConfiguration[] getQueryEnginesConfiguration()
        Gets query engines configuration.
        Returns:
        Query engines configuration.