Changeset: 357250811aa0 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=357250811aa0
Modified Files:
        sql/server/rel_optimizer.c
        sql/server/rel_prop.c
        sql/server/rel_prop.h
Branch: Dec2011
Log Message:

small fix, make sure only range selects/joins are rewriten


diffs (46 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
@@ -284,7 +284,8 @@ rel_properties(mvc *sql, global_props *g
        switch (rel->op) {
        case op_basetable:
        case op_table:
-               rel->p = prop_create(sql->sa, PROP_COUNT, rel->p);
+               if (!find_prop(rel->p, PROP_COUNT))
+                       rel->p = prop_create(sql->sa, PROP_COUNT, rel->p);
                break;
        case op_join: 
                join_properties(sql, rel);
@@ -2271,7 +2272,7 @@ exps_merge_rse( mvc *sql, list *l, list 
                                list_merge(exps, re->r, NULL);
                                fnd = exp_in(sql->sa, le->l, exps, cmp_in);
                        } else if (le->f && re->f && /* merge ranges */
-                                  le->flag == re->flag) {
+                                  le->flag == re->flag && le->flag <= cmp_lt) {
                                sql_subfunc *min = sql_bind_func(sql->sa, 
sql->session->schema, "sql_min", exp_subtype(le->r), exp_subtype(re->r), 
F_FUNC);
                                sql_subfunc *max = sql_bind_func(sql->sa, 
sql->session->schema, "sql_max", exp_subtype(le->f), exp_subtype(re->f), 
F_FUNC);
                                sql_exp *mine, *maxe;
diff --git a/sql/server/rel_prop.c b/sql/server/rel_prop.c
--- a/sql/server/rel_prop.c
+++ b/sql/server/rel_prop.c
@@ -55,7 +55,7 @@ find_prop( prop *p, int kind)
        return p;
 }
 
-char *
+const char *
 propkind2string( prop *p)
 {
        switch(p->kind) {
diff --git a/sql/server/rel_prop.h b/sql/server/rel_prop.h
--- a/sql/server/rel_prop.h
+++ b/sql/server/rel_prop.h
@@ -39,7 +39,7 @@ typedef struct prop {
 extern prop * prop_create( sql_allocator *sa, int kind, prop *pre );
 extern prop * prop_copy( sql_allocator *sa, prop *p);
 extern prop * find_prop( prop *p, int kind);
-extern char * propkind2string( prop *p);
+extern const char * propkind2string( prop *p);
 extern char * propvalue2string( prop *p);
 
 #endif /* _REL_PROP_H_ */
_______________________________________________
Checkin-list mailing list
[email protected]
http://mail.monetdb.org/mailman/listinfo/checkin-list

Reply via email to