3371 Ole John Aske 2010-11-16
SPJ-scan-scan: Extended RQG grammar to also allow 'IS (not) NULL', general comparison predicates, IN predicates,
and AND/OR combinations in join conditions.
modified:
storage/ndb/test/rqg/spj_test.yy
3370 Ole John Aske 2010-11-16
SPJ-scan-scan: Added handling and testcase for JT_SYSTEM optimized tables:
A JT_SYSTEM table has already been read, or determined to contain no rows, by the optimizer.
This table should therefore be excluded from pushability evaluation in ha_ndbcluster.
modified:
mysql-test/suite/ndb/r/ndb_join_pushdown.result
mysql-test/suite/ndb/t/ndb_join_pushdown.test
sql/abstract_query_plan.cc
sql/abstract_query_plan.h
sql/ha_ndbcluster.cc
sql/sql_select.cc
=== modified file 'storage/ndb/test/rqg/spj_test.yy'
--- a/storage/ndb/test/rqg/spj_test.yy 2010-11-12 08:14:52 +0000
+++ b/storage/ndb/test/rqg/spj_test.yy 2010-11-16 13:30:39 +0000
@@ -282,6 +282,7 @@ join_condition:
| int_condition
| int_condition
| char_condition
+ | other_condition
;
int_condition:
@@ -308,8 +309,8 @@ int_multi_conditions:
existing_left_table.col_int = existing_right_table.col_int AND
existing_left_table.col_int_key = existing_right_table.col_int_key AND
existing_left_table.col_int_unique = existing_right_table.col_int_unique
- |
- int_condition AND int_condition
+#|
+# int_condition AND int_condition
;
char_condition:
@@ -326,8 +327,18 @@ char_multi_conditions:
# ix2(col_varchar_256,col_char_16_unique)
existing_left_table.col_varchar_256 = existing_right_table.col_varchar_256 AND
existing_left_table.col_varchar_10_unique = existing_right_table.col_varchar_10_unique
- |
- char_condition AND char_condition
+#|
+# char_condition AND char_condition
+ ;
+
+other_condition:
+ existing_left_table.col_int comparison_operator existing_right_table.col_int
+ | existing_left_table.col_int IS not NULL
+ | existing_right_table.col_int IS not NULL
+ | existing_left_table.col_int not IN (number_list)
+ | existing_right_table.col_int not IN (number_list)
+ | join_condition and_or join_condition
+ | not (join_condition) is_truth_value
;
existing_left_table:
No bundle (reason: useless for push emails).
| Thread |
|---|
| • bzr push into mysql-5.1-telco-7.0-spj-scan-vs-scan branch(ole.john.aske:3370 to 3371) | Ole John Aske | 16 Nov |