mirror of
https://github.com/postgres/postgres.git
synced 2025-05-03 22:24:49 +03:00
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:
parent
c945af80cf
commit
d685e24249
@ -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);}
|
|||||||
|
|
||||||
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);}
|
|||||||
|
|
||||||
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();}
|
|||||||
|
|
||||||
|
|
||||||
{ 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();}
|
|||||||
|
|
||||||
|
|
||||||
{ 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();}
|
|||||||
|
|
||||||
|
|
||||||
{ 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();}
|
|||||||
|
|
||||||
|
|
||||||
{ 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();}
|
|||||||
{ 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();}
|
|||||||
{ 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);}
|
|||||||
|
|
||||||
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);}
|
|||||||
|
|
||||||
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 ( );
|
|||||||
#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 ( );
|
|||||||
#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 ( );}
|
|||||||
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"
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user