Quellcodebibliothek Statistik Leitseite products/Sources/formale Sprachen/C/Postgres/contrib/test_decoding/specs/   (Postgres Database Version 18.4©)  Datei vom 11.4.2026 mit Größe 1 kB image not shown  

Quelle  slot_creation_error.spec   Sprache: unbekannt

 
Spracherkennung für: .spec vermutete Sprache: Unknown {[0] [0] [0]} [Methode: Schwerpunktbildung, einfache Gewichte, sechs Dimensionen]

# Test that erroring out during logical slot creation is handled properly

session "s1"
setup { SET synchronous_commit=on; }

step s1_b { BEGIN; }
step s1_xid { SELECT 'xid' FROM txid_current(); }
step s1_c { COMMIT; }
step s1_cancel_s2 {
    SELECT pg_cancel_backend(pid)
    FROM pg_stat_activity
    WHERE application_name = 'isolation/slot_creation_error/s2';
}

step s1_terminate_s2 {
    SELECT pg_terminate_backend(pid)
    FROM pg_stat_activity
    WHERE application_name = 'isolation/slot_creation_error/s2';
}

step s1_view_slot {
    SELECT slot_name, slot_type, active FROM pg_replication_slots WHERE slot_name = 'slot_creation_error'
}

step s1_drop_slot {
    SELECT pg_drop_replication_slot('slot_creation_error');
}

session s2
setup { SET synchronous_commit=on; }
step s2_init {
    SELECT 'init' FROM pg_create_logical_replication_slot('slot_creation_error', 'test_decoding');
}

# The tests first start a transaction with an xid assigned in s1, then create
# a slot in s2. The slot creation waits for s1's transaction to end. Instead
# we cancel / terminate s2.
permutation s1_b s1_xid s2_init s1_view_slot s1_cancel_s2(s2_init) s1_view_slot s1_c
permutation s1_b s1_xid s2_init s1_c s1_view_slot s1_drop_slot # check slot creation still works
permutation s1_b s1_xid s2_init s1_terminate_s2(s2_init) s1_c s1_view_slot
# can't run tests after this, due to s2's connection failure

[Dauer der Verarbeitung: 0.14 Sekunden, vorverarbeitet 2026-08-08]