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
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list