This was failing:
CREATE TRIGGER foo
AFTER INSERT OR UPDATE OR DELETE OR TRUNCATE
ON foobar
FOR EACH STATEMENT EXECUTE PROCEDURE baz();
Turns out the parser wasn't set up to handle four different trigger
event types. Patch attached.
--
Greg Sabino Mullane greg@endpoint.com greg@turnstep.com
End Point Corporation 610-983-9073
PGP Key: 0x14964AC8 200906171620
http://biglumber.com/x/web?pk=2529DF6AB8F79407E94445B4BC9B906714964AC8
Index: backend/parser/gram.y
===================================================================
RCS file: /projects/cvsroot/pgsql/src/backend/parser/gram.y,v
retrieving revision 2.664
diff -r2.664 gram.y
3174c3174
< char *e = palloc(4);
---
> char *e = palloc(2);
3180c3180
< char *e = palloc(4);
---
> char *e = palloc(3);
3189a3190,3195
> | TriggerOneEvent OR TriggerOneEvent OR TriggerOneEvent OR TriggerOneEvent
> {
> char *e = palloc(5);
> e[0] = $1; e[1] = $3; e[2] = $5; e[3] = $7; e[4] = '\0';
> $$ = e;
> }