Re: [GENERAL] Is this a bug in ECPG?

2013-09-07 Thread Boszormenyi Zoltan

2013-09-06 09:57 keltezéssel, Boszormenyi Zoltan írta:

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.


BTW, my ECPG cursor readahead patch unintentionally fixed this.
https://commitfest.postgresql.org/action/patch_view?id=1195




 Will anyone use the second scenario to close an CURSOR that is named by a 
variable?



Not very likely.


Kind regards,

Jing




--
--
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/



--
--
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/



Re: [GENERAL] Is this a bug in ECPG?

2013-09-06 Thread Boszormenyi Zoltan

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.


Kind regards,

Jing




--
--
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/



[GENERAL] Is this a bug in ECPG?

2013-09-05 Thread Wang, Jing
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.

 

 

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?  Will anyone use the second
scenario to close an CURSOR that is named by a variable?

 

Kind regards,

Jing