Thread: ecpg problem in 7.4 beta

ecpg problem in 7.4 beta

From
Bruce Momjian
Date:
I tried running ecpg in 7.4 beta and got:$ ecpg x.pgc$ gcc -I/usr/local/pgsql/include -L/usr/local/pgsql/lib -lpgtypes
-lecpgx.cIn file included from x.c:4:/usr/local/pgsql/include/ecpglib.h:9: postgres_fe.h: No such file ordirectory
 

Why is ecpglib.h referencing postgres_fe.h?  I only see postgres_fe.h in
the install directory under pgsql/include/internal.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


Re: ecpg problem in 7.4 beta

From
Bruce Momjian
Date:
I now remember Michael is away for a week or two.  We will have to wait
for his return.

---------------------------------------------------------------------------

Bruce Momjian wrote:
> I tried running ecpg in 7.4 beta and got:
>     
>     $ ecpg x.pgc
>     $ gcc -I/usr/local/pgsql/include -L/usr/local/pgsql/lib -lpgtypes -lecpg x.c
>     In file included from x.c:4:
>     /usr/local/pgsql/include/ecpglib.h:9: postgres_fe.h: No such file or
>     directory
> 
> Why is ecpglib.h referencing postgres_fe.h?  I only see postgres_fe.h in
> the install directory under pgsql/include/internal.
> 
> -- 
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 359-1001
>   +  If your life is a hard drive,     |  13 Roberts Road
>   +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


Re: ecpg problem in 7.4 beta

From
Bruce Momjian
Date:
OK, I think I can fix this.  The include of postgres_fe.h was done
recently:revision 1.54date: 2003/08/01 13:53:36;  author: petere;  state: Exp;  lines: +4 -2Make ecpg SQLSTATE-aware.
Mapexisting SQLCODE assignments to SQLSTATEs,rather than parsing the message.  Add some documentation about
embeddedSQL.

It seems like doing postgres_fe.h rather than postgres_ext.h was just an
oversight, so I will make the change in CVS.

---------------------------------------------------------------------------

Bruce Momjian wrote:
> I tried running ecpg in 7.4 beta and got:
>     
>     $ ecpg x.pgc
>     $ gcc -I/usr/local/pgsql/include -L/usr/local/pgsql/lib -lpgtypes -lecpg x.c
>     In file included from x.c:4:
>     /usr/local/pgsql/include/ecpglib.h:9: postgres_fe.h: No such file or
>     directory
> 
> Why is ecpglib.h referencing postgres_fe.h?  I only see postgres_fe.h in
> the install directory under pgsql/include/internal.
> 
> -- 
>   Bruce Momjian                        |  http://candle.pha.pa.us
>   pgman@candle.pha.pa.us               |  (610) 359-1001
>   +  If your life is a hard drive,     |  13 Roberts Road
>   +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073
> 
> ---------------------------(end of broadcast)---------------------------
> TIP 4: Don't 'kill -9' the postmaster
> 

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


Re: ecpg problem in 7.4 beta

From
Tom Lane
Date:
Bruce Momjian <pgman@candle.pha.pa.us> writes:
> OK, I think I can fix this.  The include of postgres_fe.h was done
> recently:
>     revision 1.54
>     date: 2003/08/01 13:53:36;  author: petere;  state: Exp;  lines: +4 -2
>     Make ecpg SQLSTATE-aware.  Map existing SQLCODE assignments to SQLSTATEs,
>     rather than parsing the message.  Add some documentation about embedded
>     SQL.

> It seems like doing postgres_fe.h rather than postgres_ext.h was just an
> oversight, so I will make the change in CVS.

I think you will break things if you do.  It's unlikely Peter changed
that on a whim --- ecpg probably now requires more than it did before.

I am not sure that we want to start treating postgres_fe.h as a public
header though --- if we do, that means also c.h and perhaps other stuff.
This needs some thought.
        regards, tom lane


Re: ecpg problem in 7.4 beta

From
Bruce Momjian
Date:
Tom Lane wrote:
> Bruce Momjian <pgman@candle.pha.pa.us> writes:
> > OK, I think I can fix this.  The include of postgres_fe.h was done
> > recently:
>     
> >     revision 1.54
> >     date: 2003/08/01 13:53:36;  author: petere;  state: Exp;  lines: +4 -2
> >     Make ecpg SQLSTATE-aware.  Map existing SQLCODE assignments to SQLSTATEs,
> >     rather than parsing the message.  Add some documentation about embedded
> >     SQL.
> 
> > It seems like doing postgres_fe.h rather than postgres_ext.h was just an
> > oversight, so I will make the change in CVS.
> 
> I think you will break things if you do.  It's unlikely Peter changed
> that on a whim --- ecpg probably now requires more than it did before.

Peter added libpq_fe.h at the same time, and there is no mention in the
commit logs, so I think it was a general cleanup of which things are
included.

> I am not sure that we want to start treating postgres_fe.h as a public
> header though --- if we do, that means also c.h and perhaps other stuff.
> This needs some thought.

Right.  postgres_ext.h works fine in my testing and is the more natural
interface.

--  Bruce Momjian                        |  http://candle.pha.pa.us pgman@candle.pha.pa.us               |  (610)
359-1001+  If your life is a hard drive,     |  13 Roberts Road +  Christ can be your backup.        |  Newtown Square,
Pennsylvania19073
 


Re: ecpg problem in 7.4 beta

From
Peter Eisentraut
Date:
Bruce Momjian writes:

> It seems like doing postgres_fe.h rather than postgres_ext.h was just an
> oversight, so I will make the change in CVS.

No, postgres_fe.h shouldn't have been used there at all, that was just a
mistake.  I will remove postgres_ext.h as well.

-- 
Peter Eisentraut   peter_e@gmx.net