Changeset: 0668f9b975fb for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=0668f9b975fb
Modified Files:
        sql/rel.txt
        sql/server/rel_optimizer.c
        sql/server/rel_psm.c
Branch: trails
Log Message:

Cleanup


diffs (71 lines):

diff --git a/sql/rel.txt b/sql/rel.txt
--- a/sql/rel.txt
+++ b/sql/rel.txt
@@ -159,4 +159,5 @@ e_psm
                psm_while       ->l cond_exp
                                ->r loop_exp_list
                psm_return      ->l return_exp
+               psm_yield       ->l return_exp
                psm_rel         ->l relation
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
@@ -229,7 +229,7 @@ psm_exp_properties(mvc *sql, global_prop
        if (e->type == e_psm) {
                if (e->flag & PSM_SET) {
                        psm_exp_properties(sql, gp, e->l);
-               } else if (e->flag & PSM_RETURN || e->flag & PSM_YIELD) {
+               } else if (e->flag & PSM_RETURN/* || e->flag & PSM_YIELD*/) {
                        psm_exp_properties(sql, gp, e->l);
                } else if (e->flag & PSM_WHILE) {
                        psm_exp_properties(sql, gp, e->l);
@@ -2604,7 +2604,7 @@ exp_case_fixup( mvc *sql, sql_exp *e )
                        /* todo */
                } else if (e->flag & PSM_VAR) {
                        /* todo */
-               } else if (e->flag & PSM_RETURN || e->flag & PSM_YIELD) {
+               } else if (e->flag & PSM_RETURN/* || e->flag & PSM_YIELD*/) {
                        e->l = exp_case_fixup(sql, e->l);
                } else if (e->flag & PSM_WHILE) {
                        e->l = exp_case_fixup(sql, e->l);
@@ -8645,7 +8645,7 @@ rewrite_exp(mvc *sql, sql_exp *e, rewrit
                return e;
        if (e->flag & PSM_VAR) 
                return e;
-       if (e->flag & PSM_SET || e->flag & PSM_RETURN || e->flag & PSM_YIELD) {
+       if (e->flag & PSM_SET || e->flag & PSM_RETURN/* || e->flag & 
PSM_YIELD*/) {
                e->l = rewrite_exp(sql, e->l, rewrite_rel, rewriter, 
has_changes);
        }
        if (e->flag & PSM_WHILE || e->flag & PSM_IF) {
diff --git a/sql/server/rel_psm.c b/sql/server/rel_psm.c
--- a/sql/server/rel_psm.c
+++ b/sql/server/rel_psm.c
@@ -931,19 +931,15 @@ rel_create_func(mvc *sql, dlist *qname, 
                        sql->params = NULL;
                        if (!b) 
                                return NULL;
-                       /*if (is_func && has_yield(b)) {
-                               sql->is_factory = 1;
-                       } else {*/
-                               /* check if we have a return statement */
-                               if (!sql->is_factory && is_func && restype && 
!has_return(b)) {
-                                       return sql_error(sql, 01,
-                                                                        
"CREATE %s%s: missing return statement", KF, F);
-                               }
-                               if (!sql->is_factory && !is_func && !restype && 
has_return(b)) {
-                                       return sql_error(sql, 01, "CREATE %s%s: 
procedures "
-                                                       "cannot have return 
statements", KF, F);
-                               }
-                       //}
+                       /* check if we have a return statement */
+                       if (!sql->is_factory && is_func && restype && 
!has_return(b)) {
+                               return sql_error(sql, 01,
+                                                                "CREATE %s%s: 
missing return statement", KF, F);
+                       }
+                       if (!sql->is_factory && !is_func && !restype && 
has_return(b)) {
+                               return sql_error(sql, 01, "CREATE %s%s: 
procedures "
+                                               "cannot have return 
statements", KF, F);
+                       }
                        /* in execute mode we instantiate the function */
                        if (instantiate || deps) {
                                return rel_psm_block(sql->sa, b);
_______________________________________________
checkin-list mailing list
checkin-list@monetdb.org
https://www.monetdb.org/mailman/listinfo/checkin-list

Reply via email to