I'm currently working on a master student research project "support triggers
on columns" that is supervised by a professor from my university (Ottawa U).
I have contacted Neil Conway whose name is with this item on the TODO list.
It happened that he actually lives very close to me(Queen's U in Kingston).
He has agreed that I work on this.
Please take a look of my design (Some of the ideas are from Neil)
- change gram.y for CREATE TRIGGER to support the optional column list for
- change CreateTrigStmt, trigger, trigdesc node to add support for an
optional List of columns; change the various Node support functions
(equalfuncs.c, copyfuncs.c, etc.)
- change InsertTrigger, (Copy+Free+ equal)TriggerDesc, Relationbuild
function to add support an optional List of columns.
- change the pg_trigger system catalog to support the new column .
- change CreateTrigger() to perform some semantic analysis on the list of
columns (ensure no column names are duplicated, ensure each name references
an extent and non-dropped column, and so forth)
- when deciding which triggers to invoke (executePlan() in execMain.c), add
logic to compare the list of columns in the to-be-executed command with the
list of columns in any applicable columns,and only fire a trigger of the
column lists that are appropriately compatible
-investigate the interaction between the column list and rules
I have spent the past four months on this and I have finished the YYpaser,
Catalog, trigger creation and some other support functions, I am working on
trigger execution right now. I expect the project will be completed by the
end of July. I would like to know your comments on my design and the
procedure of getting my work accepted.
pgsql-hackers by date
|Next:||From: Mike Benoit||Date: 2004-07-01 23:47:09|
|Subject: Re: Nested Transactions, Abort All|
|Previous:||From: Mike Rylander||Date: 2004-07-01 23:34:19|
|Subject: Re: Quick question regarding tablespaces|