找不到 HugSQL 定义的函数
HugSQL defined function not found
这可能会很薄,但我 运行 别无选择...
我正在使用 clojure 和 hugsql,我是数据库技术的真正初学者。我正在尝试调用同事在数据库中定义的用户定义函数。
所以,我的问题是:在 dbeaver 等数据库软件中进行查询,我得到的结果没有任何问题,但是 运行 来自 hugsql 我收到一个错误,声称它没有识别功能。
我的 .sql 文件类似于
-- :name a-fake-name :? :1
-- :doc some fake documentation
select * from a_fake_user_defined_function(:arg1, :arg2, :arg3, :arg4, 1);
我是这样阅读查询的
(ns sql.commands
(:require [hugsql.core :as hugsql]))
(hugsql/def-db-fns "sql/file.sql")
我从 clojure 运行了命令:
(def db
{:classname "org.postgresql.Driver"
:subprotocol "postgresql"
:subname subname
:user user
:password password})
(sql/a-fake-name db {:arg1 "first-argument" :arg2 "second-one" :arg3 "third" :arg4 "and-forth"})
我得到的错误是
ERROR: function a_fake_user_defined_function(character varying,
character varying, character varying, character varying, integer)
does not exist Hint: No function matches the given name and
argument types. You might need to add explicit type casts.
Position: 15
根据我假设的错误,我缺少一些符号或配置...有人知道我能做什么吗?
我试图查看 hugsql documentation 但没有成功。
谢谢!
PS.: 我很清楚在 Whosebug 上提供可重现的错误是一种很好的做法,但这是我的工作,我对如何重现数据库一无所知。希望这就足够了...
正如@cfrick 所暗示的,问题出在 hugsql 文件中的参数定义上。 github issue.
中的一位贡献者也提供了答案
问题是它找不到具有该名称和那些类型参数的函数。然后解决方案是用双冒号输入每个参数 (https://www.hugsql.org/#colon).
这可能会很薄,但我 运行 别无选择...
我正在使用 clojure 和 hugsql,我是数据库技术的真正初学者。我正在尝试调用同事在数据库中定义的用户定义函数。
所以,我的问题是:在 dbeaver 等数据库软件中进行查询,我得到的结果没有任何问题,但是 运行 来自 hugsql 我收到一个错误,声称它没有识别功能。
我的 .sql 文件类似于
-- :name a-fake-name :? :1
-- :doc some fake documentation
select * from a_fake_user_defined_function(:arg1, :arg2, :arg3, :arg4, 1);
我是这样阅读查询的
(ns sql.commands
(:require [hugsql.core :as hugsql]))
(hugsql/def-db-fns "sql/file.sql")
我从 clojure 运行了命令:
(def db
{:classname "org.postgresql.Driver"
:subprotocol "postgresql"
:subname subname
:user user
:password password})
(sql/a-fake-name db {:arg1 "first-argument" :arg2 "second-one" :arg3 "third" :arg4 "and-forth"})
我得到的错误是
ERROR: function a_fake_user_defined_function(character varying,
character varying, character varying, character varying, integer)
does not exist Hint: No function matches the given name and
argument types. You might need to add explicit type casts.
Position: 15
根据我假设的错误,我缺少一些符号或配置...有人知道我能做什么吗?
我试图查看 hugsql documentation 但没有成功。
谢谢!
PS.: 我很清楚在 Whosebug 上提供可重现的错误是一种很好的做法,但这是我的工作,我对如何重现数据库一无所知。希望这就足够了...
正如@cfrick 所暗示的,问题出在 hugsql 文件中的参数定义上。 github issue.
中的一位贡献者也提供了答案问题是它找不到具有该名称和那些类型参数的函数。然后解决方案是用双冒号输入每个参数 (https://www.hugsql.org/#colon).