An error occurred fetching the project authors.
  1. 20 Oct, 2004 3 commits
  2. 19 Oct, 2004 1 commit
    • unknown's avatar
      table.h, sql_select.h: · 05933f13
      unknown authored
        Added the code processing on expressions for applying
        multiple equalities.
      sql_select.cc:
        Post-merge fixes for Item_equal patch.
        Added the code processing on expressions for applying
        multiple equalities.
      Many files:
        Post-merge fixes for Item_equal patch.
      item_cmpfunc.cc:
        Post-merge fixes for Item_equal patch.
        Fixed a problem when an equality field=const cannot be applied to
        the predicate P(field,c) for constant propagation as a conversion
        of field is needed.
      item.h, item.cc:
        Fixed a problem when an equality field=const cannot be applied to
        the predicate P(field,c) for constant propagation as a conversion
        of field is needed.
      
      
      mysql-test/r/func_test.result:
        Post-merge fixes for Item_equal patch.
      mysql-test/r/index_merge.result:
        Post-merge fixes for Item_equal patch.
      mysql-test/r/join_nested.result:
        Post-merge fixes for Item_equal patch.
      mysql-test/r/range.result:
        Post-merge fixes for Item_equal patch.
      sql/item.cc:
        Fixed a problem when an equality field=const cannot be applied to
        the predicate P(field,c) for constant propagation as a conversion
        of field is needed.
      sql/item.h:
        Fixed a problem when an equality field=const cannot be applied to
        the predicate P(field,c) for constant propagation as a conversion
        of field is needed.
      sql/item_cmpfunc.cc:
        Post-merge fixes for Item_equal patch.
        Fixed a problem when an equality field=const cannot be applied to
        the predicate P(field,c) for constant propagation as a conversion
        of field is needed.
      sql/opt_range.cc:
        Post-merge fixes for Item_equal patch.
      sql/sql_select.cc:
        Post-merge fixes for Item_equal patch.
        Added the code processing on expressions for applying
        multiple equalities.
      sql/sql_select.h:
        Added the code processing on expressions for applying
        multiple equalities.
      sql/table.h:
        Added the code processing on expressions for applying
        multiple equalities.
      05933f13
  3. 18 Oct, 2004 1 commit
    • unknown's avatar
      compatibility fix · bd5bafe1
      unknown authored
      test results corrected
      
      
      mysql-test/r/range.result:
        test results corrected
      mysql-test/t/range.test:
        test results corrected
      sql/opt_range.cc:
        compatibility fix
      bd5bafe1
  4. 13 Oct, 2004 1 commit
  5. 12 Oct, 2004 1 commit
  6. 11 Oct, 2004 2 commits
  7. 10 Oct, 2004 1 commit
  8. 28 Sep, 2004 1 commit
    • unknown's avatar
      Strict mode & better warnings · 2a491215
      unknown authored
      Under strict mode MySQL will generate an error message if there was any conversion when assigning data to a field.
      Added checking of date/datetime fields.
      If strict mode, give error if we have not given value to field without a default value (for INSERT)
      
      
      client/mysqltest.c:
        Added --exit as an option to abort a test in a middle (good for debugging)
      include/my_time.h:
        Added flags to allow checking of dates in strict mode
      include/mysql_com.h:
        Added flag to check if field has a default value or not
      include/mysqld_error.h:
        New error messages for strict mode
      include/sql_state.h:
        Fixed SQL states (for strict mode tests)
      mysql-test/r/auto_increment.result:
        Updated error messages
      mysql-test/r/func_sapdb.result:
        Added test for ALLOW_INVALID_DATES
      mysql-test/r/func_str.result:
        Updated error messages
      mysql-test/r/func_time.result:
        Updated error messages
      mysql-test/r/insert.result:
        Updated error messages
      mysql-test/r/loaddata.result:
        Updated error messages
      mysql-test/r/select.result:
        Updated error messages
      mysql-test/r/sp.result:
        Updated error messages
      mysql-test/r/timezone2.result:
        Updated error messages
      mysql-test/r/type_datetime.result:
        Updated error messages
      mysql-test/r/type_decimal.result:
        Updated error messages
      mysql-test/r/type_float.result:
        Updated error messages
      mysql-test/r/type_ranges.result:
        Updated error messages
      mysql-test/r/type_time.result:
        Updated error messages
      mysql-test/r/type_uint.result:
        Updated error messages
      mysql-test/r/warnings.result:
        Updated error messages
      mysql-test/t/func_sapdb.test:
        Aded test
      sql-common/my_time.c:
        Added checking of dates
      sql/field.cc:
        Better error messages
        Optimization of warning handling (by introducing of check_int())
        Changed to use my_strtoll10()
      sql/field.h:
        Added check_int()
      sql/item_func.cc:
        Warnings when dividing by NULL
      sql/item_func.h:
        Warnings when dividing by NULL
      sql/item_timefunc.cc:
        Testing of date/datetime
        Use macros instead of constants
      sql/mysql_priv.h:
        New modes (part of strict mode)
      sql/mysqld.cc:
        New modes (part of strict mode)
      sql/opt_range.cc:
        Simple optimizations
      sql/protocol.cc:
        Add note/warning level to find_handler()
      sql/set_var.cc:
        Added mode 'traditional'
      sql/share/czech/errmsg.txt:
        New error messages for strict mode
      sql/share/danish/errmsg.txt:
        New error messages for strict mode
      sql/share/dutch/errmsg.txt:
        New error messages for strict mode
      sql/share/english/errmsg.txt:
        New error messages for strict mode
      sql/share/estonian/errmsg.txt:
        New error messages for strict mode
      sql/share/french/errmsg.txt:
        New error messages for strict mode
      sql/share/german/errmsg.txt:
        New error messages for strict mode
      sql/share/greek/errmsg.txt:
        New error messages for strict mode
      sql/share/hungarian/errmsg.txt:
        New error messages for strict mode
      sql/share/italian/errmsg.txt:
        New error messages for strict mode
      sql/share/japanese/errmsg.txt:
        New error messages for strict mode
      sql/share/korean/errmsg.txt:
        New error messages for strict mode
      sql/share/norwegian-ny/errmsg.txt:
        New error messages for strict mode
      sql/share/norwegian/errmsg.txt:
        New error messages for strict mode
      sql/share/polish/errmsg.txt:
        New error messages for strict mode
      sql/share/portuguese/errmsg.txt:
        New error messages for strict mode
      sql/share/romanian/errmsg.txt:
        New error messages for strict mode
      sql/share/russian/errmsg.txt:
        New error messages for strict mode
      sql/share/serbian/errmsg.txt:
        New error messages for strict mode
      sql/share/slovak/errmsg.txt:
        New error messages for strict mode
      sql/share/spanish/errmsg.txt:
        New error messages for strict mode
      sql/share/swedish/errmsg.txt:
        New error messages for strict mode
      sql/share/ukrainian/errmsg.txt:
        New error messages for strict mode
      sql/sp_rcontext.cc:
        Add note/warning level to find_handler()
      sql/sp_rcontext.h:
        Add note/warning level to find_handler()
      sql/sql_base.cc:
        Fix bug for detecting crashed table
      sql/sql_class.cc:
        Variables for strct mode
      sql/sql_class.h:
        Variables for strct mode
      sql/sql_error.cc:
        In strict mode, convert warnings to errors
      sql/sql_insert.cc:
        Strict mode
        If strict mode, give error if we have not given value to field without a default value
      sql/sql_load.cc:
        Strict mode
      sql/sql_parse.cc:
        Strict mode.
        Add flag to field if it doesn't have a default value
      sql/sql_select.cc:
        Added comment
        Prepare for upper level handling of table->status
      sql/sql_union.cc:
        Added THD to write_record()
      sql/sql_update.cc:
        Strict mode
      sql/table.cc:
        Handling of default values
      sql/time.cc:
        Checking of dates
      2a491215
  9. 17 Sep, 2004 1 commit
    • unknown's avatar
      Removed wrong warnings in test suite (This was because select_insert /... · e74b00bb
      unknown authored
      Removed wrong warnings in test suite (This was because select_insert / select_create results was not freed.
      Added thd to openfrm() for initialization of TABLE->in_use. This fixed a bug in BDB handling where table->in_use was used early
      
      
      mysql-test/r/key.result:
        Added new tests that shows a bug in warnings hat
      mysql-test/t/key.test:
        Added new tests that shows a bug in warnings hat
      sql/handler.cc:
        Added thd to openfrm() for initialization of TABLE->in_use
      sql/item.cc:
        New function to avoid warnings when giving field a value
      sql/item.h:
        New function to avoid warnings when giving field a value
      sql/mysql_priv.h:
        Added thd to openfrm() for initialization of TABLE->in_use
      sql/opt_range.cc:
        Don't give warnings in optimizer when internally storing a field value in a field. (Should be ok as we ar checking the feild in the WHERE clause later)
      sql/sql_base.cc:
        Give memroot explicitely to open_unireg_entry() and open_table() (Makes code simpler)
        Ensure that table->in_use is set early
        New arguments for openfrm()
      sql/sql_insert.cc:
        More debugging & comments
      sql/sql_parse.cc:
        Delete results for select_insert and select_create. This fixed a bug that generated warnings in test suite
      sql/sql_select.h:
        Don't give warnings in optimizer when internally storing a field value in a field. (Should be ok as we ar checking the feild in the WHERE clause later)
      sql/sql_table.cc:
        New arguments to open_table() and openfrm()
      sql/table.cc:
        Added thd to openfrm() for initialization of TABLE->in_use
        This fixes some bugs in BDB where table->in_use was used
      e74b00bb
  10. 10 Sep, 2004 1 commit
    • unknown's avatar
      Implementation of the last review comments for WL#1724 · 4f1d7b7d
      unknown authored
      "Min/Max Optimization for Queries with Group By Clause"
      
      
      mysql-test/r/group_min_max.result:
        Added new test
      mysql-test/t/group_min_max.test:
        Added new test & comments
      sql/item.h:
        Remove processor methods that are no longer used.
      sql/item_sum.cc:
        Remove processor methods that are no longer used.
      sql/item_sum.h:
        Remove processor methods that are no longer used.
      sql/opt_range.cc:
        - the test procedure no longer needs to build lists and to traverse the expression trees
        - all usable indexes are tested and the bes one is chosen
        - added/edited function comments
      sql/sql_select.cc:
        Modified make_sum_func_list() so it can be reused in the test for MIN/MAX optimization.
      sql/sql_select.h:
        Modified make_sum_func_list() so it can be reused in the test for MIN/MAX optimization.
      4f1d7b7d
  11. 09 Sep, 2004 1 commit
    • unknown's avatar
      After merge fixes of merge with 4.1 that included the new arena code. · 33efc967
      unknown authored
      Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset
      Prefix addresses with 0x for easier comparisons of debug logs
      Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
      This fix changed some 'index' queries to 'range' queries in the test suite
      Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
      This fix removed of a lot of 'Using where' notes in the test suite.
      Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      Give NOTE instead of WARNING for safe field-type conversions
      
      
      Makefile.am:
        Don't automaticly update files from bk
      client/mysqlbinlog.cc:
        Merge with 4.1 (+ apply bug fixes for --offset and --start-position)
      include/my_sys.h:
        Faster clear_alloc_root()
      mysql-test/r/bdb.result:
        Updated results after merge
      mysql-test/r/create.result:
        Updated results after merge
      mysql-test/r/func_group.result:
        Updated results after merge
      mysql-test/r/func_if.result:
        Updated results after merge
      mysql-test/r/heap_btree.result:
        Updated results after merge
      mysql-test/r/index_merge.result:
        Updated results after merge
      mysql-test/r/index_merge_ror.result:
        Updated results after merge
      mysql-test/r/innodb.result:
        Updated results after merge
      mysql-test/r/join_outer.result:
        Updated results after merge
      mysql-test/r/mysqlbinlog2.result:
        Updated results after merge
      mysql-test/r/negation_elimination.result:
        Updated results after merge
      mysql-test/r/null.result:
        Updated results after merge
        Added more tests
      mysql-test/r/null_key.result:
        Updated results after merge
        Added more tests
      mysql-test/r/order_by.result:
        Updated results after merge
      mysql-test/r/range.result:
        Updated results after merge
        Added more tests
      mysql-test/r/rpl_charset.result:
        Updated results after merge
      mysql-test/r/sp-error.result:
        Updated results after merge
      mysql-test/r/sp.result:
        Updated results after merge
        Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
      mysql-test/r/type_blob.result:
        Updated results after merge
        (Some warnings are now notes)
      mysql-test/r/user_var.result:
        Updated results after merge
        Added more tests
      mysql-test/r/variables.result:
        Updated results after merge
      mysql-test/r/view.result:
        Updated results after merge
      mysql-test/t/mysqlbinlog2.test:
        Updated tests to use new positions
      mysql-test/t/null.test:
        More tests
      mysql-test/t/null_key.test:
        More tests
      mysql-test/t/range.test:
        More tests
      mysql-test/t/rpl_charset.test:
        Avoid big diffs in the future if tests changes
      mysql-test/t/sp-error.test:
        Updated error numbers
      mysql-test/t/sp-security.test:
        Updated error numbers
      mysql-test/t/sp.test:
        Updated results after merge
        Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
      mysql-test/t/user_var.test:
        More tests
      mysql-test/t/view.test:
        Updated error numbers
      mysys/my_alloc.c:
        Write into debug log the address of the allocated area
      sql/ha_isam.cc:
        Prefix addresses with 0x for easier comparisons of debug logs
      sql/ha_myisam.cc:
        Prefix addresses with 0x for easier comparisons of debug logs
      sql/ha_ndbcluster.cc:
        Add missing enum to switch
      sql/handler.cc:
        remove compiler warning
      sql/item.cc:
        More debugging
        Simple cleanup
      sql/item.h:
        Move Item::cleanup() to item.cc
      sql/item_cmpfunc.cc:
        Fix arena code
      sql/item_subselect.cc:
        After merge fixes
      sql/item_subselect.h:
        After merge fixes
      sql/item_sum.cc:
        Updated comment
      sql/log_event.cc:
        Remove wrong test
      sql/mysql_priv.h:
        Indentation fixes
      sql/mysqld.cc:
        After merge fixes
        Added 0x to pointers in debug log
      sql/opt_range.cc:
        Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
        This fix changed some 'index' queries to 'range' queries in the test suite
      sql/set_var.cc:
        Indentation fixes
      sql/sp_head.cc:
        Set state to INITIALIZED to make SP work with new arena code
      sql/sql_base.cc:
        After merge fixes
      sql/sql_class.cc:
        More debugging
        Use clear_alloc_root() instead of init_alloc_root() as the former is faster
      sql/sql_class.h:
        New method 'only_prepare()'
      sql/sql_lex.cc:
        After merge fixes
      sql/sql_lex.h:
        After merge fixes
      sql/sql_parse.cc:
        Fix for timezone tables. (The old way to add timezone tables to global list in 'create_total_list' doesn't work anymore)
        Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
        This fix removed of a lot of 'Using where' notes in the test suite
      sql/sql_table.cc:
        Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      sql/sql_union.cc:
        After merge fix
      sql/sql_view.cc:
        After merge fix
      sql/table.cc:
        After merge fix
      sql/tztime.cc:
        Update timezone table handling to use new table lists structure
      sql/tztime.h:
        Update timezone table handling to use new table lists structure
      sql/unireg.cc:
        Use 0x before pointers
      33efc967
  12. 27 Aug, 2004 1 commit
    • unknown's avatar
      WL#1724 "Min/Max Optimization for Queries with Group By Clause" · d9450332
      unknown authored
      - after-review changes
      - merged with the source tree from 204-08-27
      
      
      mysql-test/r/distinct.result:
        Different plans due to group-by optimization.
      sql/ha_myisam.cc:
        More general interface to key_copy.
      sql/handler.cc:
        More general interface to key_copy.
      sql/item.cc:
        New method to collect all Item_field objects. Used by Item::walk.
      sql/item.h:
        Several methods to collect different kinds of items from expression trees.
        Used by Item::walk.
      sql/item_sum.cc:
        Added helper to collect Item_sum objects.
      sql/item_sum.h:
        Methods to collect and test Item_sum objects.
      sql/key.cc:
        More general interface to key_copy and key_restore.
      sql/mysql_priv.h:
        More general interface to key_copy and key_restore.
      sql/opt_range.cc:
        Complete implementaion of WL#1724 "Min/Max Optimization for Queries with Group By Clause".
      sql/opt_range.h:
        Complete implementaion of WL#1724 "Min/Max Optimization for Queries with Group By Clause".
      sql/opt_sum.cc:
        simple_pred is re-used in opt_range.cc
      sql/sql_acl.cc:
        More general interface to key_copy and key_restore.
      sql/sql_handler.cc:
        More general interface to key_copy.
      sql/sql_insert.cc:
        More general interface to key_copy.
      sql/sql_select.cc:
        Changes to hook the new QUICK_GROUP_MIN_MAX_SELECT due to two differences from all other
        quick selects:
        1)
        This quick select may be created (and used) even if there is no WHERE clause.
        Several places assumed that a QUICK_SELECT is constructed only if there is a WHERE clause,
        which had to be changed so that QUICK_GROUP_MIN_MAX can be used.
        2)
        Unlike all other quick selects, this QUICK_GROUP_MIN_MAX_SELECT operates for GROUP BY queries.
        Since for the caller the quick select already produces one result tuple per group, there is
        no need to call end_send_group, instead we have to call end_send as for a regular quick select.
      sql/sql_select.h:
        simple_pred is re-used in opt_range.cc
      d9450332
  13. 26 Aug, 2004 2 commits
  14. 13 Aug, 2004 1 commit
  15. 11 Aug, 2004 1 commit
    • unknown's avatar
      Fix and testcase for BUG#4984 · dde591f2
      unknown authored
       The crash is eliminated but still it is weird/inefficent that ROR-intersection is used when performing updates in empty table.
      
      
      mysql-test/r/index_merge_ror_cpk.result:
        Fix and testcase for BUG#4984
      mysql-test/t/index_merge_ror_cpk.test:
        Fix and testcase for BUG#4984
      sql/opt_range.cc:
        Don't call index_end() for CPK quick select inside of a ROR-intersection.
      sql/opt_range.h:
        Fix and testcase for BUG#4984
      dde591f2
  16. 26 Jul, 2004 1 commit
    • unknown's avatar
      compatibility fixes · f06c397d
      unknown authored
      mysql-test/r/show_check.result:
        results updated
      sql/opt_range.cc:
        wrong (I believe :) cast fixed
      f06c397d
  17. 20 Jul, 2004 1 commit
    • unknown's avatar
      misc fixes for compile-time errors · d0c69399
      unknown authored
      sql/item_sum.cc:
        "unused variable" warning
      sql/item_timefunc.cc:
        "unused variable" warning
      sql/log_event.h:
        const bool is_valid() -> bool is_valid() const
      sql/opt_range.cc:
        cast log's argument to double (otherwise an error on some compilers)
      sql/opt_range.h:
        get_quick_select_for_ref should be declared in the global scope to be visible.
      d0c69399
  18. 16 Jul, 2004 1 commit
    • unknown's avatar
      Fixes for bug #4571 (Windows compabilities) · 45cbab28
      unknown authored
      sql/opt_range.cc:
        Fix for unreferenced local variable, cast and indirection to different types
      sql/sp_head.cc:
        Fix for unreferenced variables and cast
      sql/sql_acl.cc:
        Fix for unreferenced variable
      sql/sql_db.cc:
        Fix for unreferenced variable and cast
      sql/sql_insert.cc:
        Fix for cast and redifinition of variable declared  i (VC++ bug)
      sql/sql_parse.cc:
        Fix for cast
      sql/sql_update.cc:
        Fix for cast
      45cbab28
  19. 15 Jul, 2004 1 commit
    • unknown's avatar
      After merge fixes · 46ea874f
      unknown authored
      Note: The following tests fails
      - fulltext (Sergei has promised to fix)
      - rpl_charset (Guilhem should fix)
      - rpl_timezone (Dimitray has promised to fix)
      
      Sanja needs to check out the calling of close_thread_tables() in sp_head.cc
      
      
      myisam/mi_check.c:
        After merge fix
      myisam/sort.c:
        After merge fix
      mysql-test/mysql-test-run.sh:
        Export master socket to mysqltest
      mysql-test/r/func_group.result:
        Make result repeatable
      mysql-test/r/mysqlbinlog.result:
        After merge fix
      mysql-test/r/ps_1general.result:
        After merge fix
      mysql-test/r/ps_2myisam.result:
        After merge fix
      mysql-test/r/ps_3innodb.result:
        After merge fix
      mysql-test/r/ps_4heap.result:
        After merge fix
      mysql-test/r/ps_5merge.result:
        After merge fix
      mysql-test/r/ps_6bdb.result:
        After merge fix
      mysql-test/r/rpl_flush_log_loop.result:
        After merge fix
      mysql-test/r/rpl_replicate_do.result:
        After merge fix
      mysql-test/r/rpl_temporary.result:
        After merge fix
      mysql-test/r/rpl_timezone.result:
        After merge fix
        Note that this test fails now (Dimitry has promised to fix this)
      mysql-test/r/rpl_user_variables.result:
        After merge fix
      mysql-test/r/select.result:
        After merge fix
      mysql-test/r/sp-error.result:
        After merge fix
      mysql-test/r/sp-security.result:
        After merge fix
      mysql-test/r/sp.result:
        After merge fix
      mysql-test/r/user_var.result:
        After merge fix
      mysql-test/r/variables.result:
        After merge fix
      mysql-test/t/alter_table.test:
        After merge fix
      mysql-test/t/derived.test:
        After merge fix
      mysql-test/t/func_group.test:
        Make result repeatable
      mysql-test/t/grant_cache.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/multi_update.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000015.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000017.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000018.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl_charset.test:
        After merge fix
      mysql-test/t/rpl_heap.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl_rotate_logs.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/sp-error.test:
        after merge fix
      mysql-test/t/sp-security.test:
        after merge fix
      mysql-test/t/user_var.test:
        after merge fix
      scripts/mysql_fix_privilege_tables.sh:
        This can now be exectued from the source distribution
      sql/handler.cc:
        Cleanup
      sql/handler.h:
        More debugging
      sql/item.h:
        Indentation fixes
      sql/item_cmpfunc.cc:
        After merge fixes
      sql/opt_range.cc:
        After merge fixes
      sql/opt_range.h:
        After merge fixes
      sql/sp.cc:
        After merge fixes
      sql/sp_head.cc:
        Remove closing of thread tables in a SP function as this caused a core dump.
        (Has to be fixed better)
      sql/sql_base.cc:
        More debugging
      sql/sql_handler.cc:
        After merge fixes
        (We have to call ha_index_or_rnd_end() before calling close_thread_table())
      sql/sql_parse.cc:
        More debugging
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        After merge fixes
      46ea874f
  20. 12 Jul, 2004 1 commit
  21. 08 Jul, 2004 1 commit
    • unknown's avatar
      New handler::index_flags() definition to make it easy to check the full used... · a23fbc06
      unknown authored
      New handler::index_flags() definition to make it easy to check the full used key and a specific key part.
      Added key part to optimize_range() to fix problems when using fields in key parts.
      
      
      
      sql/examples/ha_archive.h:
        New handler::index_flags() definition
      sql/examples/ha_example.h:
        New handler::index_flags() definition
      sql/field.cc:
        New optimize_range() definition
      sql/field.h:
        New optimize_range() definition
      sql/ha_berkeley.cc:
        New handler::index_flags() definition
      sql/ha_berkeley.h:
        New handler::index_flags() definition
      sql/ha_heap.h:
        New handler::index_flags() definition
      sql/ha_innodb.h:
        New handler::index_flags() definition
      sql/ha_isam.h:
        New handler::index_flags() definition
      sql/ha_isammrg.h:
        New handler::index_flags() definition
      sql/ha_myisam.h:
        New handler::index_flags() definition
      sql/ha_myisammrg.h:
        New handler::index_flags() definition
      sql/ha_ndbcluster.cc:
        New handler::index_flags() definition
      sql/ha_ndbcluster.h:
        New handler::index_flags() definition
      sql/handler.h:
        New handler::index_flags() definition
      sql/log.cc:
        Fixed compiler warnings
      sql/log_event.cc:
        Fixed compiler warnings (and renamed short variable name)
      sql/opt_range.cc:
        New handler::index_flags() definition
      sql/opt_sum.cc:
        New handler::index_flags() definition
      sql/set_var.cc:
        Removed compiler warnings
      sql/sql_db.cc:
        Removed compiler warnings
      sql/sql_select.cc:
        New handler::index_flags() definition
      sql/sql_show.cc:
        Removed compiler warnings
      sql/sql_update.cc:
        Removed compiler warnings
      sql/table.cc:
        New handler::index_flags() definition
      a23fbc06
  22. 25 Jun, 2004 2 commits
    • unknown's avatar
      release cursors in return_zero_rows · 00567fe6
      unknown authored
      sql/opt_range.cc:
        incorrect fix removed. range optimizer is made slightly more stable vs. compiler optimizations
      00567fe6
    • unknown's avatar
      After merge fixes · ba8ffc50
      unknown authored
      include/mysql.h:
        Cleanup
      sql-common/client.c:
        Allow client.c to compile after changes to mysql.h
      sql/opt_range.cc:
        Make bdb.test repeatable (and assume that table scans is a little bit slower)
      sql/sql_handler.cc:
        Fixed typo during merge
      sql/sql_insert.cc:
        Fixed indentation
      ba8ffc50
  23. 24 Jun, 2004 2 commits
  24. 23 Jun, 2004 1 commit
    • unknown's avatar
      handler interface cleanups: · 9a554b47
      unknown authored
        more logical table/index_flags
        return  HA_ERR_WRONG_COMMAND instead of abstract methods where appropriate
        max_keys and other limits renamed to max_supported_keys/etc
        max_keys/etc are now wrappers to max_supported_keys/etc 
        ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to real {index,rnd}_{init,end} to enforce strict pairing
      
      
      include/myisam.h:
        increasing myisam_max_temp_file_length
      include/my_base.h:
        handler interface cleanup
      myisam/mi_static.c:
        warning removed
      mysql-test/Makefile.am:
        followup
      mysql-test/r/fulltext.result:
        fulltext indexes are not ordered
      mysql-test/r/rpl_user_variables.result:
        followup
      sql/field.cc:
        index_flags
      sql/filesort.cc:
        rnd_init -> ha_rnd_init
        rnd_end -> ha_rnd_end
      sql/ha_berkeley.cc:
        cleanup
      sql/ha_berkeley.h:
        table/index_flags revamped
      sql/ha_heap.cc:
        ensure index is accessed only after index_init (esp. important for temp tables)
      sql/ha_heap.h:
        table/index_flags revamped
      sql/ha_innodb.cc:
        don't workaround MySQL sloppiness
      sql/ha_innodb.h:
        table/index_flags revamped
      sql/ha_isam.h:
        table/index_flags revamped
      sql/ha_isammrg.h:
        table/index_flags revamped
      sql/ha_myisam.cc:
        ensure index is accessed only after index_init (esp. important for temp tables)
      sql/ha_myisam.h:
        table/index_flags revamped
      sql/ha_myisammrg.h:
        table/index_flags revamped
      sql/handler.cc:
        handler interface cleanups
      sql/handler.h:
        handler interface cleanups:
          more logical table/index_flags
          return  HA_ERR_WRONG_COMMAND instead of abstract methods
          max_keys and other limits renamed to max_supported_keys/etc
          max_keys/etc are now wrappers to max_supported_keys/etc 
          ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to enforce strict pairing
      sql/item_subselect.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/lex.h:
        renamed to avoid conflicts
      sql/opt_range.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/opt_range.h:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/opt_sum.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/records.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_acl.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_cache.cc:
        cleanup
      sql/sql_delete.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_handler.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_help.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_insert.cc:
        table/index_flags cleanup
      sql/sql_select.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/sql_table.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/sql_update.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_yacc.yy:
        INDEX -> INDEX_SYM
      sql/table.cc:
        table/index_flags cleanup
      9a554b47
  25. 22 Jun, 2004 1 commit
    • unknown's avatar
      Range optimizer fix: · b482176b
      unknown authored
      If cost(full_scan_on_shortest_covering_index) < cost(best_range_scan) <  cost(full_table_scan)
        use full_scan_on_shortest_covering_index
      (before this fix best_range_scan was used)
      
      
      b482176b
  26. 17 Jun, 2004 1 commit
    • unknown's avatar
      Fixed unlikely bug in the range optimzer when using many IN() queries on... · 209cfe77
      unknown authored
      Fixed unlikely bug in the range optimzer when using many IN() queries on different key parts. (Bug #4157)
      
      
      mysql-test/r/range.result:
        Test of range optimizer bug
      mysql-test/t/range.test:
        Test of range optimizer bug
      sql/opt_range.cc:
        Fixed unlikely bug in the range optimzer when using many IN() queries on
        different key parts. (Bug #4157)
      209cfe77
  27. 14 Jun, 2004 1 commit
  28. 07 Jun, 2004 1 commit
    • unknown's avatar
      Post-merge fixes. · 5a83f0c8
      unknown authored
      mysql-test/r/index_merge.result:
        Post-merge update of results. (Ok according to Sanja)
      sql/opt_range.cc:
        Post-merge fix provided by Sergey Petrunia.
      sql/sql_select.cc:
        Post-merge fix provided by Sergey Petrunia.
      5a83f0c8
  29. 03 Jun, 2004 1 commit
    • unknown's avatar
      Post-merge fixes. · 17785f63
      unknown authored
      Not finished, will not be pushed until additional fixes have been made.
      
      
      client/mysqlbinlog.cc:
        Post-merge fixes.
      mysql-test/r/func_time.result:
        Post-merge fixes.
      sql/opt_range.cc:
        Post-merge fixes.
      sql/sql_select.cc:
        Post-merge fixes.
      17785f63
  30. 01 Jun, 2004 1 commit
    • unknown's avatar
      More code cleanup, debug prints removed · 40e65508
      unknown authored
      Fixed an incorrect optimizer choice for ror-intersect(key, clustered_primary)
      Typo bug fixed in multitable update
      
      
      sql/opt_range.cc:
        More code cleanup, debug prints removed
        Fixed an incorrect optimizer choice for ror-intersect(key, clustered_primary)
      sql/opt_range.h:
        More code cleanup, debug prints removed
        Fixed an incorrect optimizer choice for ror-intersect(key, clustered_primary)
      sql/sql_update.cc:
        Typo bug fixed
      40e65508
  31. 29 May, 2004 1 commit
    • unknown's avatar
      * Undo of range optimizer fix from previous changeset · 2164db3c
      unknown authored
       * Fixed test results.
      
      
      mysql-test/r/index_merge_ror.result:
        Typo fix
      mysql-test/r/rowid_order_bdb.result:
        new index_merge EXPLAIN output format changes
      mysql-test/r/rowid_order_innodb.result:
        new index_merge EXPLAIN output format changes
      sql/opt_range.cc:
        Undo of previous fix:
        If cost(full_scan_on_covering_index) < cost(best_range_scan) <  cost(full_table_scan) 
        use full_scan_on_covering_index, not best_range_scan.
        The fix affects read plan choice for more queries then initially anticipated, so I'm reverting it for now, will get back to this later
      2164db3c
  32. 28 May, 2004 1 commit
    • unknown's avatar
      * New index_merge EXPLAIN output format · 1ce18802
      unknown authored
       * Fixed a problem with wrong query results for partially covering keys in ROR-index_merge
       * ROR-intersection retrieval plan choice algorithm now uses less disk IO
         - and properly processes clustered PK range scans 
       * Fixed several minor range optimizer problems
       * Added more comments
       * Code cleanup
      
      
      mysql-test/r/index_merge.result:
        New index_merge EXPLAIN output format changes
      mysql-test/r/index_merge_innodb.result:
        New index_merge EXPLAIN output format changes
      mysql-test/r/index_merge_ror.result:
        New index_merge EXPLAIN output format changes
        Added test for scans on keys that cover fields partially
        Fixed a minor ROR optimizer problem
      mysql-test/r/index_merge_ror_cpk.result:
        More tests added
      mysql-test/t/index_merge_ror.test:
        New index_merge EXPLAIN output format changes
        Added test for scans on keys that cover fields partially
        Fixed a minor ROR optimizer problem
      mysql-test/t/index_merge_ror_cpk.test:
        More tests added
      mysys/my_bitmap.c:
        Comments added, code cleanup
      sql/opt_range.cc:
        Comments added, code cleanup
        Numerous fixes, see changeset description
      sql/opt_range.h:
        Comments added, code cleanup
        New index_merge EXPLAIN output format related changes
      sql/sql_select.cc:
        Comments added, code cleanup
        New index_merge EXPLAIN output
      1ce18802
  33. 24 May, 2004 2 commits
    • unknown's avatar
      Support for character set conversion in binary protocol: another go · 093d6292
      unknown authored
      after Monty's review.
      - Item_param was rewritten.
      - it turns out that we can't convert string data to character set of
        connection on the fly, because they first should be written to the binary
        log.
        To support efficient conversion we need to rewrite prepared statements
        binlogging code first.
      
      
      include/my_global.h:
        Macro swap(a, b, c) was renamed to resolve name conflict with
        String::swap() method.
      include/my_sys.h:
        Added declaration of escape_string_for_mysql()
      include/mysql_com.h:
        Removed and moved back: a macro which is visible to libmysql user but
        has sence only in prepared statement protocol implementation.
      isam/_search.c:
        swap -> swap_variables
      isam/test2.c:
        swap -> swap_variables
      libmysql/libmysql.c:
        - sub_escape_string moved to mysys/charset.c to be visible in sql/
        - few cleanups
      myisam/mi_test2.c:
        swap -> swap_variables
      mysys/charset.c:
        sub_escape_string was moved from libmysql.c to be able to use it in sql/
        code.
      mysys/my_chsize.c:
        rename: swap -> swap_variables
      mysys/my_compress.c:
        swap -> swap_variables
      mysys/my_handler.c:
        swap -> swap_variables
      sql/field.cc:
        Field::store_time refactored to use TIME_to_string function from time.cc
      sql/item.cc:
        New implementation of Item_param class:
        added support for character sets conversion.
      sql/item.h:
        Item_param:
        - 'state' member introduced instead of many boolean variables.
        - put ltime, int_value and real_value into union to save space.
        - remove unimplemented members
        - set_value renamed to set_str
      sql/item_timefunc.cc:
        Refactored to use functions from time.cc
      sql/lock.cc:
        rename: swap -> swap_variables
      sql/mysql_priv.h:
        - added declarations for TIME_to_ulonglong_*, TIME_to_string functions
        - const specifiers for make_date, make_time, make_datetime arguments
      sql/opt_range.cc:
        rename: swap -> swap_variables
      sql/protocol.cc:
        - added character set conversion support to binary protocol.
        - Protocol::convert changed to point at shared buffer in THD.
          This lets us use one convert buffer for binary and simple protocol.
          The same buffer is used for client->server conversions in prepared
          statements code.
        - string conversion code refactored to Protocol::store_string_aux function.
        - few more comments
      sql/protocol.h:
        - Protocol::convert now points at THD::convert_buffer: we want to share one
          buffer between all protocol implementations.
      sql/sql_class.cc:
        - implementation of THD::convert_string using THD::convert_buffer
          (conversion of strings allocated in the system heap).
      sql/sql_class.h:
        - THD::convert_buffer is shared between THD and network Protocols and
          used for character set conversion of strings.
        - new function to convert String object from one charset to another using
          THD::convert_buffer
      sql/sql_insert.cc:
        A little fix in a comment.
      sql/sql_parse.cc:
        Shrink convert buffer in the end of each statement.
      sql/sql_prepare.cc:
          Many changes:
        - static specifier for set_param_* family of functions.
        - FIELD_TYPE -> MYSQL_TYPE
        - added set_param_binary as handler for BLOB types.
        - added character set support
        - added support for param typecode in mysql_stmt_get_longdata
          (mysql_stmt_send_long_data handler)
        - changes in Item_param deployed
        - few cleanups
      sql/sql_select.cc:
        rename: swap -> swap_variables
      sql/sql_string.cc:
        - String::append rewritten to support character set conversion for
        single-byte encodings.
        - added String::swap method to efficiently exchange two string objects.
      sql/sql_string.h:
        Declraration for String::swap().
      sql/time.cc:
        - function TIME_to_string to convert TIME to String in default MySQL format
        - family of functions TIME_to_ulonglong_*
      tests/client_test.c:
        Test for support for character set conversions in prepared statements
        (binary and text data).
      093d6292
    • unknown's avatar
      After merge fixes · 406a5fa7
      unknown authored
      Remove compiler warnings
      Update windows project files
      
      
      VC++Files/innobase/innobase.dsp:
        Update project files after merge
      VC++Files/libmysqld/examples/test_libmysqld.dsp:
        Update project files after merge
      VC++Files/libmysqld/libmysqld.dsp:
        Update project files after merge
      VC++Files/myisamchk/myisamchk.dsp:
        Update project files after merge
      VC++Files/myisamlog/myisamlog.dsp:
        Update project files after merge
      VC++Files/myisampack/myisampack.dsp:
        Update project files after merge
      VC++Files/mysqldemb/mysqldemb.dsp:
        Update project files after merge
      VC++Files/sql/mysqld.dsp:
        Update project files after merge
      VC++Files/strings/strings.dsp:
        Update project files after merge
      innobase/include/data0data.ic:
        Fix compiler warning
      innobase/include/mem0pool.h:
        Remove reference to not existing variable (after merge fix)
      innobase/srv/srv0srv.c:
        Remove reference to not existing variable (after merge fix)
      libmysqld/libmysqld.def:
        Add function used by test programs
      mysql-test/r/func_str.result:
        After merge fixes
      mysql-test/r/variables.result:
        After merge fixes
      mysql-test/t/variables.test:
        After merge fixes
      sql/discover.cc:
        Remove not used lable
      sql/opt_range.cc:
        Removed compiler warnings
      strings/ctype-tis620.c:
        After merge fixes
      406a5fa7