ECPG question about PREPARE and EXECUTE

From: Boszormenyi Zoltan <zb(at)cybertec(dot)at>
To: Michael Meskes <meskes(at)postgresql(dot)org>
Cc: PG Hackers <pgsql-hackers(at)postgresql(dot)org>, Hans-Juergen Schoenig <hs(at)cybertec(dot)at>
Subject: ECPG question about PREPARE and EXECUTE
Date: 2010-11-10 10:44:52
Message-ID: 4CDA77A4.3050407@cybertec.at
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hi,

a question came to us in the form of a code example,
which I shortened. Say, we have this structure:

============================
EXEC SQL BEGIN DECLARE SECTION;

struct t1 {
int id;
char t[80];
};
typedef struct t1 t1_t;

t1_t t1;
EXEC SQL END DECLARE SECTION;
============================

and a similar table in the database. The client wanted
to use a PREPARE / EXECUTE pair this way:

============================
EXEC SQL PREPARE myquery AS
SELECT * FROM t1 WHERE id = :t1.id;

t1.id = 1;

EXEC SQL EXECUTE myquery INTO :t1;
============================

Upon executing the EXECUTE query, we get an error:

SQL error: too few arguments on line NNN

The problem is that the input parameters given to the
PREPARE are not preserved and carried to the EXECUTE.

Any comment on why it isn't done?

Best regards,
Zoltán Böszörményi

--
----------------------------------
Zoltán Böszörményi
Cybertec Schönig & Schönig GmbH
Gröhrmühlgasse 26
A-2700 Wiener Neustadt, Austria
Web: http://www.postgresql-support.de
http://www.postgresql.at/

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Fujii Masao 2010-11-10 11:30:05 Re: [COMMITTERS] pgsql: Don't unblock SIGQUIT in the SIGQUIT handler This was possibly
Previous Message tomas 2010-11-10 08:34:32 Re: W3C Specs: Web SQL