]> granicus.if.org Git - postgresql/commitdiff
Fix descriptor output in ECPG.
authorMichael Meskes <meskes@postgresql.org>
Thu, 9 Jan 2014 14:41:51 +0000 (15:41 +0100)
committerMichael Meskes <meskes@postgresql.org>
Thu, 9 Jan 2014 14:58:37 +0000 (15:58 +0100)
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>

Conflicts:
src/interfaces/ecpg/preproc/type.c
src/interfaces/ecpg/test/expected/sql-desc.c

src/interfaces/ecpg/preproc/type.c
src/interfaces/ecpg/test/expected/sql-desc.c
src/interfaces/ecpg/test/expected/sql-dynalloc.c
src/interfaces/ecpg/test/expected/sql-dynalloc2.c
src/interfaces/ecpg/test/expected/sql-dyntest.c

index 49caa32f26cadcf31f046e6a87f0dc29f00c7f80..dbd76c182c60e841f70b12444681a46f5f79765c 100644 (file)
@@ -324,7 +324,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
        {
                char       *variable = (char *) mm_alloc(strlen(name) + ((prefix == NULL) ? 0 : strlen(prefix)) + 4);
index 85f304b2683fe5202bd253bc033bd884069de586..fd3fc1fcc7c3fff6cac1a24a858d58e5aba7efb4 100644 (file)
@@ -134,7 +134,7 @@ if (sqlca.sqlcode < 0) sqlprint();}
 
 
        { ECPGdo(__LINE__, 0, 1, NULL, 0, 1, "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, 1, "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, 1, "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, 1, "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"
 
index 02324803338fe2f0ee21ac75f7e24238f5ab0b32..d95accc99fdba24820f05d5e5afca8c9a48e1456 100644 (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"
 
index b729d94cb04dca403b650e47ccf090a7308408a0..18634deb7839f646aca69407bde21a0d8364cfcd 100644 (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"
 
index ebc8f22ed9d956fa05dbb3331a08ec8c78630597..dfa39696eae8f16729bbc97844c1b28322235265 100644 (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"