所以最近经常发生这种情况,有一些疑问。例如:- 今天我在玩Apache AGE 1.3.0,我执行了这个查询
SELECT * from cypher('test', $$
CREATE ({name:'bobby'}),
(:Person {name:'bobby'}),
(:Bobby {name:'bobby'})
$$) as (a agtype);
unhandled cypher(cstring) function call
错误但是,不做任何更改地再次执行相同的查询可以完全正常地工作。
test=# SELECT * from cypher('test', $$
CREATE ({name:'bobby'}),
(:Person {name:'bobby'}),
(:Bobby {name:'bobby'})
$$) as (a agtype);
2023-04-23 16:51:45.674 CEST [9032] ERROR: unhandled cypher(cstring) function call
2023-04-23 16:51:45.674 CEST [9032] DETAIL: test
2023-04-23 16:51:45.674 CEST [9032] STATEMENT: SELECT * from cypher('test', $$
CREATE ({name:'bobby'}),
(:Person {name:'bobby'}),
(:Bobby {name:'bobby'})
$$) as (a agtype);
ERROR: unhandled cypher(cstring) function call
DETAIL: test
test=# SELECT * from cypher('test', $$
CREATE ({name:'bobby'}),
(:Person {name:'bobby'}),
(:Bobby {name:'bobby'})
$$) as (a agtype);
a
---
(0 rows)
我不完全确定这是否与AGE 1.3.0
有关,或者与我最近安装的调试器有关。但是,当执行查询时,进程没有附加到gdb。
这个错误是从哪里产生的呢?
3条答案
按热度按时间k3fezbri1#
AGE未正确加载时出现问题。如果您在未先加载的情况下运行查询,则服务器会自行加载扩展。查看这个github issue以获取更多信息:https://github.com/apache/age/issues/41
mepcadol2#
在查看了错误消息和您提供的查询之后,似乎在您第一次运行查询时服务器出现了问题。但是,再次执行相同的查询而不进行任何更改,可以正常工作。在初始查询执行时,服务器可能存在一些失真或问题。
3htmauhk3#
查询看起来很好,对这里发生的事情最合理的解释是数据库中的临时问题或不一致。第二次运行该命令时,问题可能已解决,或者数据库状态可能已更改,允许成功执行该命令。您可以检查您的数据库,看看它是否崩溃或不工作的第一次。