我升级了GP4.X-> GP5.X(pg8.2-> pg8.3),并遇到了有关隐式X转换的问题
这里是the link about Implicit Text Casting !
步骤1。 我遇到了强制转换varchar <->数字。
第2步。 我添加了函数和运算符varchar <->数字。
第3步。 关于varchar <->数字的所有错误都消失了
第4步。 但是我在varchar =''上遇到错误
like:invalid input syntax for type numeric: " "
第5步。 我在varchar <-> varchar
中添加函数/运算符步骤6。 一些SQL很好,但不是全部。
功能/运算符
CREATE FUNCTION varcharvarchareq(varchar,varchar)
RETURNS boolean
AS $$
SELECT $1=$2::varchar $$
LANGUAGE SQL strict;
create operator pg_catalog.= (procedure=varcharvarchareq,LEFTARG='varchar',RIGHTARG='varchar',MERGES);`
Error-GP-Master(Client)
超出堆栈深度限制(seg0 slice1 172.31.10.168:6000 pid = 1499) 详细信息:
启动过程中的SQL函数“ varcharvarchareq”
...
Error-GP-Seg(工人实例PG)
在确保平台的堆栈深度限制足够后,增加配置参数““ max_stack_depth”“
问: 如何编写函数/运算符来避免有关堆栈的错误?