-
Notifications
You must be signed in to change notification settings - Fork 43
Make installcheck step 1 #293
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
90c25cc to
f479e09
Compare
Add spock.enable_quiet_mode GUC parameter to reduce message verbosity for cleaner output. When enabled, this parameter: 1. Downgrades DDL replication messages from INFO/WARNING to LOG level - "DDL statement replicated" (INFO → LOG) - "DDL statement replicated, but could be unsafe" (WARNING → LOG) - "This DDL statement will not be replicated" (WARNING → LOG) 2. Suppresses dependent object reporting in DROP CASCADE operations to reduce NOTICE message clutter The parameter defaults to false (disabled) for normal verbose output. Enable it by setting: spock.enable_quiet_mode = true This is useful for regression tests and production environments where less verbose output is desired. All diagnostic messages are preserved in the server log.
f479e09 to
d593658
Compare
| SFUNC = spock.md5_agg_sfunc, | ||
| INITCOND = '' | ||
| ); | ||
|
|
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Was this removed because it is not used? If so, I am reluctant to remove it without checking with others to get the history once they are back from vacation. Please move it to a separate PR so it does not slow this one down.
Other than that, I am ready to approve.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Done.
It seems obvious after excavations that it was an attempt to play with subscriptions/node naming, which is no longer actual.
These two changes to the Spock initial script are intended to make ‘make installcheck’ clearer by avoiding false-positive errors. Adding parallel safety clause to these functions we state we actual behaviour.
1. Bug. In the spock_repset.c module functions replication_set_add_table and replication_set_add_seq should check locking on the table before calling another lock-acquiring routine. It prevents unnecessary calls and reduces the lock level. 2. Improvement. In the spock_queue.c module function queue_message insert a tuple into the spock.queue table. The pattern of this table usage is quite trivial and doesn’t include any concurrent updates. So, we may release the table lock before commit without harm, and let ‘make installcheck’ be more conventional. author: Andrei Lepikhov co-author: Claude
PostgreSQL Core Patch Enhancement (pgXX-015-attoptions.diff): Added IsCatalogRelation() check in GetAttrDelta() function to prevent delta_apply attribute options from being applied to catalog relations. Rationale: - Catalog relations are never replicated via Logical Replication - No use case exists for delta_apply on system catalogs - Applying delta_apply to catalog tables would be meaningless - Early exit improves performance by avoiding unnecessary attribute scans Implementation: - Check added at the beginning of GetAttrDelta() - Returns NULL immediately if relation is a catalog - Includes clear comment explaining the rationale - No functional change for user tables Benefits: - Prevents accidental misconfiguration - Minor performance improvement for catalog operations - Clearer code intent through explicit check - Matches logical replication semantics Note: This patch is applied to PostgreSQL core during build to enable attribute-level options for delta_apply functionality.
In case of IF EXISTS / NOT EXISTS clause Postgres core utility call produces an INFO message and lets utility hooks do their job as usual. In the Spock case, we need to do the same and carefully process the clause so it doesn't produce an ERROR that breaks the convention.
d593658 to
b8c623f
Compare
This series of commits makes 'make installcheck' visually clear.