Re: ALTER TABLE SET ACCESS METHOD on partitioned tables

Поиск
Список
Период
Сортировка
От Zhihong Yu
Тема Re: ALTER TABLE SET ACCESS METHOD on partitioned tables
Дата
Msg-id CALNJ-vRmfE2qTWS8wzm9B0_pVN1WiN=T1KKsakBLsCcw5-9cXw@mail.gmail.com
обсуждение исходный текст
Ответ на ALTER TABLE SET ACCESS METHOD on partitioned tables  (Soumyadeep Chakraborty <soumyadeep2007@gmail.com>)
Список pgsql-hackers
Hi,

+       tup = SearchSysCache1(RELOID, ObjectIdGetDatum(relid));
+       accessMethodId = ((Form_pg_class) GETSTRUCT(tup))->relam;

-   /* look up the access method, verify it is for a table */
-   if (accessMethod != NULL)
-       accessMethodId = get_table_am_oid(accessMethod, false);
+       if (!HeapTupleIsValid(tup))
+           elog(ERROR, "cache lookup failed for relation %u", relid);

Shouldn't the validity of tup be checked before relam field is accessed ?

Cheers

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

Предыдущее
От: David Rowley
Дата:
Сообщение: Re: Avoid unecessary MemSet call (src/backend/utils/cache/relcache.c)
Следующее
От: Justin Pryzby
Дата:
Сообщение: Re: ALTER TABLE SET ACCESS METHOD on partitioned tables