QuackDB.Ecto (quackdb v0.3.0)

Copy Markdown View Source

Convenience imports for Ecto-based QuackDB query modules.

Use this in modules that build DuckDB analytical, spatial, or full-text search Ecto queries and want the standard Ecto query DSL together with QuackDB's Ecto helper macros:

defmodule MyApp.Analytics do
  use QuackDB.Ecto

  def category_scores do
    from event in "events",
      group_by: event.category,
      select: %{
        category: event.category,
        median_score: median(event.score),
        fts_score: search_score("fts_main_events", event.id, ^"duckdb")
      }
  end
end

The macro imports:

Imports can be disabled individually:

use QuackDB.Ecto, spatial: false
use QuackDB.Ecto, full_text_search: false
use QuackDB.Ecto, analytics: false
use QuackDB.Ecto, query: false