Conversation
…tion We can't automatically add an arbitrary extension's objects into a subscription (but can try to do this for LOLOR solely). So, manual addition stands. But anyway, initial Spock sync should copy LOs to replica.
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
💤 Files with no reviewable changes (1)
📝 WalkthroughWalkthroughThe pull request removes the ChangesSchema skip list update
Poem
🚥 Pre-merge checks | ✅ 5✅ Passed checks (5 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Up to standards ✅🟢 Issues
|
| Metric | Results |
|---|---|
| Duplication | 0 |
NEW Get contextual insights on your PRs based on Codacy's metrics, along with PR and Jira context, without leaving GitHub. Enable AI reviewer
TIP This summary will be updated as you push new changes.
Summary
Spock keeps two static deny-lists,
skip_schemaandskip_extension(src/spock_node.c), that name schemas and extensions whose relations are never replicated. Any object in those lists is rejected from replication sets byEnsureRelationNotIgnored(), and is excluded from the initial subscription sync via--exclude-schema/--exclude-extensionflags passed topg_dump(build_exclude_schema_string()/build_exclude_extension_string()insrc/spock_sync.c).lolorwas wrongly listed in both arrays. That directly contradicts the purpose of the LOLOR extension: it relocates large objects out of the catalog into ordinary tables (lolor.pg_largeobject,lolor.pg_largeobject_metadata) precisely so they can be logically replicated, and the lolor docs instruct users to add those tables to their replication set. With lolor on the deny-lists, that documented step failed and large objects were silently skipped during initial sync.This change removes
"lolor"from bothskip_schemaandskip_extension.Effect
EnsureRelationNotIgnored()no longer rejectslolor.pg_largeobjectandlolor.pg_largeobject_metadatawhen they are added to a replication set, so the documentedrepset-add-tableworkflow now works.--exclude-schema=lolor/--exclude-extension=lolortopg_dump, so existing large objects are copied to the replica.Notes
We cannot automatically add an arbitrary extension's objects to a subscription, so manual addition of the two lolor tables to the replication set still stands as the supported workflow.
snowflakeandspockremain on the deny-lists; onlyloloris removed.