Packages

Snowflake driver written in pure Elixir, using db_connection

Current section

Files

Jump to
snowflake_elixir lib snowflake_elixir snowflake_query.ex
Raw

lib/snowflake_elixir/snowflake_query.ex

defmodule SnowflakeEx.Query do
defstruct [
:ref,
:name,
:statement,
:param_oids,
:param_formats,
:param_types,
:columns,
:result_oids,
:result_formats,
:result_types,
:types,
cache: :reference
]
defimpl DBConnection.Query do
def parse(query, _opts), do: query
def describe(query, _opts), do: query
def encode(_query, params, _opts), do: params
def decode(_query, [], _opts), do: []
def decode(_query, result, _opts), do: result
end
defimpl String.Chars do
alias SnowflakeEx.Query
def to_string(%{statement: sttm}) do
case sttm do
sttm when is_binary(sttm) -> IO.iodata_to_binary(sttm)
sttm when is_list(sttm) -> IO.iodata_to_binary(sttm)
%{statement: %Query{} = q} -> String.Chars.to_string(q)
end
end
end
end