List:Commits« Previous MessageNext Message »
From:Ole John Aske Date:November 16 2010 1:31pm
Subject:bzr push into mysql-5.1-telco-7.0-spj-scan-vs-scan branch
(ole.john.aske:3370 to 3371)
View as plain text  
 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 Aske16 Nov