lo: Add test suite

Reviewed-by: David Steele <david@pgmasters.net>
pull/31/head^2
Peter Eisentraut 8 years ago
parent 6141123a82
commit 4cb89d8306
  1. 4
      contrib/lo/.gitignore
  2. 2
      contrib/lo/Makefile
  3. 42
      contrib/lo/expected/lo.out
  4. 25
      contrib/lo/sql/lo.sql
  5. 2
      doc/src/sgml/lo.sgml

@ -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)

@ -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;

@ -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…
Cancel
Save