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
|
DATA = lo--1.1.sql lo--1.0--1.1.sql lo--unpackaged--1.0.sql
|
||||||
PGFILEDESC = "lo - management for large objects"
|
PGFILEDESC = "lo - management for large objects"
|
||||||
|
|
||||||
|
REGRESS = lo
|
||||||
|
|
||||||
ifdef USE_PGXS
|
ifdef USE_PGXS
|
||||||
PG_CONFIG = pg_config
|
PG_CONFIG = pg_config
|
||||||
PGXS := $(shell $(PG_CONFIG) --pgxs)
|
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>
|
</para>
|
||||||
|
|
||||||
<programlisting>
|
<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
|
CREATE TRIGGER t_raster BEFORE UPDATE OR DELETE ON image
|
||||||
FOR EACH ROW EXECUTE PROCEDURE lo_manage(raster);
|
FOR EACH ROW EXECUTE PROCEDURE lo_manage(raster);
|
||||||
|
Loading…
x
Reference in New Issue
Block a user