2013-09-06 02:57 keltezéssel, Wang, Jing írta:
Hi,
ECPG don’t support the following scenario:
char cur_name = “cur1”;
EXEC SQL DECLARE :cur_name CURSOR FOR …
EXEC SQL OPEN :cur_name;
EXEC SQL FETCH cur1 INTO…
…
EXEC SQL CLOSE :cur_name;
An compile error will occur for above codes because ECPG can’t find the “cur1”.
Of course it cannot find it, ECPG doesn't interpret the content of the variable,
so it cannot know it is "cur1".
But it does support the following scenario:
char cur_name = “cur1”;
EXEC SQL DECLARE :cur_name CURSOR FOR …
EXEC SQL OPEN :cur_name;
EXEC SQL FETCH :cur_name INTO…
…
EXEC SQL CLOSE cur1;
Does the second scenario is a bug for ECPG?
Actually, it looks like it is a bug.
Will anyone use the second scenario to close an CURSOR that is named by a variable?
Not very likely.
--
----------------------------------
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/