Changeset: ac68d2a866de for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=ac68d2a866de
Modified Files:
sql/backends/monet5/rel_bin.c
sql/server/rel_sequence.c
Branch: default
Log Message:
fixes for bug 6657
diffs (30 lines):
diff --git a/sql/backends/monet5/rel_bin.c b/sql/backends/monet5/rel_bin.c
--- a/sql/backends/monet5/rel_bin.c
+++ b/sql/backends/monet5/rel_bin.c
@@ -2976,6 +2976,11 @@ rel2bin_select(backend *be, sql_rel *rel
if (s->nrcols == 0){
if (!predicate && sub)
predicate = stmt_const(be, bin_first_column(be,
sub), stmt_bool(be, 1));
+ if (e->type != e_cmp) {
+ sql_subtype *bt = sql_bind_localtype("bit");
+
+ s = stmt_convert(be, s, exp_subtype(e), bt);
+ }
sel = stmt_uselect(be, predicate, s, cmp_equal, sel, 0);
} else if (e->type != e_cmp) {
sel = stmt_uselect(be, s, stmt_bool(be, 1), cmp_equal,
NULL, 0);
diff --git a/sql/server/rel_sequence.c b/sql/server/rel_sequence.c
--- a/sql/server/rel_sequence.c
+++ b/sql/server/rel_sequence.c
@@ -261,6 +261,11 @@ rel_alter_seq(
val = rel_value_exp2(query, &r, start_list->h->next->data.sym,
sql_sel, ek, &is_last);
if (!val || !(val = rel_check_type(sql, lng_t, val,
type_equal)))
return NULL;
+ if (val && r && r->op == op_project) {
+ exp_label(sql->sa, val, ++sql->label);
+ val = rel_project_add_exp(sql, r, val);
+ val = exp_ref(sql->sa, val);
+ }
} else if (start_type == 2) {
assert (start_list->h->next->type == type_lng);
val = exp_atom_lng(sql->sa, start_list->h->next->data.l_val);
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list