Class QuerySettings

java.lang.Object
com.clickhouse.client.api.query.QuerySettings
Direct Known Subclasses:
CommandSettings

public class QuerySettings extends Object

Query settings class represents a set of settings that can be used to customize query execution.

  • Field Details

    • MINIMAL_READ_BUFFER_SIZE

      public static final int MINIMAL_READ_BUFFER_SIZE
      See Also:
  • Constructor Details

    • QuerySettings

      public QuerySettings()
  • Method Details

    • setOption

      public QuerySettings setOption(String option, Object value)
      Sets a configuration option. This method can be used to set any configuration option. There is no specific validation is done on the key or value.
      Parameters:
      option - - configuration option name
      value - - configuration option value
    • getOption

      public Object getOption(String option)
      Gets a configuration option.
      Parameters:
      option - - configuration option name
      Returns:
      configuration option value
    • getAllSettings

      public Map<String,Object> getAllSettings()
      Get raw settings. Returns reference to internal map, so any changes will affect this object.
      Returns:
      all settings map
    • setQueryId

      public QuerySettings setQueryId(String queryId)
      Sets the query id. This id will be sent to the server and can be used to identify the query.
    • getQueryId

      public String getQueryId()
    • setReadBufferSize

      public QuerySettings setReadBufferSize(Integer size)
      Read buffer is used for reading data from a server. Size is in bytes. Minimal value is 8192 bytes.
    • getReadBufferSize

      public Integer getReadBufferSize()
    • setFormat

      public QuerySettings setFormat(ClickHouseFormat format)
      Sets output format for a server response.
    • getFormat

      public ClickHouseFormat getFormat()
    • setMaxExecutionTime

      public QuerySettings setMaxExecutionTime(Integer maxExecutionTime)
      Maximum query execution time in seconds on server. 0 means no limit. If query is not finished in this time then server will send an exception.
    • getMaxExecutionTime

      public Integer getMaxExecutionTime()
    • setDatabase

      public QuerySettings setDatabase(String database)
      Sets database to be used for a request.
    • getDatabase

      public String getDatabase()
    • waitEndOfQuery

      public QuerySettings waitEndOfQuery(Boolean waitEndOfQuery)
      Requests the server to wait for the and of the query before sending response. Useful for getting accurate summary.
    • setUseServerTimeZone

      public QuerySettings setUseServerTimeZone(Boolean useServerTimeZone)
    • getUseServerTimeZone

      public Boolean getUseServerTimeZone()
    • setUseTimeZone

      public QuerySettings setUseTimeZone(String timeZone)
    • getServerTimeZone

      public TimeZone getServerTimeZone()
    • httpHeader

      public QuerySettings httpHeader(String key, String value)
      Defines list of headers that should be sent with current request. The Client will use a header value defined in headers instead of any other.
      Parameters:
      key - - header name.
      value - - header value.
      Returns:
      same instance of the builder
      See Also:
    • httpHeader

      public QuerySettings httpHeader(String key, Collection<String> values)
      but for multiple values.
      Parameters:
      key - - name of the header
      values - - collection of values
      Returns:
      same instance of the builder
    • httpHeaders

      public QuerySettings httpHeaders(Map<String,String> headers)
      but for multiple headers.
      Parameters:
      headers - - map of headers
      Returns:
      same instance of the builder
    • serverSetting

      public QuerySettings serverSetting(String name, String value)
      Defines list of server settings that should be sent with each request. The Client will use a setting value defined in settings instead of any other. Operation settings may override these values.
      Parameters:
      name - - name of the setting
      value - - value of the setting
      Returns:
      same instance of the builder
      See Also:
    • serverSetting

      public QuerySettings serverSetting(String name, Collection<String> values)
      but for multiple values.
      Parameters:
      name - - name of the setting without special prefix
      values - - collection of values
      Returns:
      same instance of the builder
    • setDBRoles

      public QuerySettings setDBRoles(Collection<String> dbRoles)
      Sets DB roles for an operation. Roles that were set by Client.setDBRoles(Collection) will be overridden.
      Parameters:
      dbRoles -
    • getDBRoles

      public Collection<String> getDBRoles()
      Gets DB roles for an operation.
      Returns:
      list of DB roles
    • logComment

      public QuerySettings logComment(String logComment)
      Sets the comment that will be added to the query log record associated with the query.
      Parameters:
      logComment - - comment to be added to the log
      Returns:
      same instance of the builder
    • getLogComment

      public String getLogComment()
    • merge

      public static QuerySettings merge(QuerySettings source, QuerySettings override)