Update of /cvsroot/monetdb/sql/src/storage/bat
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv6288/src/storage/bat

Modified Files:
      Tag: Nov2008
        bat_storage.mx 
Log Message:
fixing bug in updates


U bat_storage.mx
Index: bat_storage.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/storage/bat/bat_storage.mx,v
retrieving revision 1.25.2.1
retrieving revision 1.25.2.2
diff -u -d -r1.25.2.1 -r1.25.2.2
--- bat_storage.mx      20 Nov 2008 22:29:26 -0000      1.25.2.1
+++ bat_storage.mx      27 Dec 2008 15:12:14 -0000      1.25.2.2
@@ -185,20 +185,13 @@
        if (bat->ubid) {
                b = temp_descriptor(bat->ubid);
                assert(b);
-/*
-               if (BATcount(b) == 0 && !isVIEW(upd) && upd->htype != TYPE_void 
&& upd->ttype != TYPE_void){
-                       temp_destroy(bat->ubid);
-                       bat->ubid = temp_create(upd);
-                       upd->batDirty |= 2;
-               } else {
-*/
                if (isEUbat(b)){
                        temp_destroy(bat->ubid);
                        bat->ubid = temp_copy(b->batCacheid, FALSE);
                        bat_destroy(b);
                        b = temp_descriptor(bat->ubid);
                }
-               /* TODO: multiple updates of the same row ? */ 
+               BATkey(b, BOUND2BTRUE);
                BATins(b, upd, TRUE);
        } else {
                b = temp_descriptor(bat->ibid);
@@ -226,6 +219,7 @@
                        bat_destroy(b);
                        b = temp_descriptor(bat->ubid);
                }
+               BATkey(b, BOUND2BTRUE);
                BUNins(b, (ptr) &rid, upd, TRUE);
        } else {
                b = temp_descriptor(bat->ibid);
@@ -1115,7 +1109,8 @@
                                bat_destroy(cu);
                                cu = temp_descriptor(obat->ubid);
                        }
-                       copy_inserted(cu, ups);
+                       BATkey(cu, BOUND2BTRUE);
+                       BATins(cu, ups, TRUE);
                        bat_destroy(cu);
                }
                if (store_nr_active == 1 && !cluster) { /* flush all */


------------------------------------------------------------------------------
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins

Reply via email to