如何编写有关varchar的函数等于varchar

时间:2019-05-09 14:00:59

标签: greenplum

我升级了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”“

问:   如何编写函数/运算符来避免有关堆栈的错误?

0 个答案:

没有答案