Re: [PATCH] Logical decoding of TRUNCATE
| От | Peter Eisentraut |
|---|---|
| Тема | Re: [PATCH] Logical decoding of TRUNCATE |
| Дата | |
| Msg-id | 1baed811-47b2-5b7d-c641-4b7eb01d650f@2ndquadrant.com обсуждение исходный текст |
| Ответ на | Re: [PATCH] Logical decoding of TRUNCATE (Alvaro Herrera <alvherre@alvh.no-ip.org>) |
| Ответы |
Re: [PATCH] Logical decoding of TRUNCATE
|
| Список | pgsql-hackers |
On 4/5/18 13:07, Alvaro Herrera wrote:
> Note that you start the loop having the Relation; yet you go extra
> length to grab the relnamespace and relname from syscache instead of
> just relations[i]->rd_rel->relname etc.
fixed
> Maybe not a big deal, but for future pg_waldump users I'm sure it'll be
> nice to have the OIDs here.
done
>> +void
>> +ExecuteTruncateGuts(List *explicit_rels, List *relids, List *relids_logged,
>> + DropBehavior behavior, bool restart_seqs)
>> +{
>
> Please add a comment atop this function.
done
>> + /*
>> + * Write a WAL record to allow this set of actions to be logically decoded.
>> + *
>> + * Assemble an array of relids so we can write a single WAL record for the
>> + * whole action.
>> + */
>> + if (list_length(relids_logged) > 0)
>> + {
>> + xl_heap_truncate xlrec;
>> + int i = 0;
>
> I wonder if this should happen only if logical decoding? (Maybe it
> already occurs because relids_logged would be empty? Worth a comment in
> that case)
Added an assertion and a comment.
Committed with those changes.
--
Peter Eisentraut http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: