有没有办法查看MonetDB函数签名

Is there a way to view MonetDB Function signatures

我试图找到 MonetDB 函数签名的来源。 有些可以通过查询 sys.functions table 找到,但日期和时间函数缺少签名。 例如,如果您查看 table 中的 "month" 函数,则 table.

中列出了 4 个函数
| id   | name       | func  | mod   | lang | type | side_e | varres | vararg |>
:      :            :       :       : uage :      : ffect  :        :        :>
+======+============+=======+=======+======+======+========+========+========    +
|  901 | month      | month | mtime |    0 |    1 | false  | false  | false  |
|  910 | month      | month | mtime |    0 |    1 | false  | false  | false  |
|  916 | month      | month | mtime |    0 |    1 | false  | false  | false  |
|  922 | month      | month | mtime |    0 |    1 | false  | false  | false  |
|  930 | dayofmonth | day   | mtime |    0 |    1 | false  | false  | false  |
+------+------------+-------+-------+------+------+--------+--------+--------

我猜测 "month" 可以像这样使用: SELECT "month"(now());

我是对的 - 但我找不到 "month" 函数采用的参数列表或它们 return.

这个问题不仅是关于 "month" 我想要一个来源来找到 sys.function table.

中所有函数的函数利用率

其他 RDBMS 供应商对这些类型的功能进行了充实的解释 - 我在 MonetDB 中找不到类似的解释,我只能假设我找错了地方。我在网站上阅读了他们的文档并在他们的网站上搜索了此信息,但我找不到。

谢谢

您可以在 sys.args table 中找到 parameters/return 类型的函数。您可以将此 table 与 sys.functions table 一起加入以获得特定函数的 parameters/return 类型。

例如,要获取 month 函数的有效参数及其 return 类型,可以使用以下查询。

SELECT functions.id, functions.name,args.name,args.type 
FROM functions 
INNER JOIN args 
ON args.func_id=functions.id 
WHERE functions.name='month';


+------+-------+-------+----------------+
| id   | name  | name  | type           |
+======+=======+=======+================+
| 1157 | month | res_0 | int            |
| 1157 | month | arg_1 | date           |
| 1166 | month | res_0 | int            |
| 1166 | month | arg_1 | timestamp      |
| 1172 | month | res_0 | int            |
| 1172 | month | arg_1 | timestamptz    |
| 1178 | month | res_0 | int            |
| 1178 | month | arg_1 | month_interval |
+------+-------+-------+----------------+

我们可以看到有四个叫做month的函数。它们都是 return 一个整数 (res_0),并且采用 datetimestamptimestamptzmonth_interval 作为参数(arg_1 ).