Class QueryOptions

java.lang.Object
com.influxdb.v3.client.query.QueryOptions

@ThreadSafe public final class QueryOptions extends Object
Query API options.

Supports to specify:

  • database - specifies the database to be used for InfluxDB operations
  • queryType - specifies the type of query sent to InfluxDB. Default to 'SQL'.
  • headers - specifies the headers to be added to query request

To add custom headers to the query request, use the following code:

 QueryOptions options = new QueryOptions(Map.of("X-Tracing-Id", "123"));
 Stream<Object[]> rows = client.query("select * from cpu", queryOptions);
 
  • Field Details

  • Constructor Details

    • QueryOptions

      public QueryOptions(@Nonnull String database)
      Construct QueryAPI options. The query type is set to SQL.
      Parameters:
      database - The database to be used for InfluxDB operations.
    • QueryOptions

      public QueryOptions(@Nonnull QueryType queryType)
      Construct QueryAPI options.
      Parameters:
      queryType - The type of query sent to InfluxDB.
    • QueryOptions

      public QueryOptions(@Nullable Map<String,String> headers)
      Construct QueryAPI options. The query type is set to SQL.
      Parameters:
      headers - The headers to be added to query request. The headers specified here are preferred over the headers specified in the client configuration.
    • QueryOptions

      public QueryOptions(@Nullable String database, @Nullable QueryType queryType)
      Construct QueryAPI options.
      Parameters:
      database - The database to be used for InfluxDB operations. If it is not specified then use ClientConfig.getDatabase().
      queryType - The type of query sent to InfluxDB. If it is not specified then use QueryType.SQL.
    • QueryOptions

      public QueryOptions(@Nullable String database, @Nullable QueryType queryType, @Nullable Map<String,String> headers)
      Construct QueryAPI options.
      Parameters:
      database - The database to be used for InfluxDB operations. If it is not specified then use ClientConfig.getDatabase().
      queryType - The type of query sent to InfluxDB. If it is not specified then use QueryType.SQL.
      headers - The headers to be added to query request. The headers specified here are preferred over the headers specified in the client configuration.
  • Method Details

    • defaultQueryOptions

      public static QueryOptions defaultQueryOptions()
      Provides default query options with no database specified and using SQL as the query type.
      Returns:
      A QueryOptions instance with default settings, including a null database and QueryType.SQL as the query type.
    • defaultInfluxQlQueryOptions

      public static QueryOptions defaultInfluxQlQueryOptions()
      Provides default query options for executing InfluxQL queries with no database specified.
      Returns:
      A QueryOptions instance configured with a null database and QueryType.InfluxQL.
    • databaseSafe

      @Nullable public String databaseSafe(@Nonnull ClientConfig config)
      Parameters:
      config - with default value
      Returns:
      The destination database for writes.
    • queryTypeSafe

      @Nonnull public QueryType queryTypeSafe()
      Returns:
      The type of query sent to InfluxDB, cannot be null.
    • headersSafe

      @Nonnull public Map<String,String> headersSafe()
      Returns:
      The headers to be added to query request, cannot be null.
    • setGrpcCallOptions

      public void setGrpcCallOptions(@Nonnull GrpcCallOptions grpcCallOptions)
      Sets the GrpcCallOptions object.
      Parameters:
      grpcCallOptions - the grpcCallOptions
    • grpcCallOptions

      @Nonnull public GrpcCallOptions grpcCallOptions()
      Returns:
      the GrpcCallOptions object.