New/old style trigger API - Mailing list pgsql-hackers

From darcy@druid.net (D'Arcy J.M. Cain)
Subject New/old style trigger API
Date
Msg-id 20010527145613.935C01A87@druid.net
Whole thread Raw
Responses Re: New/old style trigger API  (Tom Lane <tgl@sss.pgh.pa.us>)
List pgsql-hackers
The docs seem a little sketchy but the source implies that there is
a difference between new and old style triggers.  I can't seem to find
this difference.  I tried following the only current example I could
find but I get a core dump.  Here is the backtrace.

#0  0x0 in ?? ()
#1  0x8136052 in fmgr_oldstyle (fcinfo=0xbfbfd134) at fmgr.c:433
#2  0x80b6b2d in ExecCallTriggerFunc (trigger=0x82ce030, trigdata=0xbfbfd1c8,    per_tuple_context=0x827acf0) at
trigger.c:865
#3  0x80b6e15 in ExecBRUpdateTriggers (estate=0x82fbf50, tupleid=0xbfbfd264,    newtuple=0x83094a8) at trigger.c:1008
#4  0x80bcf3a in ExecReplace (slot=0x8308018, tupleid=0xbfbfd264,    estate=0x82fbf50) at execMain.c:1416
#5  0x80bcc82 in ExecutePlan (estate=0x82fbf50, plan=0x82fbec8,    operation=CMD_UPDATE, numberTuples=0,
direction=ForwardScanDirection,   destfunc=0x83092f0) at execMain.c:1127
 
#6  0x80bc27b in ExecutorRun (queryDesc=0x8307cc0, estate=0x82fbf50,    feature=3, count=0) at execMain.c:233
#7  0x80ff29b in ProcessQuery (parsetree=0x82f6e20, plan=0x82fbec8,    dest=Remote) at pquery.c:277
#8  0x80fddd3 in pg_exec_query_string (   query_string=0x82f6030 "UPDATE bgroup SET actypid = 1,ddate = NULL,edate =
'2001-07-23',mail= '',ftp = '',dns = 'f',bname = 'jpsantos',bgdesc = '',isp = 'VEX',pdate = '2001-04-23',pmon =
5,bgroup_active= 't',sdate = '1999-"...,    dest=Remote, parse_context=0x827a720) at postgres.c:808
 
#9  0x80fedd1 in PostgresMain (argc=4, argv=0xbfbfd4c8, real_argc=9,    real_argv=0xbfbfdc54, username=0x826325d
"darcy")at postgres.c:1905
 
#10 0x80ea2ad in DoBackend (port=0x8263000) at postmaster.c:2114
#11 0x80e9eb2 in BackendStartup (port=0x8263000) at postmaster.c:1897
#12 0x80e91aa in ServerLoop () at postmaster.c:995
#13 0x80e8b7c in PostmasterMain (argc=9, argv=0xbfbfdc54) at postmaster.c:685
#14 0x80caff4 in main (argc=9, argv=0xbfbfdc54) at main.c:175
#15 0x806bc81 in ___start ()

It gets to fmgr_oldstyle() and then dies from a jump to a null pointer.
Can someone please tell me how to make my function a newstyle one.  I
will update the docs once I have it working.

-- 
D'Arcy J.M. Cain <darcy@{druid|vex}.net>   |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.


pgsql-hackers by date:

Previous
From: "Hiroshi Inoue"
Date:
Subject: RE: Plans for solving the VACUUM problem
Next
From: Tom Lane
Date:
Subject: Re: New/old style trigger API