
# GAUSS-00051 -- GAUSS-00060 错误码
GAUSS-00051: "improper %%TYPE reference (too many dotted names): %s"
SQLSTATE: 42601
错误原因：函数中定义的table_name.column_name%TYPE引用列的类型错误，".column_name"前参数太多。
解决办法：请检查函数中定义的变量类型table_name.column_name%TYPE中的表名或列名引用是否正确，并重新修改语法后再创建函数定义。
GAUSS-00052: "column '%s' of relation '%s' does not exist"
SQLSTATE: 42703
错误原因：列名或者为空，或者拼写错误，或者不是关系表中定义的列名。
解决办法：请通过\\d tablename检查当前指定的列名是否为表中指定的列名，如果不正确，请修改为合法的列名。
GAUSS-00053: "type '%s' does not exist"
SQLSTATE: 42704
错误原因：根据给定的类型名在系统表pg_type中无法找到匹配的类型。
解决办法：请检查语句中使用的类型名是否正确（可参考系统表pg_type中已定义的类型）。
GAUSS-00054: "type '%s' is only a shell"
SQLSTATE: 42704
错误原因：给定的类型名在系统表pg_type中没有定义对应的操作执行函数。
解决办法：请确认语句中使用的类型名是否正确。如果正确，请通过create type语句自定义所使用类型名对应的操作函数。
GAUSS-00055: "type modifier cannot be specified for shell type '%s'"
SQLSTATE: 42601
错误原因：自定义的类型包含了typmod。
解决办法：自定义的类型不能包含typmod。
GAUSS-00056: "type modifier is not allowed for type '%s'"
SQLSTATE: 42601
错误原因：自定义的类型包含了typmod。
解决办法：自定义的类型不能包含typmod。
GAUSS-00057: "type modifiers must be simple constants or identifiers"
SQLSTATE: 42601
错误原因：给定的类型修饰符错误。
解决办法：类型表示符必须定义为常量或标识符，请检查给定的类型修饰符语法是否正确，然后重新定义一个合法的类型修饰符。
GAUSS-00058: "collations are not supported by type %s"
SQLSTATE: 42804
错误原因：collation与类型不匹配，类型问题。
解决办法：用户检查语句中的类型，collate仅支持字符相关类型。
示例：
```
postgres=# create table t1(a int collate "C");
ERROR:  collations are not supported by type integer
LINE 1: create table t1(a int collate "C");
```
GAUSS-00059: "typeTypeId() called with NULL type struct"
SQLSTATE: XX000
错误原因：系统内部错误。
解决办法：请联系技术支持工程师提供技术支持。
GAUSS-00060: "invalid type name '%s'"
SQLSTATE: 42601
错误原因：给定的类型名无效。
解决办法：请检查语句中使用的类型名是否正确（可参考系统表pg_type中已定义的类型）。
