• unknown's avatar
    This ChangeSet Introdices Item_equal. · da566c16
    unknown authored
    The objects of this class represent multiple conjunctive equalities
    in where conditions: =(f1,f2,...fn) <=> f1=f2 and f2= ... and =fn.
    The objects are used to generate new possibale paths to access
    the tables when executing a query.
    They are also used to optimize the execution plan 
    chosen by the optimizer for the query.  
    
    
    sql/item.cc:
      Introduced Item_equal
    sql/item.h:
      Introduced Item_equal.
      Added traverse method.
    sql/item_cmpfunc.cc:
      Introduced Item_equal.
      Added traverse mehtod.
    sql/item_cmpfunc.h:
      Itroduced Item_equal and Item_equal_iterator.
    sql/item_func.cc:
      Added traverse method.
      Introduced Item_equal.
    sql/item_func.h:
      Introduced Item_equal.
      Added traverse method.
    sql/item_row.cc:
      Added traverse method.
    sql/item_row.h:
      Added traverse method.
    sql/item_strfunc.h:
      Added traverse method.
    sql/opt_range.cc:
      Used Item_equal in range analysis.
    sql/opt_sum.cc:
      Introduced Item_equal.
    sql/sql_list.h:
      Added concat and disjoin methods to lists.
      Fixed remove method for lists.
    sql/sql_select.cc:
      Introdiced Item_equal:
        created Item_equal;
        used Item_equal objects to generate new paths to access tables.
        used Item_equal objects to optimize the execution plan chosen by optimizer.
    sql/sql_select.h:
      Introduced Item_equal.
    da566c16
item_func.h 29.3 KB