mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-01-06 15:24:56 +08:00
4fc72cc7bb
Use "a" and "an" correctly, mostly in comments. Two error messages were also fixed (they were just elogs, so no translation work required). Two function comments in pg_proc.h were also fixed. Etsuro Fujita reported one of these, but I found a lot more with grep. Also fix a few other typos spotted while grepping for the a/an typos. For example, "consists out of ..." -> "consists of ...". Plus a "though"/ "through" mixup reported by Euler Taveira. Many of these typos were in old code, which would be nice to backpatch to make future backpatching easier. But much of the code was new, and I didn't feel like crafting separate patches for each branch. So no backpatching.
88 lines
2.3 KiB
Plaintext
88 lines
2.3 KiB
Plaintext
-- predictability
|
|
SET synchronous_commit = on;
|
|
-- fail because we're creating a slot while in an xact with xid
|
|
BEGIN;
|
|
SELECT txid_current() = 0;
|
|
?column?
|
|
----------
|
|
f
|
|
(1 row)
|
|
|
|
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
|
|
ERROR: cannot create logical replication slot in transaction that has performed writes
|
|
ROLLBACK;
|
|
-- fail because we're creating a slot while in a subxact whose topxact has an xid
|
|
BEGIN;
|
|
SELECT txid_current() = 0;
|
|
?column?
|
|
----------
|
|
f
|
|
(1 row)
|
|
|
|
SAVEPOINT barf;
|
|
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
|
|
ERROR: cannot create logical replication slot in transaction that has performed writes
|
|
ROLLBACK TO SAVEPOINT barf;
|
|
ROLLBACK;
|
|
-- succeed, outside tx.
|
|
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
|
|
?column?
|
|
----------
|
|
init
|
|
(1 row)
|
|
|
|
SELECT 'stop' FROM pg_drop_replication_slot('regression_slot');
|
|
?column?
|
|
----------
|
|
stop
|
|
(1 row)
|
|
|
|
-- succeed, in tx without xid.
|
|
BEGIN;
|
|
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
|
|
?column?
|
|
----------
|
|
init
|
|
(1 row)
|
|
|
|
COMMIT;
|
|
CREATE TABLE nobarf(id serial primary key, data text);
|
|
INSERT INTO nobarf(data) VALUES('1');
|
|
-- decoding works in transaction with xid
|
|
BEGIN;
|
|
SELECT txid_current() = 0;
|
|
?column?
|
|
----------
|
|
f
|
|
(1 row)
|
|
|
|
-- don't show yet, haven't committed
|
|
INSERT INTO nobarf(data) VALUES('2');
|
|
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
|
|
data
|
|
-----------------------------------------------------------
|
|
BEGIN
|
|
table public.nobarf: INSERT: id[integer]:1 data[text]:'1'
|
|
COMMIT
|
|
(3 rows)
|
|
|
|
COMMIT;
|
|
INSERT INTO nobarf(data) VALUES('3');
|
|
SELECT data FROM pg_logical_slot_get_changes('regression_slot', NULL, NULL, 'include-xids', '0', 'skip-empty-xacts', '1');
|
|
data
|
|
-----------------------------------------------------------
|
|
BEGIN
|
|
table public.nobarf: INSERT: id[integer]:2 data[text]:'2'
|
|
COMMIT
|
|
BEGIN
|
|
table public.nobarf: INSERT: id[integer]:3 data[text]:'3'
|
|
COMMIT
|
|
(6 rows)
|
|
|
|
SELECT 'stop' FROM pg_drop_replication_slot('regression_slot');
|
|
?column?
|
|
----------
|
|
stop
|
|
(1 row)
|
|
|