Update of /cvsroot/monetdb/sql/src/server
In directory sc8-pr-cvs16.sourceforge.net:/tmp/cvs-serv26670/src/server
Modified Files:
bin_optimizer.mx
Log Message:
propagated changes of Friday Mar 07 2008 - Monday Mar 10 2008
from the SQL_2-22 branch to the development trunk
===================================================================
2008/03/07 - nielsnes: src/server/bin_optimizer.mx,1.10.2.1
we cannot push a limit simply through a cross product (TODO just repeat
the limit under both the inputs of the corss product, assuming no order
is needed afcourse)
===================================================================
2008/03/07 - romulog: src/test/BugTracker/Tests/All,1.80.2.6
Add tests for bugs:
range_select.SF-1907006
huge_math_expre.SF-1907048
join_table_with_floats.SF-1907060
ms_round.SF-1907063
decl_sec_tab_in_func_body.SF-1907858
coalesce_equal_coalesce.SF-1907905
like_perl.SF-1907051
sql_prepare_prob.SF-1909638
===================================================================
2008/03/08 - romulog: src/sql/ms_functions.sql,1.1.12.1
Correct the function ms_round...
Truncate does not work with floats ;)
===================================================================
Index: bin_optimizer.mx
===================================================================
RCS file: /cvsroot/monetdb/sql/src/server/bin_optimizer.mx,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- bin_optimizer.mx 11 Jan 2008 10:52:11 -0000 1.10
+++ bin_optimizer.mx 10 Mar 2008 10:16:25 -0000 1.11
@@ -267,12 +267,12 @@
/* try to push the limit through the (fetch) join */
j = s->op1.stval;
- /* equi join on same base table */
+
+ /* push through the projection joins */
+ /* TODO put limit under (and keep above) cross products */
if (s->flag == 0 &&
- j->type == st_join &&
- ((j->flag == cmp_equal &&
- j->op1.stval->t && j->op1.stval->t == j->op2.stval->h) ||
- j->flag == cmp_all)) {
+ j->type == st_join && j->flag == cmp_equal &&
+ j->op1.stval->t && j->op1.stval->t == j->op2.stval->h) {
stmt *l = stmt_dup(j->op1.stval);
stmt *r = stmt_dup(j->op2.stval);
-------------------------------------------------------------------------
This SF.net email is sponsored by: Microsoft
Defy all challenges. Microsoft(R) Visual Studio 2008.
http://clk.atdmt.com/MRT/go/vse0120000070mrt/direct/01/
_______________________________________________
Monetdb-sql-checkins mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/monetdb-sql-checkins