On Fri, Jul 26, 2002 at 09:38:25PM -0400, William West wrote:
> It would appear that ecpg will only re-write a
> varchar if it is found in a DECLARE statement,
> because the varchar gets past the ecpg preprocessor's
> INCLUDE as-is ... and, of course, the real C compiler
> does not know what a 'varchar' is, so it complains.
Yes, ecpg only parses stuff inside the declare section. A full syntax
checking mode would be a nice add-on (and is listed as todo) but IMO it
is not really needed urgently.
> As a PostgreSQL 'newbie', I am not sure if it is more
> work to fix ecpg or to re-write how the application
> does things. I see it is a 'yacc' unit that handles the
> re-writing that ecpg now does, but I do not know
> 'yacc-ese' and do not know what else would be involved
> to fix ecpg to work like PRO-C?
Yes, it's quite some work. :-) But if you volunteer I gladly accept
patches. :-)
> - Did I miss something here?
Yes, at first you can list you struct definition inside the declare
section and it will work nicely.
And second you can use a typedef command that AFAIK Pro*C does not have.
This should help you without much work.
> varchar re-writes during INCLUDE and not
> just during DECLARE?
Actually it does not have anything to do with INCLUDE or I misunderstood
your problem comletely.
Hope this helps.
Michael
--
Michael Meskes
Michael(at)Fam-Meskes(dot)De
Go SF 49ers! Go Rhein Fire!
Use Debian GNU/Linux! Use PostgreSQL!