1-- 2-- PG_LSN 3-- 4 5CREATE TABLE PG_LSN_TBL (f1 pg_lsn); 6 7-- Largest and smallest input 8INSERT INTO PG_LSN_TBL VALUES ('0/0'); 9INSERT INTO PG_LSN_TBL VALUES ('FFFFFFFF/FFFFFFFF'); 10 11-- Incorrect input 12INSERT INTO PG_LSN_TBL VALUES ('G/0'); 13INSERT INTO PG_LSN_TBL VALUES ('-1/0'); 14INSERT INTO PG_LSN_TBL VALUES (' 0/12345678'); 15INSERT INTO PG_LSN_TBL VALUES ('ABCD/'); 16INSERT INTO PG_LSN_TBL VALUES ('/ABCD'); 17DROP TABLE PG_LSN_TBL; 18 19-- Operators 20SELECT '0/16AE7F8' = '0/16AE7F8'::pg_lsn; 21SELECT '0/16AE7F8'::pg_lsn != '0/16AE7F7'; 22SELECT '0/16AE7F7' < '0/16AE7F8'::pg_lsn; 23SELECT '0/16AE7F8' > pg_lsn '0/16AE7F7'; 24SELECT '0/16AE7F7'::pg_lsn - '0/16AE7F8'::pg_lsn; 25SELECT '0/16AE7F8'::pg_lsn - '0/16AE7F7'::pg_lsn; 26 27-- Check btree and hash opclasses 28EXPLAIN (COSTS OFF) 29SELECT DISTINCT (i || '/' || j)::pg_lsn f 30 FROM generate_series(1, 10) i, 31 generate_series(1, 10) j, 32 generate_series(1, 5) k 33 WHERE i <= 10 AND j > 0 AND j <= 10 34 ORDER BY f; 35 36SELECT DISTINCT (i || '/' || j)::pg_lsn f 37 FROM generate_series(1, 10) i, 38 generate_series(1, 10) j, 39 generate_series(1, 5) k 40 WHERE i <= 10 AND j > 0 AND j <= 10 41 ORDER BY f; 42