InfluxQL v0.2.0 InfluxQL.Quote View Source
InfluxQL element quoting module.
Link to this section Summary
Link to this section Functions
Link to this function
identifier(identifier) View Source
Quotes an identifier for use in a query.
Examples
iex> identifier(:from_atom)
"from_atom"
iex> identifier("unquoted")
"unquoted"
iex> identifier("unquoted_100")
"unquoted_100"
iex> identifier("_unquoted")
"_unquoted"
iex> identifier("100quotes")
"\"100quotes\""
iex> identifier("quotes for whitespace")
"\"quotes for whitespace\""
iex> identifier("dáshes-and.stüff")
"\"dáshes-and.stüff\""
## Invalid identifier types
iex> identifier(%{key: :value})
** (ArgumentError) invalid InfluxQL identifier: %{key: :value}
iex> identifier({:key, :value})
** (ArgumentError) invalid InfluxQL identifier: {:key, :value}
iex> identifier(<<1::4>>)
** (ArgumentError) invalid InfluxQL identifier: <<1::size(4)>>
InfluxQL injection prevention
iex> identifier(~S(wasnot"nice))
~S("wasnot\"nice")
Link to this function
value(value) View Source
Quotes a value for use in a query.
Examples
iex> value(100)
"100"
iex> value(:foo)
"'foo'"
iex> value(false)
"false"
iex> value(nil)
"''"
iex> value("stringy")
"'stringy'"
iex> value('charlisty')
"'charlisty'"
## Invalid value types
iex> value(%{key: :value})
** (ArgumentError) invalid InfluxQL value: %{key: :value}
iex> value({:key, :value})
** (ArgumentError) invalid InfluxQL value: {:key, :value}
iex> value(<<1::4>>)
** (ArgumentError) invalid InfluxQL value: <<1::size(4)>>
InfluxQL injection prevention
iex> value("wasn't nice")
~S('wasn\'t nice')