--
-- Hot Standby tests
--
-- hs_standby_functions.sql
--
-- should fail
select txid_current();
ERROR:  cannot be executed during recovery
select length(txid_current_snapshot()::text) >= 4;
 ?column? 
----------
 t
(1 row)

select pg_start_backup('should fail');
ERROR:  recovery is in progress
HINT:  WAL control functions cannot be executed during recovery.
select pg_switch_xlog();
ERROR:  recovery is in progress
HINT:  WAL control functions cannot be executed during recovery.
select pg_stop_backup();
ERROR:  recovery is in progress
HINT:  WAL control functions cannot be executed during recovery.
-- should return no rows
select * from pg_prepared_xacts;
 transaction | gid | prepared | owner | database 
-------------+-----+----------+-------+----------
(0 rows)

-- just the startup process
select locktype, virtualxid, virtualtransaction, mode, granted
from pg_locks where virtualxid = '1/1';
  locktype  | virtualxid | virtualtransaction |     mode      | granted 
------------+------------+--------------------+---------------+---------
 virtualxid | 1/1        | 1/0                | ExclusiveLock | t
(1 row)

-- suicide is painless
select pg_cancel_backend(pg_backend_pid());
ERROR:  canceling statement due to user request
