From 336aae58431ab5f17d5ae8f57bfd6279fe42d413 Mon Sep 17 00:00:00 2001 From: Nao Yonashiro Date: Thu, 3 Aug 2023 22:42:57 +0900 Subject: [PATCH 1/2] fix(postgres): Fixed a problem with array dimensions disappearing when using "ALTER TABLE ADD COLUMN". close #2571 --- internal/sql/catalog/table.go | 1 + 1 file changed, 1 insertion(+) diff --git a/internal/sql/catalog/table.go b/internal/sql/catalog/table.go index 03516befde..5598da4df5 100644 --- a/internal/sql/catalog/table.go +++ b/internal/sql/catalog/table.go @@ -57,6 +57,7 @@ func (table *Table) addColumn(cmd *ast.AlterTableCmd) error { IsNotNull: cmd.Def.IsNotNull, IsUnsigned: cmd.Def.IsUnsigned, IsArray: cmd.Def.IsArray, + ArrayDims: cmd.Def.ArrayDims, Length: cmd.Def.Length, }) return nil From cc1543d0d6327e600e58cb00f618cdd297f90963 Mon Sep 17 00:00:00 2001 From: Nao Yonashiro Date: Thu, 3 Aug 2023 22:50:24 +0900 Subject: [PATCH 2/2] test: update endtoend --- .../postgresql/pgx/v4/go/models.go | 7 ++++--- .../postgresql/pgx/v4/schema.sql | 1 + .../postgresql/pgx/v5/go/models.go | 7 ++++--- .../postgresql/pgx/v5/schema.sql | 1 + .../postgresql/stdlib/go/models.go | 7 ++++--- .../postgresql/stdlib/schema.sql | 1 + 6 files changed, 15 insertions(+), 9 deletions(-) diff --git a/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v4/go/models.go b/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v4/go/models.go index 7184db532a..5ab15824ab 100644 --- a/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v4/go/models.go +++ b/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v4/go/models.go @@ -9,7 +9,8 @@ import ( ) type Foo struct { - Bar string - Baz sql.NullInt32 - Bio sql.NullInt32 + Bar string + Baz sql.NullInt32 + Bio sql.NullInt32 + Foobar []int32 } diff --git a/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v4/schema.sql b/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v4/schema.sql index 01c3f60d0f..a70d902d4e 100644 --- a/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v4/schema.sql +++ b/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v4/schema.sql @@ -1,3 +1,4 @@ CREATE TABLE foo (bar text NOT NULL); ALTER TABLE foo ADD COLUMN baz int; ALTER TABLE foo ADD bio int; +ALTER TABLE foo ADD COLUMN foobar int[]; diff --git a/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v5/go/models.go b/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v5/go/models.go index dee8aa7628..f8d7f6c8e6 100644 --- a/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v5/go/models.go +++ b/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v5/go/models.go @@ -9,7 +9,8 @@ import ( ) type Foo struct { - Bar string - Baz pgtype.Int4 - Bio pgtype.Int4 + Bar string + Baz pgtype.Int4 + Bio pgtype.Int4 + Foobar []int32 } diff --git a/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v5/schema.sql b/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v5/schema.sql index 01c3f60d0f..a70d902d4e 100644 --- a/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v5/schema.sql +++ b/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/pgx/v5/schema.sql @@ -1,3 +1,4 @@ CREATE TABLE foo (bar text NOT NULL); ALTER TABLE foo ADD COLUMN baz int; ALTER TABLE foo ADD bio int; +ALTER TABLE foo ADD COLUMN foobar int[]; diff --git a/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/stdlib/go/models.go b/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/stdlib/go/models.go index 7184db532a..5ab15824ab 100644 --- a/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/stdlib/go/models.go +++ b/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/stdlib/go/models.go @@ -9,7 +9,8 @@ import ( ) type Foo struct { - Bar string - Baz sql.NullInt32 - Bio sql.NullInt32 + Bar string + Baz sql.NullInt32 + Bio sql.NullInt32 + Foobar []int32 } diff --git a/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/stdlib/schema.sql b/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/stdlib/schema.sql index 01c3f60d0f..a70d902d4e 100644 --- a/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/stdlib/schema.sql +++ b/internal/endtoend/testdata/ddl_alter_table_add_column/postgresql/stdlib/schema.sql @@ -1,3 +1,4 @@ CREATE TABLE foo (bar text NOT NULL); ALTER TABLE foo ADD COLUMN baz int; ALTER TABLE foo ADD bio int; +ALTER TABLE foo ADD COLUMN foobar int[];