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

Commit70ad7ed

Browse files
committed
Adjust largeobject regression test to leave a couple of LOs behind.
Since we commonly test pg_dump/pg_restore by seeing whether they can dumpand restore the regression test database, it behooves us to include somelarge objects in that test scenario.I tried to include a comment on one of these large objects to improvethe test scenario further ... but it turns out that pg_upgrade fails topreserve comments on large objects, and its regression test noticesthe discrepancy. So uncommenting that COMMENT is a TODO for later.
1 parent9d4444a commit70ad7ed

File tree

3 files changed

+66
-4
lines changed

3 files changed

+66
-4
lines changed

‎src/test/regress/input/largeobject.source

Lines changed: 24 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,18 @@ SELECT lo_close(fd) FROM lotest_stash_values;
7979

8080
END;
8181

82+
-- Copy to another large object.
83+
-- Note: we intentionally don't remove the object created here;
84+
-- it's left behind to help test pg_dump.
85+
86+
SELECT lo_from_bytea(0, lo_get(loid)) AS newloid FROM lotest_stash_values
87+
\gset
88+
89+
-- Ideally we'd put a comment on this object for pg_dump testing purposes.
90+
-- But since pg_upgrade fails to preserve large object comments, doing so
91+
-- would break pg_upgrade's regression test.
92+
-- COMMENT ON LARGE OBJECT :newloid IS 'I Wandered Lonely as a Cloud';
93+
8294
-- Read out a portion
8395
BEGIN;
8496
UPDATE lotest_stash_values SET fd=lo_open(loid, CAST(x'20000' | x'40000' AS integer));
@@ -207,8 +219,10 @@ SELECT pageno, data FROM pg_largeobject WHERE loid = (SELECT loid from lotest_st
207219
EXCEPT
208220
SELECT pageno, data FROM pg_largeobject WHERE loid = :newloid;
209221

210-
211222
SELECT lo_unlink(loid) FROM lotest_stash_values;
223+
224+
TRUNCATE lotest_stash_values;
225+
212226
\lo_unlink :newloid
213227

214228
\lo_import 'results/lotest.txt'
@@ -232,5 +246,13 @@ SELECT lo_get(:newloid_1, 4294967294, 100);
232246
\lo_unlink :newloid_1
233247
\lo_unlink :newloid_2
234248

235-
TRUNCATE lotest_stash_values;
249+
-- This object is left in the database for pg_dump test purposes
250+
SELECT lo_from_bytea(0, E'\\xdeadbeef') AS newloid
251+
\gset
252+
253+
SET bytea_output TO hex;
254+
SELECT lo_get(:newloid);
255+
256+
DROP TABLE lotest_stash_values;
257+
236258
DROP ROLE regresslo;

‎src/test/regress/output/largeobject.source

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,15 @@ SELECT lo_close(fd) FROM lotest_stash_values;
8585
(1 row)
8686

8787
END;
88+
-- Copy to another large object.
89+
-- Note: we intentionally don't remove the object created here;
90+
-- it's left behind to help test pg_dump.
91+
SELECT lo_from_bytea(0, lo_get(loid)) AS newloid FROM lotest_stash_values
92+
\gset
93+
-- Ideally we'd put a comment on this object for pg_dump testing purposes.
94+
-- But since pg_upgrade fails to preserve large object comments, doing so
95+
-- would break pg_upgrade's regression test.
96+
-- COMMENT ON LARGE OBJECT :newloid IS 'I Wandered Lonely as a Cloud';
8897
-- Read out a portion
8998
BEGIN;
9099
UPDATE lotest_stash_values SET fd=lo_open(loid, CAST(x'20000' | x'40000' AS integer));
@@ -398,6 +407,7 @@ SELECT lo_unlink(loid) FROM lotest_stash_values;
398407
1
399408
(1 row)
400409

410+
TRUNCATE lotest_stash_values;
401411
\lo_unlink :newloid
402412
\lo_import 'results/lotest.txt'
403413
\set newloid_1 :LASTOID
@@ -449,5 +459,15 @@ SELECT lo_get(:newloid_1, 4294967294, 100);
449459

450460
\lo_unlink :newloid_1
451461
\lo_unlink :newloid_2
452-
TRUNCATE lotest_stash_values;
462+
-- This object is left in the database for pg_dump test purposes
463+
SELECT lo_from_bytea(0, E'\\xdeadbeef') AS newloid
464+
\gset
465+
SET bytea_output TO hex;
466+
SELECT lo_get(:newloid);
467+
lo_get
468+
------------
469+
\xdeadbeef
470+
(1 row)
471+
472+
DROP TABLE lotest_stash_values;
453473
DROP ROLE regresslo;

‎src/test/regress/output/largeobject_1.source

Lines changed: 21 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,15 @@ SELECT lo_close(fd) FROM lotest_stash_values;
8585
(1 row)
8686

8787
END;
88+
-- Copy to another large object.
89+
-- Note: we intentionally don't remove the object created here;
90+
-- it's left behind to help test pg_dump.
91+
SELECT lo_from_bytea(0, lo_get(loid)) AS newloid FROM lotest_stash_values
92+
\gset
93+
-- Ideally we'd put a comment on this object for pg_dump testing purposes.
94+
-- But since pg_upgrade fails to preserve large object comments, doing so
95+
-- would break pg_upgrade's regression test.
96+
-- COMMENT ON LARGE OBJECT :newloid IS 'I Wandered Lonely as a Cloud';
8897
-- Read out a portion
8998
BEGIN;
9099
UPDATE lotest_stash_values SET fd=lo_open(loid, CAST(x'20000' | x'40000' AS integer));
@@ -398,6 +407,7 @@ SELECT lo_unlink(loid) FROM lotest_stash_values;
398407
1
399408
(1 row)
400409

410+
TRUNCATE lotest_stash_values;
401411
\lo_unlink :newloid
402412
\lo_import 'results/lotest.txt'
403413
\set newloid_1 :LASTOID
@@ -449,5 +459,15 @@ SELECT lo_get(:newloid_1, 4294967294, 100);
449459

450460
\lo_unlink :newloid_1
451461
\lo_unlink :newloid_2
452-
TRUNCATE lotest_stash_values;
462+
-- This object is left in the database for pg_dump test purposes
463+
SELECT lo_from_bytea(0, E'\\xdeadbeef') AS newloid
464+
\gset
465+
SET bytea_output TO hex;
466+
SELECT lo_get(:newloid);
467+
lo_get
468+
------------
469+
\xdeadbeef
470+
(1 row)
471+
472+
DROP TABLE lotest_stash_values;
453473
DROP ROLE regresslo;

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp