-
Notifications
You must be signed in to change notification settings - Fork 217
Open
Description
Expected behavior:
Parameters are correctly passed and select expression completes successfully when sqlfn is used inside a fields alias within with.
Current behavior:
Executing such an expression throws exception PSQLException No value specified for parameter 1. org.postgresql.core.v3.SimpleParameterList.checkAllParametersSet (SimpleParameterList.java:257)
Steps to reproduce
DB tables:
parent (id serial primary key, name varchar)
child (id serial primary key, parent int references parent(id), name varchar)Korma entities:
(declare parent child)
(defentity parent
(pk :id)
(has-many child {:fk :parent}))
(defentity child
(pk :id)
(belongs-to parent {:fk :parent}))Korma expression to execute:
(select child
(fields [:name :child_name])
(with parent
(fields [(sqlfn :COALESCE :name "orphan") :parent_name])))Generated SQL from this expression:
SELECT "child"."name" AS "child_name", COALESCE("parent"."name", ?) AS "parent_name" FROM "child" LEFT JOIN "parent" ON "parent"."id" = "child"."parent"Notably, this works correctly:
(select child
(fields [:name :child_name]
[(sqlfn :COALESCE :parent.name "orphan") :parent_name])
(with parent))Environment
Clojure 1.9.0
Korma 0.4.3 (org.clojure/java.jdbc 0.6.1)
PostgreSQL 10.6
Metadata
Metadata
Assignees
Labels
No labels