@Override
    public BasicTypeDefine reconvert(Column column) {
        try {
            return super.reconvert(column);
        } catch (SeaTunnelRuntimeException e) {
            throw CommonError.convertToConnectorTypeError(
                    DatabaseIdentifier.KINGBASE,
                    column.getDataType().getSqlType().name(),
                    column.getName());
        }
    }
@Test
    public void testReconvertArray() {
        Column column =
                PhysicalColumn.builder()
                        .name("test")
                        .dataType(ArrayType.BOOLEAN_ARRAY_TYPE)
                        .build();

        BasicTypeDefine typeDefine = KingbaseTypeConverter.INSTANCE.reconvert(column);
        Assertions.assertEquals(column.getName(), typeDefine.getName());
        Assertions.assertEquals(KingbaseTypeConverter.PG_BOOLEAN_ARRAY, typeDefine.getColumnType());
        Assertions.assertEquals(KingbaseTypeConverter.PG_BOOLEAN_ARRAY, typeDefine.getDataType());

        column = PhysicalColumn.builder().name("test").dataType(ArrayType.BYTE_ARRAY_TYPE).build();
        typeDefine = KingbaseTypeConverter.INSTANCE.reconvert(column);
        Assertions.assertEquals(column.getName(), typeDefine.getName());
        Assertions.assertEquals(
                KingbaseTypeConverter.PG_SMALLINT_ARRAY, typeDefine.getColumnType());
        Assertions.assertEquals(KingbaseTypeConverter.PG_SMALLINT_ARRAY, typeDefine.getDataType());

        column = PhysicalColumn.builder().name("test").dataType(ArrayType.SHORT_ARRAY_TYPE).build();
        typeDefine = KingbaseTypeConverter.INSTANCE.reconvert(column);
        Assertions.assertEquals(column.getName(), typeDefine.getName());
        Assertions.assertEquals(
                KingbaseTypeConverter.PG_SMALLINT_ARRAY, typeDefine.getColumnType());
        Assertions.assertEquals(KingbaseTypeConverter.PG_SMALLINT_ARRAY, typeDefine.getDataType());

        column = PhysicalColumn.builder().name("test").dataType(ArrayType.INT_ARRAY_TYPE).build();
        typeDefine = KingbaseTypeConverter.INSTANCE.reconvert(column);
        Assertions.assertEquals(column.getName(), typeDefine.getName());
        Assertions.assertEquals(KingbaseTypeConverter.PG_INTEGER_ARRAY, typeDefine.getColumnType());
        Assertions.assertEquals(KingbaseTypeConverter.PG_INTEGER_ARRAY, typeDefine.getDataType());

        column = PhysicalColumn.builder().name("test").dataType(ArrayType.LONG_ARRAY_TYPE).build();
        typeDefine = KingbaseTypeConverter.INSTANCE.reconvert(column);
        Assertions.assertEquals(column.getName(), typeDefine.getName());
        Assertions.assertEquals(KingbaseTypeConverter.PG_BIGINT_ARRAY, typeDefine.getColumnType());
        Assertions.assertEquals(KingbaseTypeConverter.PG_BIGINT_ARRAY, typeDefine.getDataType());

        column = PhysicalColumn.builder().name("test").dataType(ArrayType.FLOAT_ARRAY_TYPE).build();
        typeDefine = KingbaseTypeConverter.INSTANCE.reconvert(column);
        Assertions.assertEquals(column.getName(), typeDefine.getName());
        Assertions.assertEquals(KingbaseTypeConverter.PG_REAL_ARRAY, typeDefine.getColumnType());
        Assertions.assertEquals(KingbaseTypeConverter.PG_REAL_ARRAY, typeDefine.getDataType());

        column =
                PhysicalColumn.builder().name("test").dataType(ArrayType.DOUBLE_ARRAY_TYPE).build();
        typeDefine = KingbaseTypeConverter.INSTANCE.reconvert(column);
        Assertions.assertEquals(column.getName(), typeDefine.getName());
        Assertions.assertEquals(
                KingbaseTypeConverter.PG_DOUBLE_PRECISION_ARRAY, typeDefine.getColumnType());
        Assertions.assertEquals(
                KingbaseTypeConverter.PG_DOUBLE_PRECISION_ARRAY, typeDefine.getDataType());

        column =
                PhysicalColumn.builder().name("test").dataType(ArrayType.STRING_ARRAY_TYPE).build();
        typeDefine = KingbaseTypeConverter.INSTANCE.reconvert(column);
        Assertions.assertEquals(column.getName(), typeDefine.getName());
        Assertions.assertEquals(KingbaseTypeConverter.PG_TEXT_ARRAY, typeDefine.getColumnType());
        Assertions.assertEquals(KingbaseTypeConverter.PG_TEXT_ARRAY, typeDefine.getDataType());

        column = PhysicalColumn.builder().name("test").dataType(ArrayType.BYTE_ARRAY_TYPE).build();
        typeDefine = KingbaseTypeConverter.INSTANCE.reconvert(column);
        Assertions.assertEquals(column.getName(), typeDefine.getName());
        Assertions.assertEquals(
                KingbaseTypeConverter.PG_SMALLINT_ARRAY, typeDefine.getColumnType());
        Assertions.assertEquals(KingbaseTypeConverter.PG_SMALLINT_ARRAY, typeDefine.getDataType());
    }