From: Michael Meskes <meskes@postgresql.org>
To: Ryan Mooney <ryan@pcslink.com>
Cc: pgsql-interfaces@postgresql.org
Subject: Re: ECPG insert into table name as a variable
Date: Wed, 24 Sep 2003 09:25:42 +0200
Message-ID: <20030924072542.GA633@feivel.fam-meskes.de> (raw)
In-Reply-To: <20030923211207.GB13521@pcslink.com>
References: <20030923211207.GB13521@pcslink.com>
On Tue, Sep 23, 2003 at 11:12:07AM -1000, Ryan Mooney wrote:
> EXEC SQL INSERT INTO :tname (host, point, type, cooked) VALUES (:host, :name, :type, :cooked);
This is not possible as of now, but of course could be implemented.
> 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),
You need to specify the indicator here as this:
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
> 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?
So far it is not, sorry.
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!
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-interfaces@postgresql.org
Cc: meskes@postgresql.org, ryan@pcslink.com
Subject: Re: ECPG insert into table name as a variable
In-Reply-To: <20030924072542.GA633@feivel.fam-meskes.de>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox