Changeset: a629ebd9beac for MonetDB
URL: https://dev.monetdb.org/hg/MonetDB/rev/a629ebd9beac
Modified Files:
sql/server/rel_rel.c
sql/test/SQLancer/Tests/sqlancer18.test
Branch: default
Log Message:
don't add an identity column on projects distinct.
diffs (33 lines):
diff --git a/sql/server/rel_rel.c b/sql/server/rel_rel.c
--- a/sql/server/rel_rel.c
+++ b/sql/server/rel_rel.c
@@ -1404,7 +1404,7 @@ static sql_rel *
*exp = NULL;
return rel;
}
- if (!is_simple_project(rel->op) || !list_empty(rel->r) ||
rel_is_ref(rel))
+ if (!is_simple_project(rel->op) || need_distinct(rel) ||
!list_empty(rel->r) || rel_is_ref(rel))
rel = rel_project(sql->sa, rel, exps);
e = rel->exps->h->data;
e = exp_column(sql->sa, exp_relname(e), exp_name(e), exp_subtype(e),
rel->card, has_nil(e), is_intern(e));
@@ -1419,7 +1419,7 @@ static sql_rel *
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,
rel->l)) != NULL)
+ if (rel && is_project(rel->op) && !need_distinct(rel) && (*exp =
exps_find_identity(rel->exps, rel->l)) != NULL)
return rel;
return _rel_add_identity(sql, rel, exp);
}
diff --git a/sql/test/SQLancer/Tests/sqlancer18.test
b/sql/test/SQLancer/Tests/sqlancer18.test
--- a/sql/test/SQLancer/Tests/sqlancer18.test
+++ b/sql/test/SQLancer/Tests/sqlancer18.test
@@ -314,7 +314,7 @@ SELECT vx.vc0 FROM vx WHERE vx.vc0 <> AL
1970-01-01
NULL
-statement error GDK reported error: BATsubcross: more than one match
+statement error GDK reported error: mergejoin: more than one match
SELECT max((SELECT (SELECT rt2.c1 FROM t2) FROM t2 as rt2))
statement ok
_______________________________________________
checkin-list mailing list
[email protected]
https://www.monetdb.org/mailman/listinfo/checkin-list