mirror of
https://git.postgresql.org/git/postgresql.git
synced 2025-02-17 19:30:00 +08:00
lo: Add test suite
Reviewed-by: David Steele <david@pgmasters.net>
This commit is contained in:
parent
6141123a82
commit
4cb89d8306
4
contrib/lo/.gitignore
vendored
Normal file
4
contrib/lo/.gitignore
vendored
Normal file
@ -0,0 +1,4 @@
|
||||
# Generated subdirectories
|
||||
/log/
|
||||
/results/
|
||||
/tmp_check/
|
@ -6,6 +6,8 @@ EXTENSION = lo
|
||||
DATA = lo--1.1.sql lo--1.0--1.1.sql lo--unpackaged--1.0.sql
|
||||
PGFILEDESC = "lo - management for large objects"
|
||||
|
||||
REGRESS = lo
|
||||
|
||||
ifdef USE_PGXS
|
||||
PG_CONFIG = pg_config
|
||||
PGXS := $(shell $(PG_CONFIG) --pgxs)
|
||||
|
42
contrib/lo/expected/lo.out
Normal file
42
contrib/lo/expected/lo.out
Normal file
@ -0,0 +1,42 @@
|
||||
CREATE EXTENSION lo;
|
||||
CREATE TABLE image (title text, raster lo);
|
||||
CREATE TRIGGER t_raster BEFORE UPDATE OR DELETE ON image
|
||||
FOR EACH ROW EXECUTE PROCEDURE lo_manage(raster);
|
||||
SELECT lo_create(43213);
|
||||
lo_create
|
||||
-----------
|
||||
43213
|
||||
(1 row)
|
||||
|
||||
SELECT lo_create(43214);
|
||||
lo_create
|
||||
-----------
|
||||
43214
|
||||
(1 row)
|
||||
|
||||
INSERT INTO image (title, raster) VALUES ('beautiful image', 43213);
|
||||
SELECT lo_get(43213);
|
||||
lo_get
|
||||
--------
|
||||
\x
|
||||
(1 row)
|
||||
|
||||
SELECT lo_get(43214);
|
||||
lo_get
|
||||
--------
|
||||
\x
|
||||
(1 row)
|
||||
|
||||
UPDATE image SET raster = 43214 WHERE title = 'beautiful image';
|
||||
SELECT lo_get(43213);
|
||||
ERROR: large object 43213 does not exist
|
||||
SELECT lo_get(43214);
|
||||
lo_get
|
||||
--------
|
||||
\x
|
||||
(1 row)
|
||||
|
||||
DELETE FROM image;
|
||||
SELECT lo_get(43214);
|
||||
ERROR: large object 43214 does not exist
|
||||
DROP TABLE image;
|
25
contrib/lo/sql/lo.sql
Normal file
25
contrib/lo/sql/lo.sql
Normal file
@ -0,0 +1,25 @@
|
||||
CREATE EXTENSION lo;
|
||||
|
||||
CREATE TABLE image (title text, raster lo);
|
||||
|
||||
CREATE TRIGGER t_raster BEFORE UPDATE OR DELETE ON image
|
||||
FOR EACH ROW EXECUTE PROCEDURE lo_manage(raster);
|
||||
|
||||
SELECT lo_create(43213);
|
||||
SELECT lo_create(43214);
|
||||
|
||||
INSERT INTO image (title, raster) VALUES ('beautiful image', 43213);
|
||||
|
||||
SELECT lo_get(43213);
|
||||
SELECT lo_get(43214);
|
||||
|
||||
UPDATE image SET raster = 43214 WHERE title = 'beautiful image';
|
||||
|
||||
SELECT lo_get(43213);
|
||||
SELECT lo_get(43214);
|
||||
|
||||
DELETE FROM image;
|
||||
|
||||
SELECT lo_get(43214);
|
||||
|
||||
DROP TABLE image;
|
@ -67,7 +67,7 @@
|
||||
</para>
|
||||
|
||||
<programlisting>
|
||||
CREATE TABLE image (title TEXT, raster lo);
|
||||
CREATE TABLE image (title text, raster lo);
|
||||
|
||||
CREATE TRIGGER t_raster BEFORE UPDATE OR DELETE ON image
|
||||
FOR EACH ROW EXECUTE PROCEDURE lo_manage(raster);
|
||||
|
Loading…
Reference in New Issue
Block a user