Changeset: 66f1a729384c for MonetDB URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=66f1a729384c Modified Files: sql/server/rel_optimizer.c Branch: DVframework Log Message:
pmv: handle corner case, if ranges have no value within. diffs (38 lines): diff --git a/sql/server/rel_optimizer.c b/sql/server/rel_optimizer.c --- a/sql/server/rel_optimizer.c +++ b/sql/server/rel_optimizer.c @@ -1124,6 +1124,10 @@ sel_predicate** convert_all_into_in_clau sps[i]->column = sp->column; sps[i]->cmp_type = 8; /* cmp_in */ + + if(sps[i]->num_values < 1) + break; + *next = *tl; for(j = 0; j < sps[i]->num_values; j++) { @@ -1168,6 +1172,9 @@ sel_predicate** convert_all_into_in_clau sps[i]->column = sp->column; sps[i]->cmp_type = 8; /* cmp_in */ + if(sps[i]->num_values < 1) + break; + current = il; for(j = 0; j < sps[i]->num_values; j++) { @@ -7313,6 +7320,13 @@ void prepare_pmv(mvc* sql, sql_rel* ret) /* convert all PERPAD into IN clauses except if they are equality.*/ sps = convert_all_into_in_clause_except_cmp_equal(list_PERPAD); + /* if ranges or in clauses have no value within */ + for(i = 0; i < num_PERPAD; i++) + { + if(sps[i]->num_values < 1) + return; + } + /* enumerate the pkey space into a temp table */ is_pkey_to_be_enumerated = enumerate_and_insert_into_temp_table(sql, sps, num_PERPAD); _______________________________________________ checkin-list mailing list checkin-list@monetdb.org https://www.monetdb.org/mailman/listinfo/checkin-list