Changeset: c512382b590c for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=c512382b590c
Modified Files:
        clients/mapilib/mapi.c
        monetdb5/mal/Tests/tst960.stable.out
        monetdb5/optimizer/Tests/joinchain.stable.out
        monetdb5/optimizer/Tests/tst4030.stable.out
Branch: default
Log Message:

When number of columns changes, discard column information.


diffs (61 lines):

diff --git a/clients/mapilib/mapi.c b/clients/mapilib/mapi.c
--- a/clients/mapilib/mapi.c
+++ b/clients/mapilib/mapi.c
@@ -5048,6 +5048,21 @@ mapi_slice_row(struct MapiResultSet *res
                              result->fieldcnt, ']');
                free(p);
        }
+       if (i != result->fieldcnt) {
+               int j;
+               for (j = 0; j < result->fieldcnt; j++) {
+                       if (result->fields[j].columnname)
+                               free(result->fields[j].columnname);
+                       result->fields[j].columnname = NULL;
+                       if (result->fields[j].columntype)
+                               free(result->fields[j].columntype);
+                       result->fields[j].columntype = NULL;
+                       if (result->fields[j].tablename)
+                               free(result->fields[j].tablename);
+                       result->fields[j].tablename = NULL;
+                       result->fields[j].columnlength = 0;
+               }
+       }
        if (i > result->fieldcnt) {
                result->fieldcnt = i;
                if (i > result->maxfields) {
diff --git a/monetdb5/mal/Tests/tst960.stable.out 
b/monetdb5/mal/Tests/tst960.stable.out
--- a/monetdb5/mal/Tests/tst960.stable.out
+++ b/monetdb5/mal/Tests/tst960.stable.out
@@ -110,7 +110,7 @@ Ready.
 [ 1@0,   "brave"         ]
 [ 2@0,   "new"           ]
 [ 3@0,   "world"         ]
-[ Start searches       ]
+[ "Start searches"     ]
 #--------------------------#
 # h    t  # name
 # void int       # type
diff --git a/monetdb5/optimizer/Tests/joinchain.stable.out 
b/monetdb5/optimizer/Tests/joinchain.stable.out
--- a/monetdb5/optimizer/Tests/joinchain.stable.out
+++ b/monetdb5/optimizer/Tests/joinchain.stable.out
@@ -173,7 +173,7 @@ end user.qry;
 #--------------------------#
 [ 0@0, "The"  ]
 [ 1@0, "jumps"  ]
-[ empty sequences      ]
+[ "empty sequences"    ]
 #--------------------------#
 # h    t  # name
 # void str  # type
diff --git a/monetdb5/optimizer/Tests/tst4030.stable.out 
b/monetdb5/optimizer/Tests/tst4030.stable.out
--- a/monetdb5/optimizer/Tests/tst4030.stable.out
+++ b/monetdb5/optimizer/Tests/tst4030.stable.out
@@ -60,7 +60,7 @@ end user.foo;
 [ 0@0, 1  ]
 [ 1@0, 2  ]
 [ 2@0, 3  ]
-[ done ]
+[ "done"       ]
 
 # 23:52:52 >  
 # 23:52:52 >  Done.
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to