Commit d685e242 authored by Michael Meskes's avatar Michael Meskes

Fix descriptor output in ECPG.

While working on most platforms the old way sometimes created alignment
problems. This should fix it. Also the regresion tests were updated to test for
the reported case.

Report and fix by MauMau <maumau307@gmail.com>
parent c945af80
...@@ -368,7 +368,7 @@ ECPGdump_a_simple(FILE *o, const char *name, enum ECPGttype type, ...@@ -368,7 +368,7 @@ ECPGdump_a_simple(FILE *o, const char *name, enum ECPGttype type,
fprintf(o, "\n\tECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, "); fprintf(o, "\n\tECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ");
else if (type == ECPGt_descriptor) else if (type == ECPGt_descriptor)
/* remember that name here already contains quotes (if needed) */ /* remember that name here already contains quotes (if needed) */
fprintf(o, "\n\tECPGt_descriptor, %s, 0L, 0L, 0L, ", name); fprintf(o, "\n\tECPGt_descriptor, %s, 1L, 1L, 1L, ", name);
else if (type == ECPGt_sqlda) else if (type == ECPGt_sqlda)
fprintf(o, "\n\tECPGt_sqlda, &%s, 0L, 0L, 0L, ", name); fprintf(o, "\n\tECPGt_sqlda, &%s, 0L, 0L, 0L, ", name);
else else
......
...@@ -174,12 +174,12 @@ if (sqlca.sqlcode < 0) exit (1);} ...@@ -174,12 +174,12 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "describe"); strcpy(msg, "describe");
{ ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1", { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1",
ECPGt_descriptor, "desc1", 0L, 0L, 0L, ECPGt_descriptor, "desc1", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
#line 60 "describe.pgc" #line 60 "describe.pgc"
{ ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1", { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id1",
ECPGt_descriptor, "desc2", 0L, 0L, 0L, ECPGt_descriptor, "desc2", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
#line 61 "describe.pgc" #line 61 "describe.pgc"
...@@ -336,12 +336,12 @@ if (sqlca.sqlcode < 0) exit (1);} ...@@ -336,12 +336,12 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "describe"); strcpy(msg, "describe");
{ ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2", { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2",
ECPGt_descriptor, "desc1", 0L, 0L, 0L, ECPGt_descriptor, "desc1", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
#line 146 "describe.pgc" #line 146 "describe.pgc"
{ ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2", { ECPGdescribe(__LINE__, 1, 0, NULL, "st_id2",
ECPGt_descriptor, "desc2", 0L, 0L, 0L, ECPGt_descriptor, "desc2", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
#line 147 "describe.pgc" #line 147 "describe.pgc"
......
...@@ -134,7 +134,7 @@ if (sqlca.sqlcode < 0) sqlprint();} ...@@ -134,7 +134,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "foo1", { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "foo1",
ECPGt_descriptor, "indesc", 0L, 0L, 0L, ECPGt_descriptor, "indesc", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 35 "desc.pgc" #line 35 "desc.pgc"
...@@ -161,7 +161,7 @@ if (sqlca.sqlcode < 0) sqlprint();} ...@@ -161,7 +161,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "foo1", { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "foo1",
ECPGt_descriptor, "indesc", 0L, 0L, 0L, ECPGt_descriptor, "indesc", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 40 "desc.pgc" #line 40 "desc.pgc"
...@@ -188,7 +188,7 @@ if (sqlca.sqlcode < 0) sqlprint();} ...@@ -188,7 +188,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "Foo-1", { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "Foo-1",
ECPGt_descriptor, "indesc", 0L, 0L, 0L, ECPGt_descriptor, "indesc", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 45 "desc.pgc" #line 45 "desc.pgc"
...@@ -222,9 +222,9 @@ if (sqlca.sqlcode < 0) sqlprint();} ...@@ -222,9 +222,9 @@ if (sqlca.sqlcode < 0) sqlprint();}
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "foo2", { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_execute, "foo2",
ECPGt_descriptor, "indesc", 0L, 0L, 0L, ECPGt_descriptor, "indesc", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT,
ECPGt_descriptor, "outdesc", 0L, 0L, 0L, ECPGt_descriptor, "outdesc", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 52 "desc.pgc" #line 52 "desc.pgc"
...@@ -248,7 +248,7 @@ if (sqlca.sqlcode < 0) sqlprint();} ...@@ -248,7 +248,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare c1 cursor for $1", { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare c1 cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "foo2", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_char_variable,(ECPGprepared_statement(NULL, "foo2", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_descriptor, "indesc", 0L, 0L, 0L, ECPGt_descriptor, "indesc", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 58 "desc.pgc" #line 58 "desc.pgc"
...@@ -298,7 +298,7 @@ if (sqlca.sqlcode < 0) sqlprint();} ...@@ -298,7 +298,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare c2 cursor for $1", { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "declare c2 cursor for $1",
ECPGt_char_variable,(ECPGprepared_statement(NULL, "foo3", __LINE__)),(long)1,(long)1,(1)*sizeof(char), ECPGt_char_variable,(ECPGprepared_statement(NULL, "foo3", __LINE__)),(long)1,(long)1,(1)*sizeof(char),
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L,
ECPGt_descriptor, "indesc", 0L, 0L, 0L, ECPGt_descriptor, "indesc", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EOIT, ECPGt_EORT);
#line 70 "desc.pgc" #line 70 "desc.pgc"
......
...@@ -172,12 +172,12 @@ if (sqlca.sqlcode < 0) exit (1);} ...@@ -172,12 +172,12 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "describe"); strcpy(msg, "describe");
{ ECPGdescribe(__LINE__, 0, 0, NULL, "st_id1", { ECPGdescribe(__LINE__, 0, 0, NULL, "st_id1",
ECPGt_descriptor, "desc1", 0L, 0L, 0L, ECPGt_descriptor, "desc1", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
#line 60 "describe.pgc" #line 60 "describe.pgc"
{ ECPGdescribe(__LINE__, 0, 0, NULL, "st_id1", { ECPGdescribe(__LINE__, 0, 0, NULL, "st_id1",
ECPGt_descriptor, "desc2", 0L, 0L, 0L, ECPGt_descriptor, "desc2", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
#line 61 "describe.pgc" #line 61 "describe.pgc"
...@@ -334,12 +334,12 @@ if (sqlca.sqlcode < 0) exit (1);} ...@@ -334,12 +334,12 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "describe"); strcpy(msg, "describe");
{ ECPGdescribe(__LINE__, 0, 0, NULL, "st_id2", { ECPGdescribe(__LINE__, 0, 0, NULL, "st_id2",
ECPGt_descriptor, "desc1", 0L, 0L, 0L, ECPGt_descriptor, "desc1", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
#line 146 "describe.pgc" #line 146 "describe.pgc"
{ ECPGdescribe(__LINE__, 0, 0, NULL, "st_id2", { ECPGdescribe(__LINE__, 0, 0, NULL, "st_id2",
ECPGt_descriptor, "desc2", 0L, 0L, 0L, ECPGt_descriptor, "desc2", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);} ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);}
#line 147 "describe.pgc" #line 147 "describe.pgc"
......
...@@ -210,7 +210,7 @@ if (sqlca.sqlcode < 0) sqlprint ( ); ...@@ -210,7 +210,7 @@ if (sqlca.sqlcode < 0) sqlprint ( );
#line 41 "dynalloc.pgc" #line 41 "dynalloc.pgc"
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select a , b , c , d , e , f , g , h , i from test order by a", ECPGt_EOIT, { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select a , b , c , d , e , f , g , h , i from test order by a", ECPGt_EOIT,
ECPGt_descriptor, "mydesc", 0L, 0L, 0L, ECPGt_descriptor, "mydesc", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 42 "dynalloc.pgc" #line 42 "dynalloc.pgc"
......
...@@ -188,7 +188,7 @@ if (sqlca.sqlcode < 0) sqlprint ( ); ...@@ -188,7 +188,7 @@ if (sqlca.sqlcode < 0) sqlprint ( );
#line 32 "dynalloc2.pgc" #line 32 "dynalloc2.pgc"
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select * from test", ECPGt_EOIT, { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "select * from test", ECPGt_EOIT,
ECPGt_descriptor, "mydesc", 0L, 0L, 0L, ECPGt_descriptor, "mydesc", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 33 "dynalloc2.pgc" #line 33 "dynalloc2.pgc"
......
...@@ -273,7 +273,7 @@ if (sqlca.sqlcode < 0) error ( );} ...@@ -273,7 +273,7 @@ if (sqlca.sqlcode < 0) error ( );}
while (1) while (1)
{ {
{ ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch in MYCURS", ECPGt_EOIT, { ECPGdo(__LINE__, 0, 1, NULL, 0, ECPGst_normal, "fetch in MYCURS", ECPGt_EOIT,
ECPGt_descriptor, "MYDESC", 0L, 0L, 0L, ECPGt_descriptor, "MYDESC", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT); ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 64 "dyntest.pgc" #line 64 "dyntest.pgc"
......
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