GAUSS-00001 – GAUSS-00010
GAUSS-00001: “operator does not exist: %s”
SQLSTATE: 42883
错误原因:所指定使用的操作符不存在。
解决办法:建议错误信息中包含操作符所涉及的类型,以便在系统表中查询是否存在相关的操作符。
GAUSS-00002: “could not identify an ordering operator for type %s”
SQLSTATE: 42883
错误原因:对于需要进行sort/group操作时,需要进行排序,如果涉及类型的大于或小于操作符不存在,就会报这个错。
解决办法:此错误信息包含数据类型,使用之前可以在pg_operator系统表中查询,确保操作符存在。
GAUSS-00003: “could not identify an equality operator for type %s”
SQLSTATE: 42883
错误原因:在进行group、unique类似操作时,如果涉及等于操作,但是涉及类型的操作符不存在,就会报这个错。
解决办法:此错误信息包含数据类型,使用之前可以在pg_operator系统表中查询,确保操作符存在。
GAUSS-00004: “operator requires run-time type coercion: %s”
SQLSTATE: 42883
错误原因:使用order by using语句指定使用某个操作符,在运行中,会去校验所给类型和操作符之间是否兼容,不兼容即报错。
解决办法:确保使用时指定的操作符和类型之间是兼容的。
GAUSS-00005: “operator is not unique: %s”
SQLSTATE: 42725
错误原因:对于一些类型,没有明确的操作符,在使用中要通过类型转换来寻找合适的操作符,当相关的类型转换涉及多个时就会报错。
解决办法:对于没有操作符的类型,可以使用类型转换指定其使用某个操作符。
GAUSS-00006: “operator is only a shell: %s”
SQLSTATE: 42883
错误原因:未定义的函数。
解决办法:用户检查输入语句。
GAUSS-00007: “op ANY/ALL (array) requires array on right side”
SQLSTATE: 42809
错误原因:对于ANY/ALL (array)操作符,右参数不是数组类型。
解决办法:对于ANY/ALL (array)操作符,右参数请使用数组类型。
GAUSS-00008: “op ANY/ALL (array) requires operator to yield Boolean”
SQLSTATE: 42809
错误原因:对于ANY/ALL (array)操作符,返回值的类型不是布尔类型。
解决办法:对于ANY/ALL (array)操作符,返回值的类型请使用布尔类型。
GAUSS-00009: “op ANY/ALL (array) requires operator not to return a set”
SQLSTATE: 42809
错误原因:对于ANY/ALL (array)操作符,返回值的类型使用了不支持的集合类型。
解决办法:对于ANY/ALL (array)操作符,返回值的类型请不要使用集合类型。
GAUSS-00010: “could not find array type for data type %s”
SQLSTATE: 42704
错误原因:对于某个类型,找不到其对应的数组类型,则报错。
解决办法:如果要使用类型对应的数组类型,可查询pg_type系统表看其是否有对应的或这个兼容的数组类型。