Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commita60b8a5

Browse files
committed
Add SLRU tests for 64-bit page case
4ed8f09 added 64-bit page numbering for SLRU. This commit adds tests forpage numbers higher than 2^32.Author: Maxim OrlovReviewed-by: Aleksander Alekseev, Alexander KorotkovDiscussion:https://postgr.es/m/CACG%3DezZe1NQSCnfHOr78AtAZxJZeCvxrts0ygrxYwe%3DpyyjVWA%40mail.gmail.comDiscussion:https://postgr.es/m/CAJ7c6TPDOYBYrnCAeyndkBktO0WG2xSdYduTF0nxq%2BvfkmTF5Q%40mail.gmail.com
1 parent5a1dfde commita60b8a5

File tree

2 files changed

+173
-0
lines changed

2 files changed

+173
-0
lines changed

‎src/test/modules/test_slru/expected/test_slru.out

Lines changed: 135 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -132,4 +132,139 @@ SELECT test_slru_page_exists(12393);
132132
f
133133
(1 row)
134134

135+
--
136+
-- Test 64-bit pages
137+
--
138+
SELECT test_slru_page_exists(0x1234500000000);
139+
test_slru_page_exists
140+
-----------------------
141+
f
142+
(1 row)
143+
144+
SELECT test_slru_page_write(0x1234500000000, 'Test SLRU 64-bit');
145+
test_slru_page_write
146+
----------------------
147+
148+
(1 row)
149+
150+
SELECT test_slru_page_read(0x1234500000000);
151+
test_slru_page_read
152+
---------------------
153+
Test SLRU 64-bit
154+
(1 row)
155+
156+
SELECT test_slru_page_exists(0x1234500000000);
157+
test_slru_page_exists
158+
-----------------------
159+
t
160+
(1 row)
161+
162+
-- 48 extra pages
163+
SELECT count(test_slru_page_write(a, 'Test SLRU 64-bit'))
164+
FROM generate_series(0x1234500000001, 0x1234500000030, 1) as a;
165+
count
166+
-------
167+
48
168+
(1 row)
169+
170+
-- Reading page in buffer for read and write
171+
SELECT test_slru_page_read(0x1234500000020, true);
172+
test_slru_page_read
173+
---------------------
174+
Test SLRU 64-bit
175+
(1 row)
176+
177+
-- Reading page in buffer for read-only
178+
SELECT test_slru_page_readonly(0x1234500000020);
179+
test_slru_page_readonly
180+
-------------------------
181+
Test SLRU 64-bit
182+
(1 row)
183+
184+
-- Reading page not in buffer with read-only
185+
SELECT test_slru_page_readonly(0x1234500000001);
186+
test_slru_page_readonly
187+
-------------------------
188+
Test SLRU 64-bit
189+
(1 row)
190+
191+
-- Write all the pages in buffers
192+
SELECT test_slru_page_writeall();
193+
test_slru_page_writeall
194+
-------------------------
195+
196+
(1 row)
197+
198+
-- Flush the last page written out.
199+
SELECT test_slru_page_sync(0x1234500000030);
200+
NOTICE: Called SlruSyncFileTag() for segment 10007944888321 on path pg_test_slru/000091A28000001
201+
test_slru_page_sync
202+
---------------------
203+
204+
(1 row)
205+
206+
SELECT test_slru_page_exists(0x1234500000030);
207+
test_slru_page_exists
208+
-----------------------
209+
t
210+
(1 row)
211+
212+
-- Segment deletion
213+
SELECT test_slru_page_delete(0x1234500000030);
214+
NOTICE: Called SlruDeleteSegment() for segment 10007944888321
215+
test_slru_page_delete
216+
-----------------------
217+
218+
(1 row)
219+
220+
SELECT test_slru_page_exists(0x1234500000030);
221+
test_slru_page_exists
222+
-----------------------
223+
f
224+
(1 row)
225+
226+
-- Page truncation
227+
SELECT test_slru_page_exists(0x1234500000020);
228+
test_slru_page_exists
229+
-----------------------
230+
f
231+
(1 row)
232+
233+
SELECT test_slru_page_truncate(0x1234500000020);
234+
test_slru_page_truncate
235+
-------------------------
236+
237+
(1 row)
238+
239+
SELECT test_slru_page_exists(0x1234500000020);
240+
test_slru_page_exists
241+
-----------------------
242+
f
243+
(1 row)
244+
245+
-- Full deletion
246+
SELECT test_slru_delete_all();
247+
test_slru_delete_all
248+
----------------------
249+
250+
(1 row)
251+
252+
SELECT test_slru_page_exists(0x1234500000000);
253+
test_slru_page_exists
254+
-----------------------
255+
f
256+
(1 row)
257+
258+
SELECT test_slru_page_exists(0x1234500000020);
259+
test_slru_page_exists
260+
-----------------------
261+
f
262+
(1 row)
263+
264+
SELECT test_slru_page_exists(0x1234500000030);
265+
test_slru_page_exists
266+
-----------------------
267+
f
268+
(1 row)
269+
135270
DROP EXTENSION test_slru;

‎src/test/modules/test_slru/sql/test_slru.sql

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,4 +35,42 @@ SELECT test_slru_page_exists(12345);
3535
SELECT test_slru_page_exists(12377);
3636
SELECT test_slru_page_exists(12393);
3737

38+
--
39+
-- Test 64-bit pages
40+
--
41+
SELECT test_slru_page_exists(0x1234500000000);
42+
SELECT test_slru_page_write(0x1234500000000,'Test SLRU 64-bit');
43+
SELECT test_slru_page_read(0x1234500000000);
44+
SELECT test_slru_page_exists(0x1234500000000);
45+
46+
-- 48 extra pages
47+
SELECTcount(test_slru_page_write(a,'Test SLRU 64-bit'))
48+
FROM generate_series(0x1234500000001, 0x1234500000030,1)as a;
49+
50+
-- Reading page in buffer for read and write
51+
SELECT test_slru_page_read(0x1234500000020, true);
52+
-- Reading page in buffer for read-only
53+
SELECT test_slru_page_readonly(0x1234500000020);
54+
-- Reading page not in buffer with read-only
55+
SELECT test_slru_page_readonly(0x1234500000001);
56+
57+
-- Write all the pages in buffers
58+
SELECT test_slru_page_writeall();
59+
-- Flush the last page written out.
60+
SELECT test_slru_page_sync(0x1234500000030);
61+
SELECT test_slru_page_exists(0x1234500000030);
62+
-- Segment deletion
63+
SELECT test_slru_page_delete(0x1234500000030);
64+
SELECT test_slru_page_exists(0x1234500000030);
65+
-- Page truncation
66+
SELECT test_slru_page_exists(0x1234500000020);
67+
SELECT test_slru_page_truncate(0x1234500000020);
68+
SELECT test_slru_page_exists(0x1234500000020);
69+
70+
-- Full deletion
71+
SELECT test_slru_delete_all();
72+
SELECT test_slru_page_exists(0x1234500000000);
73+
SELECT test_slru_page_exists(0x1234500000020);
74+
SELECT test_slru_page_exists(0x1234500000030);
75+
3876
DROP EXTENSION test_slru;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp