diff --git a/src/test/regress/expected/pg_buffercache_pages.out b/src/test/regress/expected/pg_buffercache_pages.out new file mode 100644 index 000000000..ae9b6feb2 --- /dev/null +++ b/src/test/regress/expected/pg_buffercache_pages.out @@ -0,0 +1,233 @@ +CREATE TABLE buffercache_test( + id int, + content text +); +INSERT INTO buffercache_test VALUES(generate_series(1, 10000), 'To make a prairie it takes a clover and one bee, One clover and a bee, And revery. The revery alone will do, If bees are few.'); +SELECT storage_type, reldatabase, relforknumber, relblocknumber, isdirty, isvalid, usage_count, pinning_backends +FROM + (SELECT relfilenode, + bucketid, + storage_type, + reltablespace, + reldatabase, + relforknumber, + relblocknumber, + isdirty, + isvalid, + usage_count, + pinning_backends + FROM pg_buffercache_pages()) P INNER JOIN pg_class ON (P.relfilenode = pg_class.oid) +WHERE pg_class.relname = 'buffercache_test' +ORDER BY relforknumber, relblocknumber; + storage_type | reldatabase | relforknumber | relblocknumber | isdirty | isvalid | usage_count | pinning_backends +--------------+-------------+---------------+----------------+---------+---------+-------------+------------------ + 0 | 16384 | 0 | 0 | t | t | 15 | 0 + 0 | 16384 | 0 | 1 | t | t | 15 | 0 + 0 | 16384 | 0 | 2 | t | t | 15 | 0 + 0 | 16384 | 0 | 3 | t | t | 15 | 0 + 0 | 16384 | 0 | 4 | t | t | 15 | 0 + 0 | 16384 | 0 | 5 | t | t | 15 | 0 + 0 | 16384 | 0 | 6 | t | t | 15 | 0 + 0 | 16384 | 0 | 7 | t | t | 15 | 0 + 0 | 16384 | 0 | 8 | t | t | 15 | 0 + 0 | 16384 | 0 | 9 | t | t | 15 | 0 + 0 | 16384 | 0 | 10 | t | t | 15 | 0 + 0 | 16384 | 0 | 11 | t | t | 15 | 0 + 0 | 16384 | 0 | 12 | t | t | 15 | 0 + 0 | 16384 | 0 | 13 | t | t | 15 | 0 + 0 | 16384 | 0 | 14 | t | t | 15 | 0 + 0 | 16384 | 0 | 15 | t | t | 15 | 0 + 0 | 16384 | 0 | 16 | t | t | 15 | 0 + 0 | 16384 | 0 | 17 | t | t | 15 | 0 + 0 | 16384 | 0 | 18 | t | t | 15 | 0 + 0 | 16384 | 0 | 19 | t | t | 15 | 0 + 0 | 16384 | 0 | 20 | t | t | 15 | 0 + 0 | 16384 | 0 | 21 | t | t | 15 | 0 + 0 | 16384 | 0 | 22 | t | t | 15 | 0 + 0 | 16384 | 0 | 23 | t | t | 15 | 0 + 0 | 16384 | 0 | 24 | t | t | 15 | 0 + 0 | 16384 | 0 | 25 | t | t | 15 | 0 + 0 | 16384 | 0 | 26 | t | t | 15 | 0 + 0 | 16384 | 0 | 27 | t | t | 15 | 0 + 0 | 16384 | 0 | 28 | t | t | 15 | 0 + 0 | 16384 | 0 | 29 | t | t | 15 | 0 + 0 | 16384 | 0 | 30 | t | t | 15 | 0 + 0 | 16384 | 0 | 31 | t | t | 15 | 0 + 0 | 16384 | 0 | 32 | t | t | 15 | 0 + 0 | 16384 | 0 | 33 | t | t | 15 | 0 + 0 | 16384 | 0 | 34 | t | t | 15 | 0 + 0 | 16384 | 0 | 35 | t | t | 15 | 0 + 0 | 16384 | 0 | 36 | t | t | 15 | 0 + 0 | 16384 | 0 | 37 | t | t | 15 | 0 + 0 | 16384 | 0 | 38 | t | t | 15 | 0 + 0 | 16384 | 0 | 39 | t | t | 15 | 0 + 0 | 16384 | 0 | 40 | t | t | 15 | 0 + 0 | 16384 | 0 | 41 | t | t | 15 | 0 + 0 | 16384 | 0 | 42 | t | t | 15 | 0 + 0 | 16384 | 0 | 43 | t | t | 15 | 0 + 0 | 16384 | 0 | 44 | t | t | 15 | 0 + 0 | 16384 | 0 | 45 | t | t | 15 | 0 + 0 | 16384 | 0 | 46 | t | t | 15 | 0 + 0 | 16384 | 0 | 47 | t | t | 15 | 0 + 0 | 16384 | 0 | 48 | t | t | 15 | 0 + 0 | 16384 | 0 | 49 | t | t | 15 | 0 + 0 | 16384 | 0 | 50 | t | t | 15 | 0 + 0 | 16384 | 0 | 51 | t | t | 15 | 0 + 0 | 16384 | 0 | 52 | t | t | 15 | 0 + 0 | 16384 | 0 | 53 | t | t | 15 | 0 + 0 | 16384 | 0 | 54 | t | t | 15 | 0 + 0 | 16384 | 0 | 55 | t | t | 15 | 0 + 0 | 16384 | 0 | 56 | t | t | 15 | 0 + 0 | 16384 | 0 | 57 | t | t | 15 | 0 + 0 | 16384 | 0 | 58 | t | t | 15 | 0 + 0 | 16384 | 0 | 59 | t | t | 15 | 0 + 0 | 16384 | 0 | 60 | t | t | 15 | 0 + 0 | 16384 | 0 | 61 | t | t | 15 | 0 + 0 | 16384 | 0 | 62 | t | t | 15 | 0 + 0 | 16384 | 0 | 63 | t | t | 15 | 0 + 0 | 16384 | 0 | 64 | t | t | 15 | 0 + 0 | 16384 | 0 | 65 | t | t | 15 | 0 + 0 | 16384 | 0 | 66 | t | t | 15 | 0 + 0 | 16384 | 0 | 67 | t | t | 15 | 0 + 0 | 16384 | 0 | 68 | t | t | 15 | 0 + 0 | 16384 | 0 | 69 | t | t | 15 | 0 + 0 | 16384 | 0 | 70 | t | t | 15 | 0 + 0 | 16384 | 0 | 71 | t | t | 15 | 0 + 0 | 16384 | 0 | 72 | t | t | 15 | 0 + 0 | 16384 | 0 | 73 | t | t | 15 | 0 + 0 | 16384 | 0 | 74 | t | t | 15 | 0 + 0 | 16384 | 0 | 75 | t | t | 15 | 0 + 0 | 16384 | 0 | 76 | t | t | 15 | 0 + 0 | 16384 | 0 | 77 | t | t | 15 | 0 + 0 | 16384 | 0 | 78 | t | t | 15 | 0 + 0 | 16384 | 0 | 79 | t | t | 15 | 0 + 0 | 16384 | 0 | 80 | t | t | 15 | 0 + 0 | 16384 | 0 | 81 | t | t | 15 | 0 + 0 | 16384 | 0 | 82 | t | t | 15 | 0 + 0 | 16384 | 0 | 83 | t | t | 15 | 0 + 0 | 16384 | 0 | 84 | t | t | 15 | 0 + 0 | 16384 | 0 | 85 | t | t | 15 | 0 + 0 | 16384 | 0 | 86 | t | t | 15 | 0 + 0 | 16384 | 0 | 87 | t | t | 15 | 0 + 0 | 16384 | 0 | 88 | t | t | 15 | 0 + 0 | 16384 | 0 | 89 | t | t | 15 | 0 + 0 | 16384 | 0 | 90 | t | t | 15 | 0 + 0 | 16384 | 0 | 91 | t | t | 15 | 0 + 0 | 16384 | 0 | 92 | t | t | 15 | 0 + 0 | 16384 | 0 | 93 | t | t | 15 | 0 + 0 | 16384 | 0 | 94 | t | t | 15 | 0 + 0 | 16384 | 0 | 95 | t | t | 15 | 0 + 0 | 16384 | 0 | 96 | t | t | 15 | 0 + 0 | 16384 | 0 | 97 | t | t | 15 | 0 + 0 | 16384 | 0 | 98 | t | t | 15 | 0 + 0 | 16384 | 0 | 99 | t | t | 15 | 0 + 0 | 16384 | 0 | 100 | t | t | 15 | 0 + 0 | 16384 | 0 | 101 | t | t | 15 | 0 + 0 | 16384 | 0 | 102 | t | t | 15 | 0 + 0 | 16384 | 0 | 103 | t | t | 15 | 0 + 0 | 16384 | 0 | 104 | t | t | 15 | 0 + 0 | 16384 | 0 | 105 | t | t | 15 | 0 + 0 | 16384 | 0 | 106 | t | t | 15 | 0 + 0 | 16384 | 0 | 107 | t | t | 15 | 0 + 0 | 16384 | 0 | 108 | t | t | 15 | 0 + 0 | 16384 | 0 | 109 | t | t | 15 | 0 + 0 | 16384 | 0 | 110 | t | t | 15 | 0 + 0 | 16384 | 0 | 111 | t | t | 15 | 0 + 0 | 16384 | 0 | 112 | t | t | 15 | 0 + 0 | 16384 | 0 | 113 | t | t | 15 | 0 + 0 | 16384 | 0 | 114 | t | t | 15 | 0 + 0 | 16384 | 0 | 115 | t | t | 15 | 0 + 0 | 16384 | 0 | 116 | t | t | 15 | 0 + 0 | 16384 | 0 | 117 | t | t | 15 | 0 + 0 | 16384 | 0 | 118 | t | t | 15 | 0 + 0 | 16384 | 0 | 119 | t | t | 15 | 0 + 0 | 16384 | 0 | 120 | t | t | 15 | 0 + 0 | 16384 | 0 | 121 | t | t | 15 | 0 + 0 | 16384 | 0 | 122 | t | t | 15 | 0 + 0 | 16384 | 0 | 123 | t | t | 15 | 0 + 0 | 16384 | 0 | 124 | t | t | 15 | 0 + 0 | 16384 | 0 | 125 | t | t | 15 | 0 + 0 | 16384 | 0 | 126 | t | t | 15 | 0 + 0 | 16384 | 0 | 127 | t | t | 15 | 0 + 0 | 16384 | 0 | 128 | t | t | 15 | 0 + 0 | 16384 | 0 | 129 | t | t | 15 | 0 + 0 | 16384 | 0 | 130 | t | t | 15 | 0 + 0 | 16384 | 0 | 131 | t | t | 15 | 0 + 0 | 16384 | 0 | 132 | t | t | 15 | 0 + 0 | 16384 | 0 | 133 | t | t | 15 | 0 + 0 | 16384 | 0 | 134 | t | t | 15 | 0 + 0 | 16384 | 0 | 135 | t | t | 15 | 0 + 0 | 16384 | 0 | 136 | t | t | 15 | 0 + 0 | 16384 | 0 | 137 | t | t | 15 | 0 + 0 | 16384 | 0 | 138 | t | t | 15 | 0 + 0 | 16384 | 0 | 139 | t | t | 15 | 0 + 0 | 16384 | 0 | 140 | t | t | 15 | 0 + 0 | 16384 | 0 | 141 | t | t | 15 | 0 + 0 | 16384 | 0 | 142 | t | t | 15 | 0 + 0 | 16384 | 0 | 143 | t | t | 15 | 0 + 0 | 16384 | 0 | 144 | t | t | 15 | 0 + 0 | 16384 | 0 | 145 | t | t | 15 | 0 + 0 | 16384 | 0 | 146 | t | t | 15 | 0 + 0 | 16384 | 0 | 147 | t | t | 15 | 0 + 0 | 16384 | 0 | 148 | t | t | 15 | 0 + 0 | 16384 | 0 | 149 | t | t | 15 | 0 + 0 | 16384 | 0 | 150 | t | t | 15 | 0 + 0 | 16384 | 0 | 151 | t | t | 15 | 0 + 0 | 16384 | 0 | 152 | t | t | 15 | 0 + 0 | 16384 | 0 | 153 | t | t | 15 | 0 + 0 | 16384 | 0 | 154 | t | t | 15 | 0 + 0 | 16384 | 0 | 155 | t | t | 15 | 0 + 0 | 16384 | 0 | 156 | t | t | 15 | 0 + 0 | 16384 | 0 | 157 | t | t | 15 | 0 + 0 | 16384 | 0 | 158 | t | t | 15 | 0 + 0 | 16384 | 0 | 159 | t | t | 15 | 0 + 0 | 16384 | 0 | 160 | t | t | 15 | 0 + 0 | 16384 | 0 | 161 | t | t | 15 | 0 + 0 | 16384 | 0 | 162 | t | t | 15 | 0 + 0 | 16384 | 0 | 163 | t | t | 15 | 0 + 0 | 16384 | 0 | 164 | t | t | 15 | 0 + 0 | 16384 | 0 | 165 | t | t | 15 | 0 + 0 | 16384 | 0 | 166 | t | t | 15 | 0 + 0 | 16384 | 0 | 167 | t | t | 15 | 0 + 0 | 16384 | 0 | 168 | t | t | 15 | 0 + 0 | 16384 | 0 | 169 | t | t | 15 | 0 + 0 | 16384 | 0 | 170 | t | t | 15 | 0 + 0 | 16384 | 0 | 171 | t | t | 15 | 0 + 0 | 16384 | 0 | 172 | t | t | 15 | 0 + 0 | 16384 | 0 | 173 | t | t | 15 | 0 + 0 | 16384 | 0 | 174 | t | t | 15 | 0 + 0 | 16384 | 0 | 175 | t | t | 15 | 0 + 0 | 16384 | 0 | 176 | t | t | 15 | 0 + 0 | 16384 | 0 | 177 | t | t | 15 | 0 + 0 | 16384 | 0 | 178 | t | t | 15 | 0 + 0 | 16384 | 0 | 179 | t | t | 15 | 0 + 0 | 16384 | 0 | 180 | t | t | 15 | 0 + 0 | 16384 | 0 | 181 | t | t | 15 | 0 + 0 | 16384 | 0 | 182 | t | t | 15 | 0 + 0 | 16384 | 0 | 183 | t | t | 15 | 0 + 0 | 16384 | 0 | 184 | t | t | 15 | 0 + 0 | 16384 | 0 | 185 | t | t | 15 | 0 + 0 | 16384 | 0 | 186 | t | t | 15 | 0 + 0 | 16384 | 0 | 187 | t | t | 15 | 0 + 0 | 16384 | 0 | 188 | t | t | 15 | 0 + 0 | 16384 | 0 | 189 | t | t | 15 | 0 + 0 | 16384 | 0 | 190 | t | t | 15 | 0 + 0 | 16384 | 0 | 191 | t | t | 15 | 0 + 0 | 16384 | 0 | 192 | t | t | 15 | 0 + 0 | 16384 | 0 | 193 | t | t | 15 | 0 + 0 | 16384 | 0 | 194 | t | t | 15 | 0 + 0 | 16384 | 0 | 195 | t | t | 15 | 0 + 0 | 16384 | 0 | 196 | t | t | 15 | 0 + 0 | 16384 | 0 | 197 | t | t | 15 | 0 + 0 | 16384 | 0 | 198 | t | t | 15 | 0 + 0 | 16384 | 0 | 199 | t | t | 15 | 0 + 0 | 16384 | 0 | 200 | t | t | 15 | 0 + 0 | 16384 | 0 | 201 | t | t | 15 | 0 + 0 | 16384 | 0 | 202 | t | t | 15 | 0 + 0 | 16384 | 0 | 203 | t | t | 15 | 0 + 0 | 16384 | 0 | 204 | t | t | 4 | 0 + 0 | 16384 | 1 | 0 | f | t | 15 | 0 + 0 | 16384 | 1 | 2 | t | t | 15 | 0 +(207 rows) + +DROP TABLE buffercache_test; diff --git a/src/test/regress/parallel_schedule0 b/src/test/regress/parallel_schedule0 index a1e604e9f..c4633b6fe 100644 --- a/src/test/regress/parallel_schedule0 +++ b/src/test/regress/parallel_schedule0 @@ -835,3 +835,4 @@ test: cast_privileges_test test: hw_cipher_sm4 test: hw_cipher_aes128 test: sequence_cache_test +test: pg_buffercache_pages \ No newline at end of file diff --git a/src/test/regress/sql/pg_buffercache_pages.sql b/src/test/regress/sql/pg_buffercache_pages.sql new file mode 100644 index 000000000..3ed014def --- /dev/null +++ b/src/test/regress/sql/pg_buffercache_pages.sql @@ -0,0 +1,25 @@ +CREATE TABLE buffercache_test( + id int, + content text +); + +INSERT INTO buffercache_test VALUES(generate_series(1, 10000), 'To make a prairie it takes a clover and one bee, One clover and a bee, And revery. The revery alone will do, If bees are few.'); + +SELECT storage_type, reldatabase, relforknumber, relblocknumber, isdirty, isvalid, usage_count, pinning_backends +FROM + (SELECT relfilenode, + bucketid, + storage_type, + reltablespace, + reldatabase, + relforknumber, + relblocknumber, + isdirty, + isvalid, + usage_count, + pinning_backends + FROM pg_buffercache_pages()) P INNER JOIN pg_class ON (P.relfilenode = pg_class.oid) +WHERE pg_class.relname = 'buffercache_test' +ORDER BY relforknumber, relblocknumber; + +DROP TABLE buffercache_test;