From: | Ryan Mooney <ryan(at)pcslink(dot)com> |
---|---|
To: | pgsql-interfaces(at)postgresql(dot)org |
Subject: | ECPG insert into table name as a variable |
Date: | 2003-09-23 21:12:07 |
Message-ID: | 20030923211207.GB13521@pcslink.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-interfaces |
I was doing testing on an app and wanted to make a table name a variable
so I can change it via a config file (instead of re-compile/relink).
like so:
EXEC SQL INSERT INTO :tname (host, point, type, cooked) VALUES (:host, :name, :type, :cooked);
This fails ecpg preprocess with "ERROR: syntax error at or near ":tname" whereas if the table
name is specified statically it works fine, like:
EXEC SQL INSERT INTO tname (host, point, type, cooked) VALUES (:host, :name, :type, :cooked);
When I tried hacking the resulting C code (as a test exercise) like:
{ ECPGdo(__LINE__, 0, 1, NULL, "insert into ? ( host , point , type , cooked ) values ( ? , ? , ? , ? )",
ECPGt_char,&(tname),(long)0,(long)1,1*sizeof(char),
ECPGt_char,&(host),(long)0,(long)1,1*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,&(name),(long)0,(long)1,1*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,&(type),(long)1,(long)1,1*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,&(cooked),(long)1,(long)1,1*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,(starttime),(long)30,(long)1,30*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,(interval),(long)30,(long)1,30*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
it got all funny and didn't work very well (well ok it didn't work at all):
pg.pgc:129 SQL Insert failed: Invalid statement name (null) in line 124.
So, I was wondering am I just missing some obvious way to do this, or
is this not supported at all?
Thanks
--
>-=-=-=-=-=-=-<>-=-=-=-=-=-<>-=-=-=-=-=-<>-=-=-=-=-=-<>-=-=-=-=-=-=-<
Ryan Mooney ryan(at)pcslink(dot)com
<-=-=-=-=-=-=-><-=-=-=-=-=-><-=-=-=-=-=-><-=-=-=-=-=-><-=-=-=-=-=-=->
From | Date | Subject | |
---|---|---|---|
Next Message | Igor Shevchenko | 2003-09-23 22:09:17 | libpq: how to get a sequence of partial PGresult-s |
Previous Message | Jeroen T. Vermeulen | 2003-09-23 16:45:04 | Re: troubles with getting data from tables |