有没有办法查看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),并且采用 date、timestamp、timestamptz 或 month_interval 作为参数(arg_1 ).
我试图找到 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),并且采用 date、timestamp、timestamptz 或 month_interval 作为参数(arg_1 ).