MySQL Lists are EOL. Please join:

List:Commits« Previous MessageNext Message »
From:igor Date:January 9 2007 8:17am
Subject:bk commit into 5.0 tree (igor:1.2367)
View as plain text  
Below is the list of changes that have just been committed into a local
5.0 repository of igor. When igor does a push these changes will
be propagated to the main repository and, within 24 hours after the
push, to the public repository.
For information on how to access the public repository
see http://dev.mysql.com/doc/mysql/en/installing-source-tree.html

ChangeSet@stripped, 2007-01-09 00:17:48-08:00, igor@stripped +1 -0
  Merge olga.mysql.com:/home/igor/mysql-5.0-opt
  into  olga.mysql.com:/home/igor/dev-opt/mysql-5.0-opt-bug24345
  MERGE: 1.2344.11.1

  sql/sql_select.cc@stripped, 2007-01-09 00:17:42-08:00, igor@stripped +0 -0
    Auto merged
    MERGE: 1.478.1.1

# This is a BitKeeper patch.  What follows are the unified diffs for the
# set of deltas contained in the patch.  The rest of the patch, the part
# that BitKeeper cares about, is below these diffs.
# User:	igor
# Host:	olga.mysql.com
# Root:	/home/igor/dev-opt/mysql-5.0-opt-bug24345/RESYNC

--- 1.481/sql/sql_select.cc	2007-01-09 00:17:54 -08:00
+++ 1.482/sql/sql_select.cc	2007-01-09 00:17:55 -08:00
@@ -2305,8 +2305,18 @@
         substitution of a const table the key value happens to be null
         then we can state that there are no matches for this equi-join.
       */  
-      if ((keyuse= s->keyuse) && *s->on_expr_ref)
+      if ((keyuse= s->keyuse) && *s->on_expr_ref && !s->embedding_map)
       {
+        /* 
+          When performing an outer join operation if there are no matching rows
+          for the single row of the outer table all the inner tables are to be
+          null complemented and thus considered as constant tables.
+          Here we apply this consideration to the case of outer join operations 
+          with a single inner table only because the case with nested tables
+          would require a more thorough analysis.
+          TODO. Apply single row substitution to null complemented inner tables
+          for nested outer join operations. 
+	*/              
         while (keyuse->table == table)
         {
           if (!(keyuse->val->used_tables() & ~join->const_table_map) &&
Thread
bk commit into 5.0 tree (igor:1.2367)igor9 Jan