Re: behaviour change - default_tablesapce + partition table

Поиск
Список
Период
Сортировка
От Rushabh Lathia
Тема Re: behaviour change - default_tablesapce + partition table
Дата
Msg-id CAGPqQf0miU8h=JNUB_7ccu0THDj_eZZgymVTQ=1Om-3D6O9kjA@mail.gmail.com
обсуждение исходный текст
Ответ на Re: behaviour change - default_tablesapce + partition table  (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>)
Ответы Re: behaviour change - default_tablesapce + partition table  (Amit Langote <Langote_Amit_f8@lab.ntt.co.jp>)
Список pgsql-hackers


On Fri, May 17, 2019 at 10:30 AM Amit Langote <Langote_Amit_f8@lab.ntt.co.jp> wrote:
Agree that this behavior change seems unintentional.

On 2019/05/17 12:40, Rushabh Lathia wrote:
> Looking at the commit changes, it seems like at condition when no other
> tablespace is specified, we default the tablespace to the parent partitioned
> table's.
>
>     else if (stmt->partbound)
>     {
>         /*
>          * For partitions, when no other tablespace is specified, we default
>          * the tablespace to the parent partitioned table's.
>          */
>         Assert(list_length(inheritOids) == 1);
>         tablespaceId = get_rel_tablespace(linitial_oid(inheritOids));
>     }
>
> But here it doesn't consider the default_tablespace if the parent
> partitioned
> tablespace is an InvalidOid (which was the care before this commit).
>
> PFA patch to fix the same.

+
+               if (!OidIsValid(tablespaceId))
+                       tablespaceId = GetDefaultTablespace(stmt->relation->relpersistence,
partitioned);
        }
        else
                tablespaceId = GetDefaultTablespace(stmt->relation->relpersistence,

Why not change it like this instead:

@@ -681,7 +681,8 @@ DefineRelation(CreateStmt *stmt, char relkind, Oid
ownerId,
         Assert(list_length(inheritOids) == 1);
         tablespaceId = get_rel_tablespace(linitial_oid(inheritOids));
     }
-    else
+
+    if (!OidIsValid(tablespaceId))
         tablespaceId = GetDefaultTablespace(stmt->relation->relpersistence,
                                             partitioned);


Yes, sure we can do that. Here is the patch for the same.


--
Rushabh Lathia
Вложения

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Thomas Munro
Дата:
Сообщение: Re: Do we expect tests to work with default_transaction_isolation=serializable
Следующее
От: Amit Langote
Дата:
Сообщение: Re: behaviour change - default_tablesapce + partition table