In the demo app, this code:
~SQL[select users.email, users.some_int, users_tokens.id from users left join users_tokens on users_tokens.user_id = users.id]
|> Enum.to_list()
|> IO.inspect()
Throws:
** (FunctionClauseError) no function clause matching in SQL.Adapters.Postgres.match/1
The following arguments were given to SQL.Adapters.Postgres.match/1:
# 1
[int8: :id, int8: :id]
Attempted function clauses (showing 10 out of 35):
defp match({:array, _type})
defp match({:record, _types})
defp match(:null)
defp match(:"\"char\"")
defp match(:numeric)
defp match(:tsvector)
defp match(:interval)
defp match(:timetz)
defp match(:txid_snapshot)
defp match(:daterange)
...
(25 clauses not shown)
(sql 0.6.0-dev) lib/adapters/postgres.ex:797: SQL.Adapters.Postgres.match/1
(sql 0.6.0-dev) lib/adapters/postgres.ex:590: SQL.Adapters.Postgres.block/3
(sql 0.6.0-dev) lib/adapters/postgres.ex:589: SQL.Adapters.Postgres.block/3
(sql 0.6.0-dev) lib/adapters/postgres.ex:432: SQL.Adapters.Postgres.stride/3
(sql 0.6.0-dev) lib/adapters/postgres.ex:412: anonymous fn/3 in SQL.Adapters.Postgres.build_decoder/1
(elixir 1.20.2) lib/enum.ex:2622: Enum."-reduce/3-lists^foldl/2-0-"/3
(sql 0.6.0-dev) lib/adapters/postgres.ex:412: SQL.Adapters.Postgres.build_decoder/1
(sql 0.6.0-dev) lib/adapters/postgres.ex:349: SQL.Adapters.Postgres.decoder/1
(sql 0.6.0-dev) lib/adapters/postgres.ex:333: SQL.Adapters.Postgres.static/8
(sql 0.6.0-dev) lib/sql.ex:256: SQL.build/4
(sql 0.6.0-dev) expanding macro: SQL.sigil_SQL/2
(my_app_web 0.1.0) lib/my_app_web/controllers/page_controller.ex:14: MyAppWeb.PageController.home/2
(elixir 1.20.2) expanding macro: Kernel.|>/2
(my_app_web 0.1.0) lib/my_app_web/controllers/page_controller.ex:15: MyAppWeb.PageController.home/2
(elixir 1.20.2) expanding macro: Kernel.|>/2
(my_app_web 0.1.0) lib/my_app_web/controllers/page_controller.ex:16: MyAppWeb.PageController.home/2
This doesn't happen if I use users_tokens.id::int
In the demo app, this code:
Throws:
This doesn't happen if I use
users_tokens.id::int