Changeset: 3fb0ebc2bce8 for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/3fb0ebc2bce8
Modified Files:
        sql/server/rel_partition.c
Branch: default
Log Message:

rel_partition uses C switch


diffs (79 lines):

diff --git a/sql/server/rel_partition.c b/sql/server/rel_partition.c
--- a/sql/server/rel_partition.c
+++ b/sql/server/rel_partition.c
@@ -162,28 +162,51 @@ rel_partition(mvc *sql, sql_rel *rel)
        if (mvc_highwater(sql))
                return sql_error(sql, 10, SQLSTATE(42000) "Query too complex: 
running out of stack space");
 
-       if (is_basetable(rel->op)) {
+       switch (rel->op) {
+       case op_basetable:
                rel->flag = REL_PARTITION;
-       } else if (is_simple_project(rel->op) || is_select(rel->op) || 
is_groupby(rel->op) || is_topn(rel->op) || is_sample(rel->op)) {
+               break;
+       case op_project:
+       case op_select:
+       case op_groupby:
+       case op_topn:
                if (rel->l)
                        rel_partition(sql, rel->l);
-       } else if (is_semi(rel->op) || is_set(rel->op) || is_merge(rel->op)) {
+               break;
+       case op_semi:
+       case op_anti:
+
+       case op_union:
+       case op_inter:
+       case op_except:
+
+       case op_merge:
                if (rel->l)
                        rel_partition(sql, rel->l);
                if (rel->r)
                        rel_partition(sql, rel->r);
-       } else if (is_insert(rel->op) || is_update(rel->op) || 
is_delete(rel->op) || is_truncate(rel->op)) {
+               break;
+       case op_insert:
+       case op_update:
+       case op_delete:
+       case op_truncate:
                if (rel->r && rel->card <= CARD_AGGR)
                        rel_partition(sql, rel->r);
-       } else if (is_join(rel->op)) {
+               break;
+       case op_join:
+       case op_left:
+       case op_right:
+       case op_full:
                if (has_groupby(rel->l) || has_groupby(rel->r)) {
                        if (rel->l)
                                rel_partition(sql, rel->l);
                        if (rel->r)
                                rel_partition(sql, rel->r);
-               } else
+               } else {
                        _rel_partition(sql, rel);
-       } else if (is_ddl(rel->op)) {
+               }
+               break;
+       case op_ddl:
                if (rel->flag == ddl_output || rel->flag == ddl_create_seq || 
rel->flag == ddl_alter_seq || rel->flag == ddl_alter_table || rel->flag == 
ddl_create_table || rel->flag == ddl_create_view) {
                        if (rel->l)
                                rel_partition(sql, rel->l);
@@ -193,11 +216,14 @@ rel_partition(mvc *sql, sql_rel *rel)
                        if (rel->r)
                                rel_partition(sql, rel->r);
                }
-       } else if (rel->op == op_table) {
+               break;
+       case op_table:
                if ((IS_TABLE_PROD_FUNC(rel->flag) || rel->flag == 
TABLE_FROM_RELATION) && rel->l)
                        rel_partition(sql, rel->l);
-       } else {
+               break;
+       case op_sample:
                assert(0);
+               break;
        }
        return rel;
 }
_______________________________________________
checkin-list mailing list -- [email protected]
To unsubscribe send an email to [email protected]

Reply via email to