mirror of
https://git.postgresql.org/git/postgresql.git
synced 2024-10-04 04:46:52 +02:00
106 lines
1.4 KiB
MySQL
106 lines
1.4 KiB
MySQL
|
--
|
||
|
-- Hot Standby tests
|
||
|
--
|
||
|
-- hs_standby_disallowed.sql
|
||
|
--
|
||
|
|
||
|
SET transaction_read_only = off;
|
||
|
|
||
|
begin transaction read write;
|
||
|
commit;
|
||
|
|
||
|
-- SELECT
|
||
|
|
||
|
select * from hs1 FOR SHARE;
|
||
|
select * from hs1 FOR UPDATE;
|
||
|
|
||
|
-- DML
|
||
|
BEGIN;
|
||
|
insert into hs1 values (37);
|
||
|
ROLLBACK;
|
||
|
BEGIN;
|
||
|
delete from hs1 where col1 = 1;
|
||
|
ROLLBACK;
|
||
|
BEGIN;
|
||
|
update hs1 set col1 = NULL where col1 > 0;
|
||
|
ROLLBACK;
|
||
|
BEGIN;
|
||
|
truncate hs3;
|
||
|
ROLLBACK;
|
||
|
|
||
|
-- DDL
|
||
|
|
||
|
create temporary table hstemp1 (col1 integer);
|
||
|
BEGIN;
|
||
|
drop table hs2;
|
||
|
ROLLBACK;
|
||
|
BEGIN;
|
||
|
create table hs4 (col1 integer);
|
||
|
ROLLBACK;
|
||
|
|
||
|
-- Sequences
|
||
|
|
||
|
SELECT nextval('hsseq');
|
||
|
|
||
|
-- Two-phase commit transaction stuff
|
||
|
|
||
|
BEGIN;
|
||
|
SELECT count(*) FROM hs1;
|
||
|
PREPARE TRANSACTION 'foobar';
|
||
|
ROLLBACK;
|
||
|
BEGIN;
|
||
|
SELECT count(*) FROM hs1;
|
||
|
COMMIT PREPARED 'foobar';
|
||
|
ROLLBACK;
|
||
|
|
||
|
BEGIN;
|
||
|
SELECT count(*) FROM hs1;
|
||
|
PREPARE TRANSACTION 'foobar';
|
||
|
ROLLBACK PREPARED 'foobar';
|
||
|
ROLLBACK;
|
||
|
|
||
|
BEGIN;
|
||
|
SELECT count(*) FROM hs1;
|
||
|
ROLLBACK PREPARED 'foobar';
|
||
|
ROLLBACK;
|
||
|
|
||
|
|
||
|
-- Locks
|
||
|
BEGIN;
|
||
|
LOCK hs1;
|
||
|
COMMIT;
|
||
|
BEGIN;
|
||
|
LOCK hs1 IN SHARE UPDATE EXCLUSIVE MODE;
|
||
|
COMMIT;
|
||
|
BEGIN;
|
||
|
LOCK hs1 IN SHARE MODE;
|
||
|
COMMIT;
|
||
|
BEGIN;
|
||
|
LOCK hs1 IN SHARE ROW EXCLUSIVE MODE;
|
||
|
COMMIT;
|
||
|
BEGIN;
|
||
|
LOCK hs1 IN EXCLUSIVE MODE;
|
||
|
COMMIT;
|
||
|
BEGIN;
|
||
|
LOCK hs1 IN ACCESS EXCLUSIVE MODE;
|
||
|
COMMIT;
|
||
|
|
||
|
-- Listen
|
||
|
listen a;
|
||
|
notify a;
|
||
|
unlisten a;
|
||
|
unlisten *;
|
||
|
|
||
|
-- disallowed commands
|
||
|
|
||
|
ANALYZE hs1;
|
||
|
|
||
|
VACUUM hs2;
|
||
|
|
||
|
CLUSTER hs2 using hs1_pkey;
|
||
|
|
||
|
REINDEX TABLE hs2;
|
||
|
|
||
|
REVOKE SELECT ON hs1 FROM PUBLIC;
|
||
|
GRANT SELECT ON hs1 TO PUBLIC;
|