diff options
| author | Robert Haas <rhaas@postgresql.org> | 2012-07-20 11:38:47 -0400 |
|---|---|---|
| committer | Robert Haas <rhaas@postgresql.org> | 2012-07-20 11:39:01 -0400 |
| commit | 3a0e4d36ebd7f477822d5bae41ba121a40d22ccc (patch) | |
| tree | 323cd89ebb88c51b796b86f17f6efa1db76a761e /src/test/regress/input/largeobject.source | |
| parent | be86e3dd5b42c33387ae976c014e6276c9439f7f (diff) | |
| download | postgresql-3a0e4d36ebd7f477822d5bae41ba121a40d22ccc.tar.gz | |
Make new event trigger facility actually do something.
Commit 3855968f328918b6cd1401dd11d109d471a54d40 added syntax, pg_dump,
psql support, and documentation, but the triggers didn't actually fire.
With this commit, they now do. This is still a pretty basic facility
overall because event triggers do not get a whole lot of information
about what the user is trying to do unless you write them in C; and
there's still no option to fire them anywhere except at the very
beginning of the execution sequence, but it's better than nothing,
and a good building block for future work.
Along the way, add a regression test for ALTER LARGE OBJECT, since
testing of event triggers reveals that we haven't got one.
Dimitri Fontaine and Robert Haas
Diffstat (limited to 'src/test/regress/input/largeobject.source')
| -rw-r--r-- | src/test/regress/input/largeobject.source | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/test/regress/input/largeobject.source b/src/test/regress/input/largeobject.source index 807cfd7cc4..17d64a2fc3 100644 --- a/src/test/regress/input/largeobject.source +++ b/src/test/regress/input/largeobject.source @@ -12,6 +12,21 @@ CREATE TABLE lotest_stash_values (loid oid, fd integer); -- returns the large object id INSERT INTO lotest_stash_values (loid) SELECT lo_creat(42); +-- Test ALTER LARGE OBJECT +CREATE ROLE regresslo; +DO $$ + BEGIN + EXECUTE 'ALTER LARGE OBJECT ' || (select loid from lotest_stash_values) + || ' OWNER TO regresslo'; + END +$$; +SELECT + rol.rolname +FROM + lotest_stash_values s + JOIN pg_largeobject_metadata lo ON s.loid = lo.oid + JOIN pg_authid rol ON lo.lomowner = rol.oid; + -- NOTE: large objects require transactions BEGIN; @@ -163,3 +178,4 @@ SELECT lo_unlink(loid) FROM lotest_stash_values; \lo_unlink :newloid TRUNCATE lotest_stash_values; +DROP ROLE regresslo; |
