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系统表看其是否有对应的或这个兼容的数组类型。