
# GAUSS-01121 -- GAUSS-01130 错误码
GAUSS-01121: "cannot swap toast files by content when there's only one"
SQLSTATE: XX000
错误原因：在扩容充分过程中，通过gs_switch_relfilenode函数交换两张表的物理文件时，待交换两张表中其中有一张表的toast表为空，不能交换两张表的物理文件。
解决办法：删除当前表，通过create table语法重新创建表，重建当前表的物理文件。
GAUSS-01122: "cannot swap toast files by links for system catalogs"
SQLSTATE: XX000
错误原因：在扩容充分过程中，通过gs_switch_relfilenode函数交换两张表的物理文件时，不允许交换系统表的toast物理文件。
解决办法：在扩容充分过程中，通过gs_switch_relfilenode函数不允许交换系统表的物理文件，非法的操作。请确认函数的参数中是否包含有系统表的表名。
GAUSS-01123: "expected one dependency record for TOAST table, found %ld"
SQLSTATE: XX000
错误原因：在扩容充分过程中，通过gs_switch_relfilenode函数交换两张表的物理文件时，由于toast表依赖的对象数大于1个，导致交换物理文件失败。
解决办法：确认toast表在pg_depend表中依赖的对象数大于1个，如果大于1个请先删除对象的依赖后再调用该函数交换物理文件。
GAUSS-01124: "expected none dependency record for partition's TOAST table, found %ld"
SQLSTATE: XX000
错误原因：重建分区表对分区文件进行交换操作处理时，如果待交换的表包含有toast表需要做toast表的文件交换。其中toast表有依赖对象，导致交换分区文件失败。
解决办法：对需要重建的分区表通过create table partition重新创建分区表。
GAUSS-01125: "expected one dependency record for CUDesc/Delta table, found %ld"
SQLSTATE: XX000
错误原因：在扩容充分过程中，通过gs_switch_relfilenode函数交换两张列存表的物理文件时，由于列存表依赖的对象数大于1个，导致交换物理文件失败。
解决办法：确认列存表在pg_depend表中依赖的对象数大于1个，如果大于1个请先删除对象的依赖后再调用该函数交换物理文件。
GAUSS-01126: "expected none dependency record for partition's CUDesc/Delta table, found %ld"
SQLSTATE: XX000
错误原因：重建分区表对分区文件进行交换操作处理时，如果待交换的列存分区表需要做文件交换。其中分区列存表有依赖对象，导致交换分区文件失败。
解决办法：对需要重建的分区表通过create table partition重新创建分区表。
GAUSS-01127: "invalid statement name: must not be empty"
SQLSTATE: 42P14
错误原因：非法的语句名：语句名不能为空。
解决办法：给出明确的语句名。
GAUSS-01128: "could not determine data type of parameter $%d"
SQLSTATE: 42P18
错误原因：参数类型无法确定。
解决办法：修改参数值为系统可识别的类型，系统可识别类型《SQL语法参考》的"数据类型"章节。
GAUSS-01129: "utility statements cannot be prepared"
SQLSTATE: 42P14
错误原因：DDL命令不能使用prepare。
解决办法：DDL语句无需prepare，直接执行即可。
GAUSS-01130: "EXECUTE does not support variable-result cached plans"
SQLSTATE: XX000
错误原因：系统内部错误。
解决办法：请联系技术支持工程师提供技术支持。
