Commit eed4356f authored by Tom Lane's avatar Tom Lane

Avoid re-using output variables in new ecpg test case.

The buildfarm thinks this leads to memory stomps, though annoyingly
I can't duplicate that here.  The existing code in strings.pgc is
doing something that doesn't seem to be sanctioned at all really
by the documentation, but I'm disinclined to try to make that nicer
right now.  Let's just declare some more output variables in hopes
of working around it.
parent 1e3868ab
......@@ -24,11 +24,13 @@
#line 5 "strings.pgc"
#line 1 "strings.h"
char * s1 , * s2 , * s3 , * s4 , * s5 , * s6 ;
char * s1 , * s2 , * s3 , * s4 , * s5 , * s6 , * s7 , * s8 ;
/* exec sql end declare section */
#line 5 "strings.pgc"
......@@ -64,14 +66,14 @@ int main(void)
printf("%s %s %s %s %s %s\n", s1, s2, s3, s4, s5, s6);
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select b'0010' , x'019ABcd'", ECPGt_EOIT,
ECPGt_char,&(s1),(long)0,(long)1,(1)*sizeof(char),
ECPGt_char,&(s7),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_char,&(s2),(long)0,(long)1,(1)*sizeof(char),
ECPGt_char,&(s8),(long)0,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
#line 26 "strings.pgc"
printf("%s %s\n", s1, s2);
printf("%s %s\n", s7, s8);
{ ECPGdisconnect(__LINE__, "CURRENT");}
#line 30 "strings.pgc"
......
......@@ -44,8 +44,12 @@
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_process_output on line 25: correctly got 1 tuples with 2 fields
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_store_result on line 25: allocating memory for 1 tuples
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 25: RESULT: 0010 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_store_result on line 25: allocating memory for 1 tuples
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_get_data on line 25: RESULT: 0000000110011010101111001101 offset: -1; array: no
[NO_PID]: sqlca: code: 0, state: 00000
[NO_PID]: ecpg_finish: connection ecpg1_regression closed
......
......@@ -3,4 +3,6 @@ char *s1,
*s3,
*s4,
*s5,
*s6;
*s6,
*s7,
*s8;
......@@ -23,9 +23,9 @@ int main(void)
printf("%s %s %s %s %s %s\n", s1, s2, s3, s4, s5, s6);
exec sql select b'0010', X'019ABcd'
into :s1, :s2;
into :s7, :s8;
printf("%s %s\n", s1, s2);
printf("%s %s\n", s7, s8);
exec sql disconnect;
return 0;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment