QuackDB.Ecto.Series (quackdb v0.5.3)

Copy Markdown View Source

Ecto source helpers for DuckDB generate_series table functions.

These helpers accept Elixir ranges and return schema-backed Ecto sources with a stable value field instead of exposing DuckDB's generate_series column name in application queries.

Summary

Functions

Builds a typed generate_series Ecto source from a date range.

Builds a typed generate_series Ecto source from date or timestamp endpoints.

Functions

series(range, options \\ [])

(macro)
@spec series(
  Date.Range.t(),
  keyword()
) :: {String.t(), QuackDB.Ecto.Series.DateValue}

Builds a typed generate_series Ecto source from a date range.

series(first, last, options)

(macro)
@spec series(Date.t() | NaiveDateTime.t(), Date.t() | NaiveDateTime.t(), keyword()) ::
  {String.t(),
   QuackDB.Ecto.Series.DateValue | QuackDB.Ecto.Series.TimestampValue}

Builds a typed generate_series Ecto source from date or timestamp endpoints.

series_source(range, options)

series_source(first, last, options)