Thread: EXEC SQL INCLUDE syntax

EXEC SQL INCLUDE syntax

From
Andrew S Halper
Date:
I'm trying to port some Ingres code to PostgreSQL.  For Ingres, I had this bit  
of ESQL:

EXEC SQL INCLUDE '../dcl/master_table.sc';

which ecpg (2.10.0) can't digest with single quotes, and Ingres (2.5) esqlc  
can't digest without single quotes.

Can anyone tell me what the ESQL standard says, and if there is an easy ecpg  
work-around?

Thanks,
Andy

Re: EXEC SQL INCLUDE syntax

From
Michael Meskes
Date:
On Fri, Oct 17, 2003 at 03:42:20PM -0700, Andrew S Halper wrote:
> I'm trying to port some Ingres code to PostgreSQL.  For Ingres, I had this 
> bit  of ESQL:
> 
> EXEC SQL INCLUDE '../dcl/master_table.sc';
> 
> which ecpg (2.10.0) can't digest with single quotes, and Ingres (2.5) esqlc 
> can't digest without single quotes.

ecpg only accepts double quotes or no quote at all.

> Can anyone tell me what the ESQL standard says, and if there is an easy 

I thought that ecpg does implement the standard, but I haven't checked
it lately so I'm not sure.

> ecpg  work-around?

Other than changing the code, no. It seems we do need an Ingres
compatibility mode, too.

Michael
-- 
Michael Meskes
Email: Michael at Fam-Meskes dot De
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!


Re: EXEC SQL INCLUDE syntax

From
Andrew S Halper
Date:
On 2003.10.20 11:01, Michael Meskes wrote:
> On Fri, Oct 17, 2003 at 03:42:20PM -0700, Andrew S Halper wrote:
> > I'm trying to port some Ingres code to PostgreSQL.  For Ingres, I had this
> > bit  of ESQL:
> >
> > EXEC SQL INCLUDE '../dcl/master_table.sc';
> >
> > which ecpg (2.10.0) can't digest with single quotes, and Ingres (2.5)  
> esqlc
> 
> > can't digest without single quotes.
> 
> ecpg only accepts double quotes or no quote at all.

Changing the single quotes to double quotes worked with the Ingres  
preprocessor, but not with ecpg:

natasha:~/nwis-4.4/common/db/midas-tools> ls -l master_table.sc
-rw-r--r--    1 ashalper nwdba         158 Oct 20 13:46 master_table.sc
natasha:~/nwis-4.4/common/db/midas-tools> ecpg drop_table.sc
drop_table.sc:37: ERROR: Cannot open include file "master_table.sc" in line 37

Thanks,
Andy

Re: EXEC SQL INCLUDE syntax

From
Michael Meskes
Date:
On Mon, Oct 20, 2003 at 01:50:08PM -0700, Andrew S Halper wrote:
> Changing the single quotes to double quotes worked with the Ingres  
> preprocessor, but not with ecpg:
> 
> natasha:~/nwis-4.4/common/db/midas-tools> ls -l master_table.sc
> -rw-r--r--    1 ashalper nwdba         158 Oct 20 13:46 master_table.sc
> natasha:~/nwis-4.4/common/db/midas-tools> ecpg drop_table.sc
> drop_table.sc:37: ERROR: Cannot open include file "master_table.sc" in line 
> 37

It seems ecpg parsed the statement correctly but could not find the
file. IIRC double quotes mean to not search all include paths but take
"." instead.

Michael
-- 
Michael Meskes
Email: Michael at Fam-Meskes dot De
ICQ: 179140304, AIM/Yahoo: michaelmeskes, Jabber: meskes@jabber.org
Go SF 49ers! Go Rhein Fire! Use Debian GNU/Linux! Use PostgreSQL!


Re: EXEC SQL INCLUDE syntax

From
Andrew S Halper
Date:
On 2003.10.21 00:47, Michael Meskes wrote:
> On Mon, Oct 20, 2003 at 01:50:08PM -0700, Andrew S Halper wrote:
> > Changing the single quotes to double quotes worked with the Ingres
> > preprocessor, but not with ecpg:
> >
> > natasha:~/nwis-4.4/common/db/midas-tools> ls -l master_table.sc
> > -rw-r--r--    1 ashalper nwdba         158 Oct 20 13:46 master_table.sc
> > natasha:~/nwis-4.4/common/db/midas-tools> ecpg drop_table.sc
> > drop_table.sc:37: ERROR: Cannot open include file "master_table.sc" in  
> line
> 
> > 37
> 
> It seems ecpg parsed the statement correctly but could not find the
> file. IIRC double quotes mean to not search all include paths but take
> "." instead.

I must be doing something wrong because I can't get ecpg to include anything  
with double quotes around it.  I guess I'll just put something in the Makefile  
to strip the single quotes out of the Ingres includes.

I'll send you the two files off-list and you can experiment with it if you  
like.

Andy