Changeset: a52701a96976 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=a52701a96976
Modified Files:
sql/server/rel_select.c
sql/storage/store.c
Branch: Jul2012
Log Message:
Fixed problem with concat of clob's with other strings, ie keep 0 digits (ie
variable length)
diffs (34 lines):
diff --git a/sql/server/rel_select.c b/sql/server/rel_select.c
--- a/sql/server/rel_select.c
+++ b/sql/server/rel_select.c
@@ -3451,7 +3451,7 @@ rel_binop_(mvc *sql, sql_exp *l, sql_exp
} else if (f->func->fix_scale == SCALE_MUL) {
l = exp_sum_scales(sql, f, l, r);
} else if (f->func->fix_scale == DIGITS_ADD) {
- f->res.digits = t1->digits + t2->digits;
+ f->res.digits = (t1->digits && t2->digits)?t1->digits +
t2->digits:0;
}
return exp_binop(sql->sa, l, r, f);
} else {
@@ -3504,7 +3504,7 @@ rel_binop_(mvc *sql, sql_exp *l, sql_exp
} else if (f->func->fix_scale == SCALE_MUL) {
l = exp_sum_scales(sql, f, l, r);
} else if (f->func->fix_scale == DIGITS_ADD) {
- f->res.digits = t1->digits + t2->digits;
+ f->res.digits = (t1->digits &&
t2->digits)?t1->digits + t2->digits:0;
}
return exp_binop(sql->sa, l, r, f);
}
diff --git a/sql/storage/store.c b/sql/storage/store.c
--- a/sql/storage/store.c
+++ b/sql/storage/store.c
@@ -1546,7 +1546,9 @@ store_manager(void)
MT_lock_unset(&bs_lock, "store_manager");
if (logging && res == LOG_OK)
res = logger_funcs.cleanup();
+ MT_lock_set(&bs_lock, "store_manager");
logging = 0;
+ MT_lock_unset(&bs_lock, "store_manager");
if (res != LOG_OK)
GDKfatal("write-ahead logging failure, disk full?");
}
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list