Current section
Files
Jump to
Current section
Files
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