mirror of
https://github.com/postgres/postgres.git
synced 2025-07-21 16:02:15 +03:00
config
contrib
adminpack
amcheck
auth_delay
auto_explain
bloom
btree_gin
btree_gist
citext
cube
dblink
dict_int
dict_xsyn
earthdistance
file_fdw
fuzzystrmatch
hstore
hstore_plperl
hstore_plpython
intagg
intarray
isn
jsonb_plperl
jsonb_plpython
lo
ltree
ltree_plpython
oid2name
pageinspect
passwordcheck
pg_buffercache
pg_freespacemap
pg_prewarm
pg_standby
pg_stat_statements
pg_trgm
pg_visibility
pgcrypto
pgrowlocks
pgstattuple
postgres_fdw
seg
sepgsql
spi
sslinfo
start-scripts
tablefunc
tcn
test_decoding
expected
specs
sql
binary.sql
ddl.sql
decoding_in_xact.sql
decoding_into_rel.sql
messages.sql
permissions.sql
prepared.sql
replorigin.sql
rewrite.sql
slot.sql
spill.sql
time.sql
toast.sql
truncate.sql
xact.sql
.gitignore
Makefile
logical.conf
test_decoding.c
tsm_system_rows
tsm_system_time
unaccent
uuid-ossp
vacuumlo
xml2
Makefile
README
contrib-global.mk
doc
src
.dir-locals.el
.gitattributes
.gitignore
COPYRIGHT
GNUmakefile.in
HISTORY
Makefile
README
README.git
aclocal.m4
configure
configure.in
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.
42 lines
1.4 KiB
PL/PgSQL
42 lines
1.4 KiB
PL/PgSQL
-- predictability
|
|
SET synchronous_commit = on;
|
|
|
|
-- fail because we're creating a slot while in an xact with xid
|
|
BEGIN;
|
|
SELECT txid_current() = 0;
|
|
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
|
|
ROLLBACK;
|
|
|
|
-- fail because we're creating a slot while in a subxact whose topxact has an xid
|
|
BEGIN;
|
|
SELECT txid_current() = 0;
|
|
SAVEPOINT barf;
|
|
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
|
|
ROLLBACK TO SAVEPOINT barf;
|
|
ROLLBACK;
|
|
|
|
-- succeed, outside tx.
|
|
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
|
|
SELECT 'stop' FROM pg_drop_replication_slot('regression_slot');
|
|
|
|
-- succeed, in tx without xid.
|
|
BEGIN;
|
|
SELECT 'init' FROM pg_create_logical_replication_slot('regression_slot', 'test_decoding');
|
|
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;
|
|
-- 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');
|
|
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');
|
|
|
|
SELECT 'stop' FROM pg_drop_replication_slot('regression_slot');
|