InfluxElixir.Client.Local.SQLPlan (InfluxElixir v0.1.40)

Copy Markdown View Source

The type errors the engine finds when it plans a SQL query, for InfluxElixir.Client.Local, whether or not any row would reach the expression (verified against InfluxDB 3 Core).

The Arrow type of a column is read from the first point that has it (a tag is dictionary encoded, a field typed by its value, time a timestamp; an integer column the store registered as unsigned is a UInt64). An unknown type is never refused. A decimal (the result of an Int64 with a UInt64) has a precision the double does not track, so an error that would print its type is refused by name.

Summary

Types

A stored point, as InfluxElixir.Client.Local keeps it.

Functions

The Arrow type of a stored or computed value, or nil for a null.

The engine's first planning error in the query's expressions, or :ok. unsigned? says which columns are UInt64.

The engine's message for a pattern match over a column of type.

Types

point()

A stored point, as InfluxElixir.Client.Local keeps it.

Functions

arrow_type(value)

@spec arrow_type(term()) :: binary() | nil

The Arrow type of a stored or computed value, or nil for a null.

check(points, query, unsigned?)

@spec check(
  [point()],
  InfluxElixir.Client.Local.SQLParser.parsed_query(),
  (binary() -> boolean())
) ::
  :ok | {:error, map()}

The engine's first planning error in the query's expressions, or :ok. unsigned? says which columns are UInt64.

pattern_error(kind, type, arg3)

@spec pattern_error(atom(), binary(), term()) :: binary()

The engine's message for a pattern match over a column of type.