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