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 g...@endpoint.com  g...@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;
> 				}

Attachment: signature.asc
Description: OpenPGP digital signature

Reply via email to