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

Modified Files:
        bat_storage.mx 
Log Message:
propagated changes of Saturday Dec 27 2008
from the Nov2008 branch to the development trunk

~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2008/12/27 - nielsnes: src/storage/bat/bat_storage.mx,1.25.2.2
fixing bug in updates
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~


Index: bat_storage.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/storage/bat/bat_storage.mx,v
retrieving revision 1.30
retrieving revision 1.31
diff -u -d -r1.30 -r1.31
--- bat_storage.mx      23 Dec 2008 11:29:19 -0000      1.30
+++ bat_storage.mx      27 Dec 2008 20:13:38 -0000      1.31
@@ -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);
@@ -1135,7 +1129,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