Changeset: 8856a4f0e843 for MonetDB
URL: http://dev.monetdb.org/hg/MonetDB?cmd=changeset;node=8856a4f0e843
Modified Files:
sql/server/rel_optimizer.c
Branch: Jul2015
Log Message:
reduced use of identity function
diffs (41 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
@@ -7077,7 +7077,7 @@ rel_apply_rename(mvc *sql, sql_rel *rel)
}
static sql_rel *
-rel_add_identity(mvc *sql, sql_rel *rel, sql_exp **exp)
+_rel_add_identity(mvc *sql, sql_rel *rel, sql_exp **exp)
{
list *exps = rel_projections(sql, rel, NULL, 1, 1);
sql_exp *e;
@@ -7094,6 +7094,28 @@ rel_add_identity(mvc *sql, sql_rel *rel,
return rel;
}
+static sql_exp *
+exps_find_identity(list *exps)
+{
+ node *n;
+
+ for (n=exps->h; n; n = n->next) {
+ sql_exp *e = n->data;
+
+ if (is_identity(e, NULL))
+ return e;
+ }
+ return NULL;
+}
+
+static sql_rel *
+rel_add_identity(mvc *sql, sql_rel *rel, sql_exp **exp)
+{
+ if (rel && is_project(rel->op) && (*exp =
exps_find_identity(rel->exps)) != NULL)
+ return rel;
+ return _rel_add_identity(sql, rel, exp);
+}
+
static int
exps_from_rel( list *exps, sql_rel *rel )
{
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list