Update of /cvsroot/monetdb/sql/src/server
In directory 23jxhf1.ch3.sourceforge.com:/tmp/cvs-serv13367/src/server
Modified Files:
rel_exp.mx
Log Message:
propagated changes of Wednesday Feb 11 2009 - Thursday Feb 12 2009
from the Feb2009 branch to the development trunk
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
2009/02/11 - nielsnes: src/server/rel_exp.mx,1.22.2.1
disabled mitosis (not ready for production/release)
fixed bugs
2585592 Serial with order by is not working properly
First order then project, added check for project with order)
2582389 subtraction between two columns
Disabled pushing sort down, this causes problems when the sorted
column is used in other selection/projection results)
2581617 cardinality of expression is wrong
When optimizing we sometimes have to fixup the cardinality of
expressions
2523442 IS NULL handled wrong in searched CASE
The case condition column needs its null's removed.
2513620 subquery returns a table crash
Properly detect unexpected table results in the selection
2499537 SQL: time to implement BINOP
Done
Optimizer now also pushes select under cross-product
fixed bug in alter add index
fixed bug in "OR" handling, with views. These require a distinct over
their "%TID%" columns. These TID columns are usualy not include in a
view, but when used now they are re-introduced.
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Index: rel_exp.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/rel_exp.mx,v
retrieving revision 1.22
retrieving revision 1.23
diff -u -d -r1.22 -r1.23
--- rel_exp.mx 13 Jan 2009 14:47:54 -0000 1.22
+++ rel_exp.mx 12 Feb 2009 15:49:04 -0000 1.23
@@ -509,16 +509,17 @@
case e_convert:
return rel_find_exp_(rel, e->l);
case e_aggr:
- case e_func: {
- list *l = e->l;
- node *n = l->h;
-
- while (ne == NULL && n != NULL) {
- ne = rel_find_exp_(rel, n->data);
- n = n->next;
+ case e_func:
+ if (e->l) {
+ list *l = e->l;
+ node *n = l->h;
+
+ while (ne == NULL && n != NULL) {
+ ne = rel_find_exp_(rel, n->data);
+ n = n->next;
+ }
+ return ne;
}
- return ne;
- }
case e_cmp:
return NULL;
case e_atom:
------------------------------------------------------------------------------
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins