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>
This commit is contained in:
Michael Meskes 2014-01-09 15:41:51 +01:00
parent c945af80cf
commit d685e24249
7 changed files with 19 additions and 19 deletions

View File

@ -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, ");
else if (type == ECPGt_descriptor)
/* 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)
fprintf(o, "\n\tECPGt_sqlda, &%s, 0L, 0L, 0L, ", name);
else

View File

@ -174,12 +174,12 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "describe");
{ 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);}
#line 60 "describe.pgc"
{ 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);}
#line 61 "describe.pgc"
@ -336,12 +336,12 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "describe");
{ 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);}
#line 146 "describe.pgc"
{ 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);}
#line 147 "describe.pgc"

View File

@ -134,7 +134,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
{ 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);
#line 35 "desc.pgc"
@ -161,7 +161,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
{ 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);
#line 40 "desc.pgc"
@ -188,7 +188,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
{ 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);
#line 45 "desc.pgc"
@ -222,9 +222,9 @@ if (sqlca.sqlcode < 0) sqlprint();}
{ 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_descriptor, "outdesc", 0L, 0L, 0L,
ECPGt_descriptor, "outdesc", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 52 "desc.pgc"
@ -248,7 +248,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
{ 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_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);
#line 58 "desc.pgc"
@ -298,7 +298,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
{ 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_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);
#line 70 "desc.pgc"

View File

@ -172,12 +172,12 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "describe");
{ 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);}
#line 60 "describe.pgc"
{ 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);}
#line 61 "describe.pgc"
@ -334,12 +334,12 @@ if (sqlca.sqlcode < 0) exit (1);}
strcpy(msg, "describe");
{ 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);}
#line 146 "describe.pgc"
{ 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);}
#line 147 "describe.pgc"

View File

@ -210,7 +210,7 @@ if (sqlca.sqlcode < 0) sqlprint ( );
#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,
ECPGt_descriptor, "mydesc", 0L, 0L, 0L,
ECPGt_descriptor, "mydesc", 1L, 1L, 1L,
ECPGt_NO_INDICATOR, NULL , 0L, 0L, 0L, ECPGt_EORT);
#line 42 "dynalloc.pgc"

View File

@ -188,7 +188,7 @@ if (sqlca.sqlcode < 0) sqlprint ( );
#line 32 "dynalloc2.pgc"
{ 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);
#line 33 "dynalloc2.pgc"

View File

@ -273,7 +273,7 @@ if (sqlca.sqlcode < 0) error ( );}
while (1)
{
{ 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);
#line 64 "dyntest.pgc"