diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2010-10-11 22:16:46 -0400 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2010-10-11 22:16:46 -0400 |
| commit | 67120d35e28b85bbb4d10f4568f6e3b85c8e0460 (patch) | |
| tree | c3885cc25dff02d03ea7d7b02d7d767d63c38284 /src/pl/plpython/sql/plpython_trigger.sql | |
| parent | 3b6eb752d99360e4e21ddff2c3edf750ab9b026a (diff) | |
Fix plpython so that it again honors typmod while assigning to tuple fields.
This was broken in 9.0 while improving plpython's conversion behavior for
bytea and boolean. Per bug report from maizi.
Diffstat (limited to 'src/pl/plpython/sql/plpython_trigger.sql')
| -rw-r--r-- | src/pl/plpython/sql/plpython_trigger.sql | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/src/pl/plpython/sql/plpython_trigger.sql b/src/pl/plpython/sql/plpython_trigger.sql index c60a6737801..e9a215d02eb 100644 --- a/src/pl/plpython/sql/plpython_trigger.sql +++ b/src/pl/plpython/sql/plpython_trigger.sql @@ -286,3 +286,26 @@ UPDATE trigger_test SET v = 'null' WHERE i = 0; DROP TRIGGER test_null_trigger ON trigger_test; SELECT * FROM trigger_test; + + +-- +-- Test that triggers honor typmod when assigning to tuple fields, +-- as per an early 9.0 bug report +-- + +SET DateStyle = 'ISO'; + +CREATE FUNCTION set_modif_time() RETURNS trigger AS $$ + TD['new']['modif_time'] = '2010-10-13 21:57:28.930486' + return 'MODIFY' +$$ LANGUAGE plpythonu; + +CREATE TABLE pb (a TEXT, modif_time TIMESTAMP(0) WITHOUT TIME ZONE); + +CREATE TRIGGER set_modif_time BEFORE UPDATE ON pb + FOR EACH ROW EXECUTE PROCEDURE set_modif_time(); + +INSERT INTO pb VALUES ('a', '2010-10-09 21:57:33.930486'); +SELECT * FROM pb; +UPDATE pb SET a = 'b'; +SELECT * FROM pb; |
