Thread: Error trying to compile a simple C trigger

Error trying to compile a simple C trigger

From
Marco Nenciarini
Date:
I was trying to compile orafce on the current master and it yield
an error at line
tupdesc = trigdata->tg_relation->rd_att;

alert.c: In function ‘dbms_alert_defered_signal’:
alert.c:839:33: error: dereferencing pointer to incomplete type
make: *** [alert.o] Error 1

I've also tried the example at

http://www.postgresql.org/docs/devel/static/trigger-example.html

and the result is exactly the same.

trigtest.c: In function ‘trigf’:
trigtest.c:44:36: error: dereferencing pointer to incomplete type
make: *** [trigtest.o] Error 1

Regards,
Marco

--
Marco Nenciarini - 2ndQuadrant Italy
PostgreSQL Training, Services and Support
marco.nenciarini@2ndQuadrant.it | www.2ndQuadrant.it




Re: Error trying to compile a simple C trigger

From
Peter Geoghegan
Date:
On 20 March 2012 10:53, Marco Nenciarini
<marco.nenciarini@2ndquadrant.it> wrote:
> alert.c: In function ‘dbms_alert_defered_signal’:
> alert.c:839:33: error: dereferencing pointer to incomplete type
> make: *** [alert.o] Error 1
>
> I've also tried the example at
>
> http://www.postgresql.org/docs/devel/static/trigger-example.html
>
> and the result is exactly the same.
>
> trigtest.c: In function ‘trigf’:
> trigtest.c:44:36: error: dereferencing pointer to incomplete type
> make: *** [trigtest.o] Error 1

I'd say this is an unintended consequence of a pgrminclude run. Try adding this:

#include "access/tupdesc.h"

--
Peter Geoghegan       http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training and Services


Re: Error trying to compile a simple C trigger

From
Marco Nenciarini
Date:
Il giorno mar, 20/03/2012 alle 11.16 +0000, Peter Geoghegan ha scritto:
> On 20 March 2012 10:53, Marco Nenciarini
> <marco.nenciarini@2ndquadrant.it> wrote:
> > alert.c: In function ‘dbms_alert_defered_signal’:
> > alert.c:839:33: error: dereferencing pointer to incomplete type
> > make: *** [alert.o] Error 1
> >
> > I've also tried the example at
> >
> > http://www.postgresql.org/docs/devel/static/trigger-example.html
> >
> > and the result is exactly the same.
> >
> > trigtest.c: In function ‘trigf’:
> > trigtest.c:44:36: error: dereferencing pointer to incomplete type
> > make: *** [trigtest.o] Error 1
>
> I'd say this is an unintended consequence of a pgrminclude run. Try adding this:
>
> #include "access/tupdesc.h"

It doesn't work. The error is stil the same.

Regards,
Marco

--
Marco Nenciarini - 2ndQuadrant Italy
PostgreSQL Training, Services and Support
marco.nenciarini@2ndQuadrant.it | www.2ndQuadrant.it




Re: Error trying to compile a simple C trigger

From
Asif Naeem
Date:
It seems that compiler is complain about "Relation" structure, can you please try adding the following in trigtest.c i.e.

#include "utils/rel.h"

Best Regards,
Asif Naeem

On Tue, Mar 20, 2012 at 3:53 PM, Marco Nenciarini <marco.nenciarini@2ndquadrant.it> wrote:
I was trying to compile orafce on the current master and it yield
an error at line

 tupdesc = trigdata->tg_relation->rd_att;

alert.c: In function ‘dbms_alert_defered_signal’:
alert.c:839:33: error: dereferencing pointer to incomplete type
make: *** [alert.o] Error 1

I've also tried the example at

http://www.postgresql.org/docs/devel/static/trigger-example.html

and the result is exactly the same.

trigtest.c: In function ‘trigf’:
trigtest.c:44:36: error: dereferencing pointer to incomplete type
make: *** [trigtest.o] Error 1

Regards,
Marco

--
Marco Nenciarini - 2ndQuadrant Italy
PostgreSQL Training, Services and Support
marco.nenciarini@2ndQuadrant.it | www.2ndQuadrant.it



--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Re: Error trying to compile a simple C trigger

From
Marco Nenciarini
Date:
Il giorno mar, 20/03/2012 alle 16.46 +0500, Asif Naeem ha scritto:
> It seems that compiler is complain about "Relation" structure, can you
> please try adding the following in trigtest.c i.e.
> 
> #include "utils/rel.h"
> 

It does the trick.

Regards,
Marco

-- 
Marco Nenciarini - 2ndQuadrant Italy
PostgreSQL Training, Services and Support
marco.nenciarini@2ndQuadrant.it | www.2ndQuadrant.it 




Re: Error trying to compile a simple C trigger

From
Alvaro Herrera
Date:
Excerpts from Marco Nenciarini's message of mar mar 20 07:53:06 -0300 2012:
> I was trying to compile orafce on the current master and it yield
> an error at line
>
>  tupdesc = trigdata->tg_relation->rd_att;
>
> alert.c: In function ‘dbms_alert_defered_signal’:
> alert.c:839:33: error: dereferencing pointer to incomplete type
> make: *** [alert.o] Error 1
>
> I've also tried the example at
>
> http://www.postgresql.org/docs/devel/static/trigger-example.html
>
> and the result is exactly the same.
>
> trigtest.c: In function ‘trigf’:
> trigtest.c:44:36: error: dereferencing pointer to incomplete type
> make: *** [trigtest.o] Error 1

Thanks ... it seems we need these fixes (each of them backpatched to a
different set of releases).

--
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support

Attachment

Re: Error trying to compile a simple C trigger

From
Alvaro Herrera
Date:
Excerpts from Marco Nenciarini's message of mar mar 20 07:53:06 -0300 2012:
> I was trying to compile orafce on the current master and it yield
> an error at line
>
>  tupdesc = trigdata->tg_relation->rd_att;
>
> alert.c: In function ‘dbms_alert_defered_signal’:
> alert.c:839:33: error: dereferencing pointer to incomplete type
> make: *** [alert.o] Error 1
>
> I've also tried the example at
>
> http://www.postgresql.org/docs/devel/static/trigger-example.html
>
> and the result is exactly the same.
>
> trigtest.c: In function ‘trigf’:
> trigtest.c:44:36: error: dereferencing pointer to incomplete type
> make: *** [trigtest.o] Error 1

Thanks, I believe the example is fixed now.

--
Álvaro Herrera <alvherre@commandprompt.com>
The PostgreSQL Company - Command Prompt, Inc.
PostgreSQL Replication, Consulting, Custom Development, 24x7 support


Re: Error trying to compile a simple C trigger

From
Marco Nenciarini
Date:
Il giorno mar, 20/03/2012 alle 11.16 +0000, Peter Geoghegan ha scritto:
> On 20 March 2012 10:53, Marco Nenciarini
> <marco.nenciarini@2ndquadrant.it> wrote:
> > alert.c: In function ‘dbms_alert_defered_signal’:
> > alert.c:839:33: error: dereferencing pointer to incomplete type
> > make: *** [alert.o] Error 1
> >
> > I've also tried the example at
> >
> > http://www.postgresql.org/docs/devel/static/trigger-example.html
> >
> > and the result is exactly the same.
> >
> > trigtest.c: In function ‘trigf’:
> > trigtest.c:44:36: error: dereferencing pointer to incomplete type
> > make: *** [trigtest.o] Error 1
>
> I'd say this is an unintended consequence of a pgrminclude run. Try adding this:
>
> #include "access/tupdesc.h"

It doesn't work. The error is stil the same.

Regards,
Marco

--
Marco Nenciarini - System manager @ Devise.IT
marco.nenciarini@devise.it | http://www.devise.it