1. 16 Aug, 2006 1 commit
    • unknown's avatar
      Fixed bug #18165. · c8cafde7
      unknown authored
      Made [NOT]BETWEEN predicates SARGable in respect to the second and 
      the third arguments.
      
      
      mysql-test/r/range.result:
        Added a test case to bug #18165.
      mysql-test/t/range.test:
        Added a test case to bug #18165.
      sql/opt_range.cc:
        Fixed bug #18165.
        Made [NOT]BETWEEN predicates SARGable in respect to the second and 
        the third arguments.
        Put in a separate function called get_full_func_mm_tree the functionality
        that builds a conjunction of all SEL_TREEs for a simple predicate of the
        form (f op c), where f was a field and c was a constant, applying different
        equalities f=f' with f' being another field.
      c8cafde7
  2. 15 Aug, 2006 10 commits
    • unknown's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 85ac350c
      unknown authored
      into  mysql.com:/home/psergey/mysql-5.0-opt-bug21282-r2
      
      
      85ac350c
    • unknown's avatar
      BUG#21077: 4.1->5.0 merge · 4ed157ee
      unknown authored
      4ed157ee
    • unknown's avatar
      BUG#21282: Incorrect query results for "t.key NOT IN (<big const list>) · 9cf4750e
      unknown authored
      In fix for BUG#15872, a condition of type "t.key NOT IN (c1, .... cN)"
      where N>1000, was incorrectly converted to
        (-inf < X < c_min) OR (c_max < X)
      Now this conversion is removed, we dont produce any range lists for such
      conditions.
      
      
      mysql-test/r/range.result:
        BUG#21282: Testcase
      mysql-test/t/range.test:
        BUG#21282: Testcase
      sql/opt_range.cc:
        BUG#21282: Incorrect query results for "t.key NOT IN (<big const list>) 
        In fix for BUG#15872, a condition of type "t.key NOT IN (c1, .... cN)"
        where N>1000, was incorrectly converted to 
          (-inf < X < c_min) OR (c_max < X)
        Now this conversion is removed, we dont produce any range lists for such
        conditions.
      9cf4750e
    • unknown's avatar
      BUG#21077: Possible crash caused by invalid sequence of handler::* calls: ... · 9907e970
      unknown authored
      BUG#21077: Possible crash caused by invalid sequence of handler::* calls:                                                
      The crash was caused by invalid sequence of handler::** calls:                                                           
        ha_smth->index_init();                                                                                                 
        ha_smth->index_next_same(); (2)                                                                                        
      (2) is an invalid call as it was not preceeded by any 'scan setup' call
      like index_first() or index_read(). The cause was that QUICK_SELECT::reset()
      didn't "fully reset" the quick select- current QUICK_RANGE wasn't forgotten,
      and quick select might attempt to continue reading the range, which would
      result in the above mentioned invalid sequence of handler calls.
      
      5.x versions are not affected by the bug - they already have the missing
      "range=NULL" clause.                                                    
                                                             
      
      
      mysql-test/r/innodb_mysql.result:
        Testcase for BUG#21077
      mysql-test/t/innodb_mysql.test:
        Testcase for BUG#21077
      sql/opt_range.h:
        BUG#21077: Possible crash caused by invalid sequence of handler::* calls:                                              
         - Make QUICK_SELECT::reset() really reset the quick select
      9907e970
    • unknown's avatar
      Bug #21302: Result not properly sorted when using an ORDER BY on a second table in a join · 2f5ae7c5
      unknown authored
       - undeterminstic tests fixed
      
      
      mysql-test/r/order_by.result:
        Bug #21302: Result not properly sorted when using an ORDER BY on a second table in a join
         - more undeterminstic tests fixed
      mysql-test/t/order_by.test:
        Bug #21302: Result not properly sorted when using an ORDER BY on a second table in a join
         - more undeterminstic tests fixed
      2f5ae7c5
    • unknown's avatar
      Bug #21302: Result not properly sorted when using an ORDER BY · 57745f96
      unknown authored
                  on a second table in a join
      - undeterministic output of the test case removed.
      
      
      57745f96
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 5bf943a9
      unknown authored
      into  rakia.(none):/home/kgeorge/mysql/autopush/B21159-5.0-opt
      
      
      sql/sql_select.cc:
        Auto merged
      5bf943a9
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · fd65e53a
      unknown authored
      into  rakia.(none):/home/kgeorge/mysql/autopush/B21174-5.0-opt
      
      
      sql/sql_select.cc:
        Auto merged
      fd65e53a
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · a0474a81
      unknown authored
      into  rakia.(none):/home/kgeorge/mysql/autopush/B21159-5.0-opt
      
      
      sql/sql_select.cc:
        Auto merged
      a0474a81
    • unknown's avatar
      Bug #21159: Optimizer: wrong result after AND with different data types · 3915c3d9
      unknown authored
      Disable const propagation for Item_hex_string.
      This must be done because Item_hex_string->val_int() is not
      the same as (Item_hex_string->val_str() in BINARY column)->val_int().
      We cannot simply disable the replacement in a particular context (
      e.g. <bin_col> = <int_col> AND <bin_col> = <hex_string>) since
      Items don't know the context they are in and there are functions like 
      IF (<hex_string>, 'yes', 'no').
      Note that this will disable some valid cases as well 
      (e.g. : <bin_col> = <hex_string> AND <bin_col2> = <bin_col>) but 
      there's no way to distinguish the valid cases without having the
      Item's parent say something like : Item->set_context(Item::STRING_RESULT)
      and have all the Items that contain other Items do that consistently.
      
      
      mysql-test/r/compare.result:
        Bug #21159: Optimizer: wrong result after AND with different data types
         - test case
      mysql-test/t/compare.test:
        Bug #21159: Optimizer: wrong result after AND with different data types
         - test case
      sql/sql_select.cc:
        Bug #21159: Optimizer: wrong result after AND with different data types
         - disable const propagation for Item_hex_string.
      3915c3d9
  3. 14 Aug, 2006 3 commits
    • unknown's avatar
      Bug #21174: Index degrades sort performance and · 6675c2c2
      unknown authored
                   optimizer does not honor IGNORE INDEX
       - Allow an index to be used for sorting the table 
         instead of filesort only if it is not disabled by
         IGNORE INDEX.
      
      
      mysql-test/r/group_by.result:
        Bug #21174: Index degrades sort performance and 
                     optimizer does not honor IGNORE INDEX
         - test case
      mysql-test/t/group_by.test:
        Bug #21174: Index degrades sort performance and 
                     optimizer does not honor IGNORE INDEX
         - test case
      6675c2c2
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 3dfd0a22
      unknown authored
      into  rakia.(none):/home/kgeorge/mysql/autopush/B21302-5.0-opt
      
      
      mysql-test/r/join_outer.result:
        Auto merged
      mysql-test/r/order_by.result:
        Auto merged
      3dfd0a22
    • unknown's avatar
      Bug #21302: Result not properly sorted when using an ORDER BY on a second · 06a302ef
      unknown authored
                   table in a join
       The optimizer removes redundant columns in ORDER BY. It is considering 
      redundant every reference to const table column, e.g b in :
      create table t1 (a int, b int, primary key(a)); 
      select 1 from t1 order by b where a = 1
      
      But it must not remove references to const table columns if the 
      const table is an outer table because there still can be 2 values :
      the const value and NULL. e.g.:
      create table t1 (a int, b int, primary key(a));
      select t2.b c from t1 left join t1 t2 on (t1.a = t2.a and t2.a = 5) 
        order by c;
      
      
      mysql-test/r/join_outer.result:
        Bug #21302: Result not properly sorted when using an ORDER BY on a second 
                    table in a join
         - don't remove columns of const tables in ORDER BY if the const table 
           is an outer table.
      mysql-test/r/order_by.result:
        Bug #21302: Result not properly sorted when using an ORDER BY on a second 
                    table in a join
         - test case
      mysql-test/t/order_by.test:
        Bug #21302: Result not properly sorted when using an ORDER BY on a second 
                    table in a join
         - test case
      sql/sql_select.cc:
        Bug #21302: Result not properly sorted when using an ORDER BY on a second 
                    table in a join
         - don't remove columns of const tables in ORDER BY if the const table 
           is an outer table.
      06a302ef
  4. 11 Aug, 2006 3 commits
  5. 10 Aug, 2006 4 commits
    • unknown's avatar
      Merge updates. · 12eb42ac
      unknown authored
      
      mysql-test/r/grant2.result:
        Merge update:  Change between versions, it appears.
      mysql-test/r/heap_btree.result:
        Merge update:  Add deterministic ordering of data, as the order is different 
        between versions.
      mysql-test/r/mysql_client.result:
        Merge update: Help options changed between versions.
      mysql-test/t/heap_btree.test:
        Merge update:  Add deterministic ordering of data, as the order is different 
        between versions.
      BitKeeper/deleted/.del-bug20328.test~c76d766fe3e1eb5:
        Delete: mysql-test/t/bug20328.test
      BitKeeper/deleted/.del-bug20328.result~4fee68989442c2a3:
        Delete: mysql-test/r/bug20328.result
      12eb42ac
    • unknown's avatar
      4a8c861c
    • unknown's avatar
      Removed Iggy's accidentally-added files. · 78c9885f
      unknown authored
      78c9885f
    • unknown's avatar
      Merge zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-4.1 · d278381e
      unknown authored
      into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0
      
      
      client/mysql.cc:
        Auto merged
      heap/hp_delete.c:
        Auto merged
      mysql-test/t/mysqlbinlog.test:
        Auto merged
      scripts/fill_func_tables.sh:
        Auto merged
      scripts/mysql_install_db.sh:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      mysql-test/r/grant2.result:
        Manual merge
      mysql-test/r/heap_btree.result:
        Manual merge
      mysql-test/r/mysql_client.result:
        Manual merge
      mysql-test/t/grant2.test:
        Manual merge
      mysql-test/t/heap_btree.test:
        Manual merge
      mysql-test/t/mysql_client.test:
        Manual merge
      d278381e
  6. 09 Aug, 2006 3 commits
    • unknown's avatar
      Merge may.pils.ru:/home/svoj/devel/mysql/BUG20060/mysql-4.1 · 51bb3b2a
      unknown authored
      into  may.pils.ru:/home/svoj/devel/mysql/BUG20060/mysql-5.0
      
      
      myisam/mi_update.c:
        Auto merged
      51bb3b2a
    • unknown's avatar
      BUG#20060 - mysqld option "--flush " doesn't work for update statement · a2a5f2b5
      unknown authored
      Problem described in this bug report affects MyISAM tables only.
      
      Running mysqld --flush instructs mysqld to sync all changes to disk
      after each SQL statement. It worked well for INSERT and DELETE
      statements, but it did sync for UPDATE only in case if there was
      index change (change of colum that has an index). If no updated column
      has an index, data wasn't synced to disk.
      
      This fix makes UPDATE statement to sync data to disk even if there is
      no index change (that is only data change) and mysqld is run with
      --flush option.
      
      
      myisam/mi_update.c:
        Every myisam function that updates myisam table must end with
        call to _mi_writeinfo(). If operation (second param of
        _mi_writeinfo()) is not 0 it sets share->changed to 1, that is
        flags that data has changed. If operation is 0, this function
        equals to no-op in this case.
        
        mi_update() must always pass !0 value as operation, since even if
        there is no index change there could be data change.
      a2a5f2b5
    • unknown's avatar
      sql_view.cc: · 4abe4b17
      unknown authored
        After merge fix
      
      
      sql/sql_view.cc:
        After merge fix
      4abe4b17
  7. 08 Aug, 2006 3 commits
  8. 07 Aug, 2006 1 commit
    • unknown's avatar
      sql_view.cc: · 55bd1096
      unknown authored
        Memory leak fix
      
      
      sql/sql_view.cc:
        Memory leak fix
      55bd1096
  9. 06 Aug, 2006 3 commits
  10. 03 Aug, 2006 9 commits