Re: logical decoding and replication of sequences, take 2
| От | Tomas Vondra |
|---|---|
| Тема | Re: logical decoding and replication of sequences, take 2 |
| Дата | |
| Msg-id | 69f983f3-a1a9-a500-bc2f-498e845d4f4c@enterprisedb.com обсуждение исходный текст |
| Ответ на | Re: logical decoding and replication of sequences, take 2 (Tomas Vondra <tomas.vondra@enterprisedb.com>) |
| Ответы |
Re: logical decoding and replication of sequences, take 2
|
| Список | pgsql-hackers |
FWIW there's two questions related to the switch to XLOG_SMGR_CREATE.
1) Does smgr_decode() need to do the same block as sequence_decode()?
/* Skip the change if already processed (per the snapshot). */
if (transactional &&
!SnapBuildProcessChange(builder, xid, buf->origptr))
return;
else if (!transactional &&
(SnapBuildCurrentState(builder) != SNAPBUILD_CONSISTENT ||
SnapBuildXactNeedsSkip(builder, buf->origptr)))
return;
I don't think it does. Also, we don't have any transactional flag here.
Or rather, everything is transactional ...
2) Currently, the sequences hash table is in reorderbuffer, i.e. global.
I was thinking maybe we should have it in the transaction (because we
need to do cleanup at the end). It seem a bit inconvenient, because then
we'd need to either search htabs in all subxacts, or transfer the
entries to the top-level xact (otoh, we already do that with snapshots),
and cleanup on abort.
What do you think?
regards
--
Tomas Vondra
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company
В списке pgsql-hackers по дате отправления: