arrdom2v1-checkattr.patch
text/plain
Filename: arrdom2v1-checkattr.patch
Type: text/plain
Part: 1
Patch
Same data as JSON:
GET /api/v1/attachments/:id/patch
the parsed metadata as JSON — format, series position, per-file stats; never the diff bytes.
API reference →
Format: unified
| File | + | − |
|---|---|---|
| src/backend/catalog/heap.c | 0 | 0 |
diff --git a/src/backend/catalog/heap.c b/src/backend/catalog/heap.c
index 71c9931..41fd13e 100644
*** a/src/backend/catalog/heap.c
--- b/src/backend/catalog/heap.c
***************
*** 530,536 **** CheckAttributeType(const char *attname,
containing_rowtypes = list_delete_first(containing_rowtypes);
}
! else if (OidIsValid((att_typelem = get_element_type(atttypid))))
{
/*
* Must recurse into array types, too, in case they are composite.
--- 530,536 ----
containing_rowtypes = list_delete_first(containing_rowtypes);
}
! else if (OidIsValid((att_typelem = get_base_element_type(atttypid))))
{
/*
* Must recurse into array types, too, in case they are composite.
diff --git a/src/test/regress/expindex 26e7bfd..f84da45 100644
*** a/src/test/regress/expected/alter_table.out
--- b/src/test/regress/expected/alter_table.out
***************
*** 1516,1521 **** alter table recur1 add column f2 recur1; -- fails
--- 1516,1524 ----
ERROR: composite type recur1 cannot be made a member of itself
alter table recur1 add column f2 recur1[]; -- fails
ERROR: composite type recur1 cannot be made a member of itself
+ create domain array_of_recur1 as recur1[];
+ alter table recur1 add column f2 array_of_recur1; -- fails
+ ERROR: composite type recur1 cannot be made a member of itself
create temp table recur2 (f1 int, f2 recur1);
alter table recur1 add column f2 recur2; -- fails
ERROR: composite type recur1 cannot be made a member of itself
diff --git a/src/test/regress/sql/alter_table.sqindex 0ed16fb..b5d76ea 100644
*** a/src/test/regress/sql/alter_table.sql
--- b/src/test/regress/sql/alter_table.sql
***************
*** 1128,1133 **** alter table tab1 alter column b type varchar; -- fails
--- 1128,1135 ----
create temp table recur1 (f1 int);
alter table recur1 add column f2 recur1; -- fails
alter table recur1 add column f2 recur1[]; -- fails
+ create domain array_of_recur1 as recur1[];
+ alter table recur1 add column f2 array_of_recur1; -- fails
create temp table recur2 (f1 int, f2 recur1);
alter table recur1 add column f2 recur2; -- fails
alter table recur1 add column f2 int;