4356 jonas oreland 2011-05-04
ndb - add --no-defaults to 2 --exec's which would otherwise fail mysteriously if having non-default environment (found by having non standard environment by misstake)
modified:
mysql-test/include/ndb_backup_id.inc
mysql-test/suite/ndb/t/ndb_show_tables_result.inc
4355 Ole John Aske 2011-05-04
Extended SPJ block with the result mode 'NI_REPEAT_SCAN_RESULT' which will
enable us to also push bushy-scan operation (or 'star-join') when integrated
with mysqld.
This mode comes in addition as an alternative to the already existing way
of handling pushed queries with multiple child scans.
- Currently new result rows from all child scans related to the same parent
operation is returned simultaneously when fetching more scan rows.
In order for mysqld to produce joined results from these rows, it has
to buffer all rows from the other scans currently not being iterated
in the nested loop join algorith. As #rows returned might be (almost)
infinite this was not possible to integrate with mysqld, and has currently
forced us to enforce an artificial parent dependencies between bushy-scans.
This had the side effect that cross joined results was materialized on
the SPJ nodes, and lots of redundant result rows had to be returned.
- The new 'NI_REPEAT_SCAN_RESULT' aims at reducing these redundant rows.
It moves X-join granularity from 'repeat rows' (as above) to
'repeat batches' such that: If multiple batches from bushy scans has
remaining rows, a sequence of NEXTREQ's will fill new rows into *one* of
batch buffers, while the other scan batches will be filled with
rows which are repeated from the the previous fetches.
The combination of these batched rows will be unique, and returned
such that if the client iterates all current rows in the batched it
will form the full crossproduct of the start-joined scans.
modified:
storage/ndb/include/kernel/signaldata/QueryTree.hpp
storage/ndb/src/kernel/blocks/dbspj/Dbspj.hpp
storage/ndb/src/kernel/blocks/dbspj/DbspjMain.cpp
storage/ndb/src/ndbapi/NdbQueryBuilder.cpp
storage/ndb/src/ndbapi/NdbQueryBuilderImpl.hpp
storage/ndb/src/ndbapi/ndberror.c
=== modified file 'mysql-test/include/ndb_backup_id.inc'
--- a/mysql-test/include/ndb_backup_id.inc 2009-07-14 07:52:35 +0000
+++ b/mysql-test/include/ndb_backup_id.inc 2011-05-04 13:00:44 +0000
@@ -1,6 +1,6 @@
# there is no neat way to find the backupid, this is a hack to find it...
--let $dump_file= $MYSQLTEST_VARDIR/tmp/select_all.txt
---exec $NDB_SELECT_ALL -d sys --delimiter=, SYSTAB_0 > $dump_file
+--exec $NDB_SELECT_ALL --no-defaults -d sys --delimiter=, SYSTAB_0 > $dump_file
CREATE TEMPORARY TABLE test.backup_info(
a BIGINT,
=== modified file 'mysql-test/suite/ndb/t/ndb_show_tables_result.inc'
--- a/mysql-test/suite/ndb/t/ndb_show_tables_result.inc 2009-10-09 16:13:54 +0000
+++ b/mysql-test/suite/ndb/t/ndb_show_tables_result.inc 2011-05-04 13:00:44 +0000
@@ -2,7 +2,7 @@
let $dump_file = $MYSQLTEST_VARDIR/tmp/ndb_show_tables.txt;
# Dump the output of ndb_show_tables to file
---exec $NDB_SHOW_TABLES --p > $dump_file
+--exec $NDB_SHOW_TABLES --no-defaults --p > $dump_file
TRUNCATE ndb_show_tables_results;
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-5.1-telco-7.0 branch (jonas:4355 to 4356) | jonas oreland | 4 May |