Changeset: af425485fc3d for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=af425485fc3d
Modified Files:
gdk/gdk_storage.c
sql/backends/monet5/sql.c
sql/storage/bat/bat_storage.c
Branch: default
Log Message:
merged with Jul2015
diffs (55 lines):
diff --git a/gdk/gdk_storage.c b/gdk/gdk_storage.c
--- a/gdk/gdk_storage.c
+++ b/gdk/gdk_storage.c
@@ -642,6 +642,7 @@ BATmsync(BAT *b)
MT_Id tid;
#endif
+ assert(b->batPersistence == PERSISTENT);
if (b->T->heap.storage == STORE_MMAP) {
#ifdef MSYNC_BACKGROUND
MT_create_thread(&tid, BATmsyncImplementation, (void *)
&b->T->heap, MT_THR_DETACHED);
diff --git a/sql/backends/monet5/sql.c b/sql/backends/monet5/sql.c
--- a/sql/backends/monet5/sql.c
+++ b/sql/backends/monet5/sql.c
@@ -1973,7 +1973,7 @@ mvc_append_wrap(Client cntxt, MalBlkPtr
t = mvc_bind_table(m, s, tname);
if (t == NULL)
throw(SQL, "sql.append", "Table missing");
- if( b && BATcount(b) > 4096)
+ if( b && BATcount(b) > 4096 && b->batPersistence == PERSISTENT)
BATmsync(b);
if (cname[0] != '%' && (c = mvc_bind_column(m, t, cname)) != NULL) {
store_funcs.append_col(m->session->tr, c, ins, tpe);
@@ -2035,9 +2035,9 @@ mvc_update_wrap(Client cntxt, MalBlkPtr
BBPunfix(upd->batCacheid);
throw(SQL, "sql.update", "Table missing");
}
- if( upd && BATcount(upd) > 4096)
+ if( upd && BATcount(upd) > 4096 && upd->batPersistence == PERSISTENT)
BATmsync(upd);
- if( tids && BATcount(tids) > 4096)
+ if( tids && BATcount(tids) > 4096 && tids->batPersistence == PERSISTENT)
BATmsync(tids);
if (cname[0] != '%' && (c = mvc_bind_column(m, t, cname)) != NULL) {
store_funcs.update_col(m->session->tr, c, tids, upd, tpe);
@@ -2110,7 +2110,7 @@ mvc_delete_wrap(Client cntxt, MalBlkPtr
t = mvc_bind_table(m, s, tname);
if (t == NULL)
throw(SQL, "sql.delete", "42S02!Table missing");
- if( b && BATcount(b) > 4096)
+ if( b && BATcount(b) > 4096 && b->batPersistence == PERSISTENT)
BATmsync(b);
store_funcs.delete_tab(m->session->tr, t, b, tpe);
if (tpe == TYPE_bat)
diff --git a/sql/storage/bat/bat_storage.c b/sql/storage/bat/bat_storage.c
--- a/sql/storage/bat/bat_storage.c
+++ b/sql/storage/bat/bat_storage.c
@@ -1866,6 +1866,7 @@ tr_update_delta( sql_trans *tr, sql_delt
obat->bid = cbat->ibid;
cbat->bid = cbat->ibid = 0;
+ BATmsync(ins);
ins = cur;
cur = newcur;
} else {
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list