@ -8,7 +8,7 @@ SELECT 'init' FROM pg_create_physical_replication_slot('regress_pg_walinspect_sl
CREATE TABLE sample_tbl ( col1 int , col2 int ) ;
-- Save some LSNs for comparisons
-- Save some LSNs for comparisons.
SELECT pg_current_wal_lsn ( ) AS wal_lsn1 \ gset
INSERT INTO sample_tbl SELECT * FROM generate_series ( 1 , 2 ) ;
SELECT pg_current_wal_lsn ( ) AS wal_lsn2 \ gset
@ -32,24 +32,24 @@ SELECT * FROM pg_get_wal_stats(:'wal_lsn2', :'wal_lsn1');
SELECT * FROM pg_get_wal_block_info ( : ' wal_lsn2 ' , : ' wal_lsn1 ' ) ;
-- LSNs with the highest value possible.
SELECT COUNT ( * ) > = 0 AS ok FROM pg_get_wal_record_info ( ' FFFFFFFF/FFFFFFFF ' ) ;
SELECT * FROM pg_get_wal_record_info ( ' FFFFFFFF/FFFFFFFF ' ) ;
-- Success with end LSNs.
SELECT COUNT ( * ) > = 0 AS ok FROM pg_get_wal_records_info ( : ' wal_lsn1 ' , ' FFFFFFFF/FFFFFFFF ' ) ;
SELECT COUNT ( * ) > = 0 AS ok FROM pg_get_wal_stats ( : ' wal_lsn1 ' , ' FFFFFFFF/FFFFFFFF ' ) ;
SELECT COUNT ( * ) > = 0 AS ok FROM pg_get_wal_block_info ( : ' wal_lsn1 ' , ' FFFFFFFF/FFFFFFFF ' ) ;
-- failures with start LSNs
SELECT COUNT ( * ) > = 0 AS ok FROM pg_get_wal_records_info ( ' FFFFFFFF/FFFFFFFE ' , ' FFFFFFFF/FFFFFFFF ' ) ;
SELECT COUNT ( * ) > = 0 AS ok FROM pg_get_wal_stats ( ' FFFFFFFF/FFFFFFFE ' , ' FFFFFFFF/FFFFFFFF ' ) ;
SELECT COUNT ( * ) > = 0 AS ok FROM pg_get_wal_block_info ( ' FFFFFFFF/FFFFFFFE ' , ' FFFFFFFF/FFFFFFFF ' ) ;
SELECT COUNT ( * ) > = 1 AS ok FROM pg_get_wal_records_info ( : ' wal_lsn1 ' , ' FFFFFFFF/FFFFFFFF ' ) ;
SELECT COUNT ( * ) > = 1 AS ok FROM pg_get_wal_stats ( : ' wal_lsn1 ' , ' FFFFFFFF/FFFFFFFF ' ) ;
SELECT COUNT ( * ) > = 1 AS ok FROM pg_get_wal_block_info ( : ' wal_lsn1 ' , ' FFFFFFFF/FFFFFFFF ' ) ;
-- Failures with start LSNs.
SELECT * FROM pg_get_wal_records_info ( ' FFFFFFFF/FFFFFFFE ' , ' FFFFFFFF/FFFFFFFF ' ) ;
SELECT * FROM pg_get_wal_stats ( ' FFFFFFFF/FFFFFFFE ' , ' FFFFFFFF/FFFFFFFF ' ) ;
SELECT * FROM pg_get_wal_block_info ( ' FFFFFFFF/FFFFFFFE ' , ' FFFFFFFF/FFFFFFFF ' ) ;
-- ===================================================================
-- Tests for all function executions
-- ===================================================================
SELECT COUNT ( * ) > = 0 AS ok FROM pg_get_wal_record_info ( : ' wal_lsn1 ' ) ;
SELECT COUNT ( * ) > = 0 AS ok FROM pg_get_wal_records_info ( : ' wal_lsn1 ' , : ' wal_lsn2 ' ) ;
SELECT COUNT ( * ) > = 0 AS ok FROM pg_get_wal_stats ( : ' wal_lsn1 ' , : ' wal_lsn2 ' ) ;
SELECT COUNT ( * ) > = 0 AS ok FROM pg_get_wal_block_info ( : ' wal_lsn1 ' , : ' wal_lsn2 ' ) ;
SELECT COUNT ( * ) > = 1 AS ok FROM pg_get_wal_record_info ( : ' wal_lsn1 ' ) ;
SELECT COUNT ( * ) > = 1 AS ok FROM pg_get_wal_records_info ( : ' wal_lsn1 ' , : ' wal_lsn2 ' ) ;
SELECT COUNT ( * ) > = 1 AS ok FROM pg_get_wal_stats ( : ' wal_lsn1 ' , : ' wal_lsn2 ' ) ;
SELECT COUNT ( * ) > = 1 AS ok FROM pg_get_wal_block_info ( : ' wal_lsn1 ' , : ' wal_lsn2 ' ) ;
-- ===================================================================
-- Test for filtering out WAL records of a particular table
@ -72,7 +72,7 @@ SELECT COUNT(*) >= 1 AS ok FROM pg_get_wal_records_info(:'wal_lsn1', :'wal_lsn2'
-- Tests to get block information from WAL record
-- ===================================================================
-- Update table to generate some block data
-- Update table to generate some block data.
SELECT pg_current_wal_lsn ( ) AS wal_lsn3 \ gset
UPDATE sample_tbl SET col1 = col1 + 1 WHERE col1 = 1 ;
SELECT pg_current_wal_lsn ( ) AS wal_lsn4 \ gset
@ -103,9 +103,9 @@ SELECT has_function_privilege('regress_pg_walinspect',
SELECT has_function_privilege ( ' regress_pg_walinspect ' ,
' pg_get_wal_block_info(pg_lsn, pg_lsn) ' , ' EXECUTE ' ) ; -- no
-- Functions accessible by users with role pg_read_server_files
-- Functions accessible by users with role pg_read_server_files.
GRANT pg_read_server_files TO regress_pg_walinspect ;
SELECT has_function_privilege ( ' regress_pg_walinspect ' ,
' pg_get_wal_record_info(pg_lsn) ' , ' EXECUTE ' ) ; -- yes
SELECT has_function_privilege ( ' regress_pg_walinspect ' ,
@ -117,7 +117,7 @@ SELECT has_function_privilege('regress_pg_walinspect',
REVOKE pg_read_server_files FROM regress_pg_walinspect ;
-- Superuser can grant execute to other users
-- Superuser can grant execute to other users.
GRANT EXECUTE ON FUNCTION pg_get_wal_record_info ( pg_lsn )
TO regress_pg_walinspect ;
GRANT EXECUTE ON FUNCTION pg_get_wal_records_info ( pg_lsn , pg_lsn )