GAUSS-01441 – GAUSS-01450

GAUSS-01441: “btree comparison procedures must have two arguments”

SQLSTATE: 42P17

错误原因:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD FUNCTION,access_method是btree且指定的函数是btree比较函数,但是参数个数不是2个。

解决办法:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD FUNCTION,指定的函数是btree比较函数,则参数个数必须是2个。

GAUSS-01442: “btree comparison procedures must return integer”

SQLSTATE: 42P17

错误原因:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD FUNCTION,access_method是btree且指定的函数是btree比较函数,但是返回值类型不是int。

解决办法:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD FUNCTION,指定的函数是btree比较函数,则返回值类型必须是int。

GAUSS-01443: “btree sort support procedures must accept type ‘internal’”

SQLSTATE: 42P17

错误原因:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD FUNCTION,access_method是btree且指定的函数是btree sort support函数,但是参数类型不是internal。

解决办法:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD FUNCTION,指定的函数是btree sort support函数,则参数类型必须是internal。

GAUSS-01444: “btree sort support procedures must return void”

SQLSTATE: 42P17

错误原因:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD FUNCTION,access_method是btree且指定的函数是btree sort support函数,但是返回值类型不是void。

解决办法:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD FUNCTION,指定的函数是btree sort support函数,则返回值类型必须是void。

GAUSS-01446: “hash procedures must return integer”

SQLSTATE: 42P17

错误原因:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD FUNCTION,access_method是hash,但是返回值类型不是int。

解决办法:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD FUNCTION,access_method是hash,则返回值类型必须是int。

GAUSS-01447: “associated data types must be specified for index support procedure”

SQLSTATE: 42P17

错误原因:CREATE OPERATOR CLASS没有指定合法的FOR TYPE data_type,ALTER OPERATOR FAMILY … ADD OPERATOR没有指定左或右参数类型。

解决办法:CREATE OPERATOR CLASS必须指定合法的FOR TYPE data_type,ALTER OPERATOR FAMILY … ADD OPERATOR须得指定左参数类型或者右参数类型。

GAUSS-01448: “procedure number %d for (%s,%s) appears more than once”

SQLSTATE: 42P17

错误原因:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD/DROP procedure,相同的函数出现了多次。

解决办法:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD/DROP procedure,确保一个SQL语句中不要出现重复函数。

GAUSS-01449: “operator number %d for (%s,%s) appears more than once”

SQLSTATE: 42P17

错误原因:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD/DROP operator,相同的操作符出现了多次。

解决办法:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD/DROP operator,确保一个SQL语句中不要出现重复的操作符。

GAUSS-01450: “operator %d(%s,%s) already exists in operator family ‘%s’”

SQLSTATE: 42710

错误原因:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD/DROP operator,已经存在了相同的operator。

解决办法:CREATE OPERATOR CLASS、ALTER OPERATOR FAMILY … ADD/DROP operator之前,确保添加的operator在指定的operator family中尚未存在。