An error occurred fetching the project authors.
  1. 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
  2. 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
  3. 21 Jul, 2004 1 commit
    • unknown's avatar
      after merge fixes · 1d29e6b0
      unknown authored
      sql/opt_range.h:
        compatibility fix
      sql/sql_lex.cc:
        cleanup
      1d29e6b0
  4. 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
  5. 15 Jul, 2004 2 commits
    • unknown's avatar
      failing fulltext_order_by.test fixed · b0df2034
      unknown authored
      myisam/sort.c:
        warning fixed
      sql/ha_myisam.h:
        not necessary
      b0df2034
    • 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
  6. 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
  7. 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
  8. 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
  9. 16 May, 2004 1 commit
    • unknown's avatar
      key_cmp -> key_cmp_if_same · 70f79563
      unknown authored
      New records_in_range() interface (similar to read_range())
      Macros for faster bitmap handling
      Simplify read_range() code (#WL1786)
      New general key_cmp() function to compare keys
      
      
      
      
      heap/hp_hash.c:
        New records_in_range() interface
      include/heap.h:
        New records_in_range() interface
      include/my_base.h:
        Moved 'key_range' here so that all table handlers can use it
      include/my_bitmap.h:
        Make some bitmap functions inline for faster usage in one thread
      include/myisam.h:
        New records_in_range() interface
      include/myisammrg.h:
        New records_in_range() interface
      myisam/mi_range.c:
        New records_in_range() interface
      myisam/mi_test2.c:
        New records_in_range() interface
      myisam/rt_test.c:
        New records_in_range() interface
        Indentation fixes
      myisam/sp_test.c:
        New records_in_range() interface
        Indentation fixes
      myisammrg/myrg_range.c:
        New records_in_range() interface
      mysys/my_bitmap.c:
        Make some bitmap functions inline for faster usage in one thread
      sql/examples/ha_example.cc:
        New records_in_range() interface
      sql/field.cc:
        Fixed indentation
      sql/ha_berkeley.cc:
        New records_in_range() interface
      sql/ha_berkeley.h:
        New records_in_range() interface
      sql/ha_heap.cc:
        New records_in_range() interface
      sql/ha_heap.h:
        New records_in_range() interface
      sql/ha_innodb.cc:
        New records_in_range() interface
      sql/ha_innodb.h:
        New records_in_range() interface
      sql/ha_isam.cc:
        New records_in_range() interface
      sql/ha_isam.h:
        New records_in_range() interface
      sql/ha_myisam.cc:
        New records_in_range() interface
      sql/ha_myisam.h:
        New records_in_range() interface
      sql/ha_myisammrg.cc:
        New records_in_range() interface
      sql/ha_myisammrg.h:
        New records_in_range() interface
      sql/ha_ndbcluster.cc:
        New records_in_range() interface
      sql/ha_ndbcluster.h:
        New records_in_range() interface
      sql/handler.cc:
        Simplify read_range() interface:
        - Add 'eq_range' to read_range_first
        - Remove 'eq_range' parameer from read_range_next()
        - Trust values from index_next_same()
        - Simplfy compare_key() by moving key_comparision to key.cc (as this code can be reused from other places)
      sql/handler.h:
        Move key_range to my_base.h to be used by external table handlers
        Simplify read_range() interface
        New records_in_range() interface
      sql/key.cc:
        Rename key_cmp() to key_cmp_if_same() to make it more descriptive
        Add new key_cmp() function usable from range and handler code.
      sql/mysql_priv.h:
        Prototypes for new functions
      sql/opt_range.cc:
        New records_in_range() interface
        Simplify cmp_prev()
        (We can in 5.0 simplify cmp_next() the same way)
      sql/opt_range.h:
        Added key_part_info to QUICK_SELECT to be able to use key_cmp() in get_next()
      sql/opt_sum.cc:
        key_cmp -> key_cmp_if_same
      sql/sql_acl.cc:
        key_cmp -> key_cmp_if_same
      sql/sql_select.cc:
        key_cmp -> key_cmp_if_same
      70f79563
  10. 14 May, 2004 1 commit
    • unknown's avatar
      Post-merge fixes. · 3a272c1f
      unknown authored
      Note: One sp.test still fails (prime), and rpl_server_id2.test fails (will be fixed by guilhem ASAP).
      
      
      mysql-test/r/index_merge.result:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/r/index_merge_bdb.result:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/r/index_merge_innodb.result:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/r/index_merge_innodb2.result:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/r/rpl_server_id1.result:
        Update result after merge.
      mysql-test/r/sp-error.result:
        Update result after merge.
      mysql-test/r/variables.result:
        Update result after merge.
      mysql-test/t/index_merge.test:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/t/index_merge_bdb.test:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/t/index_merge_innodb.test:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/t/index_merge_innodb2.test:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/t/sp-error.test:
        Post-merge fix of error codes.
      sql/opt_range.cc:
        Manually merged by Monty.
      sql/opt_range.h:
        Manually merged by Monty.
      sql/slave.cc:
        Post-merge fixes with some help from Guilhem.
      sql/slave.h:
        Post-merge fixes with some help from Guilhem.
      sql/sp_head.cc:
        Got rid of warning (reordering initialization).
      sql/sql_parse.cc:
        Post-merge fix: Need to set/reset select_limit at SP CALL time as well.
      tests/client_test.c:
        Post-merge fix: key_len length in explain has changed.
      3a272c1f
  11. 12 May, 2004 1 commit
    • unknown's avatar
      This is first cset for WL#1394 "Optimize index merge when all involved index... · 3600d09a
      unknown authored
      This is first cset for WL#1394 "Optimize index merge when all involved index ranges include only values with equal keys"
      The main idea is to exploit the fact that key scans for "key=const" return ordered sequences of rowids.
      
      
      include/my_base.h:
        Added HA_EXTRA_KEYREAD_PRESERVE_FIELDS flag
      include/my_bitmap.h:
        Added a couple of utility functions
      include/my_sys.h:
        Added my_conunt_bits_ushort function
      innobase/include/row0mysql.h:
        Added support for HA_EXTRA_KEYREAD_PRESERVE_FIELDS
      innobase/row/row0sel.c:
        Added support for HA_EXTRA_KEYREAD_PRESERVE_FIELDS
      mysys/my_bit.c:
        Added my_count_bits_ushort function
      mysys/my_bitmap.c:
        Added a couple of utility functions
      sql/ha_berkeley.cc:
        Added cmp_ref rowid comparison function.
      sql/ha_berkeley.h:
        Added cmp_ref rowid comparison function.
      sql/ha_heap.h:
        Added cmp_ref rowid comparison function.
      sql/ha_innodb.cc:
        Added cmp_ref rowid comparison function and support from HA_EXTRA_KEYREAD_PRESERVE_FIELDS
      sql/ha_innodb.h:
        Added cmp_ref rowid comparison function.
      sql/handler.h:
        Added cmp_ref rowid comparison function.
      sql/opt_range.cc:
        Added QUICK_ROR_{INTERSECT,UNION}_SELECT classes and related optimizer code
      sql/opt_range.h:
        Added QUICK_ROR_{INTERSECT,UNION}_SELECT classes
      sql/sql_delete.cc:
        Changed to use new ROWID comparison function
        also always call quick->reset() for quick selects
      sql/sql_select.cc:
        Account for new quick select types
      sql/sql_select.h:
        New, proper rowid ordering/comparison function to be used with Unique class etc.
      sql/sql_test.cc:
        Account for new quick select types
      sql/sql_update.cc:
        Account for new quick select types
      3600d09a
  12. 08 Apr, 2004 1 commit
    • unknown's avatar
      Moved reading of ranges from opt_range.cc to handler.cc · 16845a71
      unknown authored
      This gives the handler more optimization possiblities and is needed for NDB cluster
      Fixed not-initialized memory error detected by valgrind
      
      
      mysql-test/mysql-test-run.sh:
        Fixed address to manual page
      mysql-test/r/gis-rtree.result:
        Added test to show fatal error in GIS
      mysql-test/r/grant.result:
        New tests
      mysql-test/t/gis-rtree.test:
        New tests
      mysql-test/t/grant.test:
        New tests
      sql/handler.cc:
        Moved reading of ranges from opt_range.cc to handler.cc
        This gives the handler more optimization possiblities and is needed for NDB cluster
      sql/handler.h:
        Moved reading of ranges from opt_range.cc to handler.cc
        T
      sql/opt_range.cc:
        Moved reading of ranges from opt_range.cc to handler.cc
        Simplified GIS get_next() handling
        Indentation cleanups
      sql/opt_range.h:
        Removed not needed cmp_next()
        Added new QUICK_SELECT method for GIS keys to make code for normal keys easier and faster
      sql/sql_select.cc:
        Fixed wrong handling of usable-keys in test_if_skip_sort_order (not fatal, just a warning from valgrind)
        Added DBUG
        Cleaned up comments
      16845a71
  13. 07 Apr, 2004 1 commit
    • unknown's avatar
      Cleanup/optimizations of structures and key usage to make it easier to move... · 3cb13f79
      unknown authored
      Cleanup/optimizations of structures and key usage to make it easier to move key-range-search to handler
      
      
      sql/field.cc:
        Use 'HA_KEY_BLOB_LENGTH' instead of '2' for 'packed-length'
        Changed 'get_key_image' and 'set_key_image' to take length data part of key (without length-store bytes). This makes the interface easier to use from opt_range.cc
      sql/field.h:
        Indentation fix
      sql/opt_range.cc:
        Changed KEY_PART to use KEY_PART_INFO->store_length (which includes null-byte if needed)
        This makes some functions easier and allowed us to easier use the new get_key_image/set_key_image interfaces
        Simple loop optimization.
      sql/opt_range.h:
        Changed part_length -> store_length and added length to KEY_PART.
        This make this structure more like KEY_PART_INFO
        Added 'sorted' to QUICK_SELECT for NDB
      sql/sql_class.cc:
        Fixed compiler warning
      sql/sql_select.cc:
        Set 'quick->sorted' if keys should be sorted (for NDB)
      sql/table.cc:
        GEOMETRY KEYS doesn't have length prefix in keys
      3cb13f79
  14. 15 Mar, 2004 1 commit
  15. 11 Feb, 2004 1 commit
  16. 05 Feb, 2004 1 commit
    • unknown's avatar
      Added SQL_SELECT::cleanup() to make it easier to reuse SQL_SELECT item's for... · 0db0b601
      unknown authored
      Added SQL_SELECT::cleanup() to make it easier to reuse SQL_SELECT item's for sub selects. Needed for proper fix for bug #2479.
      Added 'select_to_file' class to be able to merge identical code for select_export and select_dump
      
      
      client/mysql.cc:
        Print mysql_insert_id() in 'status'
      mysys/charset.c:
        after merge fixup
      sql/item_func.cc:
        Code cleanup + new comments
      sql/opt_range.cc:
        Added SQL_SELECT::cleanup() to make it easier to reuse SQL_SELECT item's for sub selects.
      sql/opt_range.h:
        Added SQL_SELECT::cleanup() to make it easier to reuse SQL_SELECT item's for sub selects.
      sql/sql_class.cc:
        Added 'select_to_file' class to be able to merge identical code for select_export and select_dump
      sql/sql_class.h:
        Added 'select_to_file' class to be able to merge identical code for select_export and select_dump
      sql/sql_select.cc:
        Fixed bug when calling 'delete select' in sub selects. (Bug 2479)
        (Test case is already commited to global source repository)
      0db0b601
  17. 03 Feb, 2004 1 commit
    • unknown's avatar
      Code cleanup: · 453a32e9
      unknown authored
      we don't need opt_range.h and opt_range.cc files at all.
      
      
      BitKeeper/deleted/.del-opt_ft.cc~2048ffa561f9c59:
        Delete: sql/opt_ft.cc
      BitKeeper/deleted/.del-opt_ft.h~24aac1d29304599a:
        Delete: sql/opt_ft.h
      453a32e9
  18. 02 Feb, 2004 1 commit
    • unknown's avatar
      just tried to find all 'skipp' and replace it with 'skip'. · f1bfba29
      unknown authored
      client/sql_string.cc:
        skipp -> skip
      dbug/dbug.c:
        skipp -> skip
      myisam/mi_create.c:
        skipp -> skip
      myisam/mi_dynrec.c:
        skipp -> skip
      myisam/mi_packrec.c:
        skipp -> skip
      myisam/mi_rrnd.c:
        skipp -> skip
      myisam/mi_test1.c:
        skipp -> skip
      myisam/myisampack.c:
        skipp -> skip
      myisam/rt_test.c:
        skipp -> skip
      myisam/sp_test.c:
        skipp -> skip
      mysys/default.c:
        skipp -> skip
      mysys/mf_iocache.c:
        skipp -> skip
      mysys/mf_pack.c:
        skipp -> skip
      mysys/mf_wcomp.c:
        skipp -> skip
      mysys/typelib.c:
        skipp -> skip
      sql/filesort.cc:
        skipp -> skip
      sql/item_strfunc.cc:
        skipp -> skip
      sql/mysqld.cc:
        skipp -> skip
      sql/opt_range.h:
        skipp -> skip
      sql/sql_delete.cc:
        skipp -> skip
      sql/sql_select.cc:
        skipp -> skip
      sql/sql_string.cc:
        skipp -> skip
      sql/sql_update.cc:
        skipp -> skip
      strings/ctype-bin.c:
        skipp -> skip
      strings/ctype-simple.c:
        skipp -> skip
      strings/r_strinstr.c:
        skipp -> skip
      strings/strinstr.c:
        skipp -> skip
      strings/strstr.c:
        skipp -> skip
      f1bfba29
  19. 18 Dec, 2003 1 commit
  20. 09 Dec, 2003 1 commit
  21. 24 Nov, 2003 1 commit
    • unknown's avatar
      Post-merge fixes for index_merge/Unique/5.0 · d8010263
      unknown authored
      mysql-test/r/index_merge.result:
        Post-merge fixes
      mysql-test/r/index_merge_innodb.result:
        Post-merge fixes
      sql/opt_range.cc:
        Post-merge fixes
      sql/opt_range.h:
        Post-merge fixes
      d8010263
  22. 21 Nov, 2003 1 commit
  23. 20 Nov, 2003 1 commit
    • unknown's avatar
      logging_ok: · bc20df18
      unknown authored
        Logging to logging@openlogging.org accepted
      sql_union.cc, sql_select.cc, opt_range.h, opt_range.cc, opt_ft.h:
        Post-merge fixes
      Many files:
        new file
      
      
      sql/opt_ft.h:
        Post-merge fixes
      sql/opt_range.cc:
        Post-merge fixes
      sql/opt_range.h:
        Post-merge fixes
      sql/sql_select.cc:
        Post-merge fixes
      sql/sql_union.cc:
        Post-merge fixes
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      bc20df18
  24. 18 Nov, 2003 1 commit
    • unknown's avatar
      index_merge implementation using Unique class, to be merged into 5.0 · a1e9e67e
      unknown authored
      sql/filesort.cc:
        index_merge implementation using Unique class
      sql/opt_ft.cc:
        index_merge implementation using Unique class
      sql/opt_ft.h:
        index_merge implementation using Unique class
      sql/opt_range.cc:
        index_merge implementation using Unique class
      sql/opt_range.h:
        index_merge implementation using Unique class
      sql/records.cc:
        index_merge implementation using Unique class
      sql/sql_class.cc:
        index_merge implementation using Unique class
      sql/sql_list.h:
        index_merge implementation using Unique class
      sql/sql_select.cc:
        index_merge implementation using Unique class
      sql/sql_select.h:
        index_merge implementation using Unique class
      sql/sql_test.cc:
        index_merge implementation using Unique class
      sql/sql_union.cc:
        index_merge implementation using Unique class
      sql/sql_update.cc:
        index_merge implementation using Unique class
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      a1e9e67e
  25. 13 Nov, 2003 1 commit
  26. 24 Oct, 2003 1 commit
  27. 15 Oct, 2003 1 commit
    • unknown's avatar
      Portability fixes for windows · ddbc8428
      unknown authored
      After merge fixes
      
      
      include/my_base.h:
        Fix comment syntax
      libmysql/client_settings.h:
        Portability fixes for windows
      libmysql/libmysql.c:
        Portability fixes for windows
      libmysql/libmysql.def:
        Portability fixes for windows
      mysql-test/r/variables.result:
        Fix result after merge
      sql-common/client.c:
        Portability fixes for windows
      sql/ha_berkeley.cc:
        Use defines instead of constants
      sql/item_strfunc.cc:
        Portability fixes for windows
      sql/mysql_priv.h:
        Use defines instead of defines
      sql/mysqld.cc:
        After merge fix
      sql/opt_range.h:
        After merge fix
      sql/set_var.h:
        Portability fixes for windows
      sql/sql_class.cc:
        Defines instead of constants
      sql/sql_help.cc:
        after merge fixes
        More OOM error checking
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_table.cc:
        Portability fixes for windows
      ddbc8428
  28. 11 Oct, 2003 2 commits
    • unknown's avatar
      Add new user variables for tuning memory usage: · 74ea4594
      unknown authored
      query_alloc_block_size, query_prealloc_size, range_alloc_block_size,transaction_alloc_block_size and transaction_prealloc_size
      Add more checks for "out of memory" detection in range optimization
      
      
      configure.in:
        Added detection of mallinfo
      mysql-test/r/variables.result:
        Test of new variables
      mysql-test/t/variables.test:
        Test of new variables
      sql/ha_berkeley.cc:
        Use init_sql_alloc instead of init_alloc_root for better OOM detection
      sql/log_event.cc:
        Add new user variables for tuning memory usage
      sql/mysql_priv.h:
        Add new user variables for tuning memory usage
      sql/mysqld.cc:
        Add new user variables for tuning memory usage
      sql/opt_ft.cc:
        Add new user variables for tuning memory usage
      sql/opt_ft.h:
        Add new user variables for tuning memory usage
      sql/opt_range.cc:
        Add new user variables for tuning memory usage
        Add more checks for out of memory conditions
      sql/opt_range.h:
        Add new user variables for tuning memory usage
      sql/set_var.cc:
        Add new user variables for tuning memory usage
      sql/sql_acl.cc:
        Add new user variables for tuning memory usage
      sql/sql_class.h:
        Add new user variables for tuning memory usage
      sql/sql_delete.cc:
        Add new user variables for tuning memory usage
      sql/sql_parse.cc:
        Add new user variables for tuning memory usage
      sql/sql_select.cc:
        Add new user variables for tuning memory usage
      sql/sql_test.cc:
        Add information about memory useage if system supports mallinfo()
      sql/sql_udf.cc:
        Add new user variables for tuning memory usage
      sql/sql_update.cc:
        Add new user variables for tuning memory usage
      sql/table.cc:
        Add new user variables for tuning memory usage
      74ea4594
    • unknown's avatar
      key_map with more that 64 bits width · 2e1115ed
      unknown authored
      sql/field.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/ha_berkeley.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/ha_berkeley.h:
        typedef Bitmap<64> key_map
        all tests pass
      sql/item.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/item_func.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/opt_sum.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/sql_delete.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/sql_show.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/sql_test.cc:
        typedef Bitmap<64> key_map
        all tests pass
      sql/sql_update.cc:
        typedef Bitmap<64> key_map
        all tests pass
      include/my_bitmap.h:
        more bitmap methods
      mysys/my_bitmap.c:
        more bitmap methods
      sql/field.h:
        init bitmaps
      sql/ha_innodb.h:
        optimization
      sql/ha_isam.cc:
        optimization
      sql/ha_myisam.cc:
        optimization
      sql/ha_myisammrg.cc:
        optimization
      sql/handler.h:
        optimization
      sql/mysqld.cc:
        bitmap_init() interface changed
      sql/opt_range.cc:
        optimization
      sql/opt_range.h:
        optimization
      sql/slave.cc:
        bitmap_init() interface changed
      sql/sql_base.cc:
        optimization
      sql/sql_select.cc:
        init bitmaps
        using const for bitmaps whenever possible
      sql/sql_select.h:
        cleanup
      sql/table.cc:
        always init bitmaps
      BitKeeper/etc/ignore:
        Added sql/udf_example.so to the ignore list
      sql/mysql_priv.h:
        use Bitmap over ulonglong by default
      2e1115ed
  29. 27 May, 2003 1 commit
    • unknown's avatar
      ORDER BY optimization · ef6d3a80
      unknown authored
      Fixed new bug when reading field types
      
      
      client/mysql.cc:
        Fixed output for -T
      libmysql/libmysql.c:
        Filled missing fields in new MYSQL_FIELD structure
        Fixed new bug when reading field types
      mysql-test/r/order_by.result:
        Result after new order by optimization
      sql/opt_range.cc:
        New ORDER BY optimization
      sql/opt_range.h:
        New ORDER BY optimization
      sql/set_var.cc:
        Speed optimization
      sql/sql_select.cc:
        New ORDER BY optimization
        
        This alllows MySQL to change a ref/range index from (a,b) to (a,c) when 'b' was not used to find rows and one did
        ORDER BY a,c or ORDER BY c
      ef6d3a80
  30. 06 Feb, 2003 1 commit
    • unknown's avatar
      Added START TRANSACTION syntax · dacf7f8f
      unknown authored
      Added ALL as parameter option for all group functions.
      Make join handling uniform. This allows us to use ',', JOIN and INNER JOIN the same way.
      Sort NULL last if DESC is used (ANSI SQL 99 requirement)
      
      
      include/my_global.h:
        Moved LL from mysql_priv (as this is also in config-win.h)
      mysql-test/r/distinct.result:
        Updated results
      mysql-test/r/func_group.result:
        Updated results
      mysql-test/r/innodb.result:
        Updated results
      mysql-test/r/join.result:
        Updated results
      mysql-test/r/order_by.result:
        Updated results
      mysql-test/t/func_group.test:
        Added test for SUM(ALL ...)
      mysql-test/t/innodb.test:
        Added test for START TRANSACTION
      mysql-test/t/join.test:
        Test different join syntaxes
      mysql-test/t/order_by.test:
        Added new test of NULL ordering.
      sql/filesort.cc:
        Sort NULL last if DESC is used
      sql/lex.h:
        Added OLD_PASSWORD() as synonym for PASSWORD.
      sql/mysql_priv.h:
        Removed LL()
      sql/opt_range.cc:
        Sort NULL last if DESC is used
      sql/opt_range.h:
        Sort NULL last if DESC is used
      sql/slave.cc:
        Indentation changes
      sql/sql_parse.cc:
        After merge fix
      sql/sql_select.cc:
        Added comment
      sql/sql_yacc.yy:
        Added START TRANSACTION syntax
        Added ALL as parameter option for all group functions.
        Make join handling uniform.
      dacf7f8f
  31. 08 Jun, 2002 1 commit
    • unknown's avatar
      Added a lot of DBUG_xxx statements to be able to find replication bug. · 770aa9f2
      unknown authored
      Fixed critical bug on 64 bit systems.
      Cleanups
      
      
      BUILD/compile-solaris-sparc-purify:
        Added --debug option.
      sql/log_event.cc:
        Added DBUG_xxx statements.
        Cleanup
      sql/opt_range.h:
        Dummy fix to remove warnings in purify
      sql/repl_failsafe.cc:
        Cleanup
      sql/slave.cc:
        Added DBUG statements to be able to find bugs.
        Optimized code.
        Fixed critical bug on 64 bit systems.
      sql/sql_repl.cc:
        Added DBUG_xx statements.
      770aa9f2
  32. 02 Mar, 2002 1 commit
    • unknown's avatar
      Fix sorting of NULL values (Should always be first) · ad4fcb8a
      unknown authored
      Fix problem with HAVING and MAX() IS NOT NULL
      
      
      Docs/manual.texi:
        Changelog & NULL usage with ORDER BY
      client/mysqldump.c:
        Cleanup disable keys
      mysql-test/r/distinct.result:
        Fix results after ORDER BY with NULL fix
      mysql-test/r/group_by.result:
        Fix results after ORDER BY with NULL fix
      mysql-test/r/having.result:
        Testcase for bug with HAVING
      mysql-test/t/distinct.test:
        Test for DISTINCT + ORDER BY DESC bug
      mysql-test/t/having.test:
        Test of HAVING and MAX IS NOT NULL
      sql/filesort.cc:
        Fix sorting of NULL values (Should always be first)
      sql/item.h:
        Fix problem with HAVING and MAX() IS NOT NULL
      sql/item_sum.h:
        Fix problem with HAVING and MAX() IS NOT NULL
      sql/opt_range.cc:
        Fix problem with HAVING and MAX() IS NOT NULL
      sql/opt_range.h:
        Fix sorting of NULL values
      sql/sql_select.cc:
        Fix sorting of ORDER BY ... DESC on NULL values.
      ad4fcb8a
  33. 22 Feb, 2002 1 commit
    • unknown's avatar
      Added GIS extension · 32a08516
      unknown authored
      BitKeeper/etc/ignore:
        Added myisam/rt_test myisam/sp_test to the ignore list
      32a08516
  34. 05 Dec, 2001 1 commit
    • unknown's avatar
      Update of query cache code. · eca2a1a3
      unknown authored
      Changed some sql_alloc() -> thd->alloc()
      Removed a lot of compiler warnings on Linux Alpha (64 bit)
      Fixed some core dumps on 64 bit systems (wrong type for packet_len)
      
      
      Docs/manual.texi:
        Added base information about the query cache.
      include/hash.h:
        Export hash_replace
      include/myisam.h:
        Update of query cache code
      libmysql/net.c:
        Add casts to make things safe on 64 bit systems.
      myisam/mi_write.c:
        Update of query cache code
      myisammrg/myrg_extra.c:
        Update of query cache code
      mysys/hash.c:
        Added safety check to hash_replace
      sql/field.cc:
        Removed compiler warnings.
      sql/field.h:
        Removed compiler warnings
      sql/ha_myisam.cc:
        Fixed wrong type of packet_len
      sql/item.h:
        Remove warnings
      sql/log_event.cc:
        Cleanup
      sql/log_event.h:
        Cleanup to make code more readable
      sql/mf_iocache.cc:
        Fixed wrong type
      sql/mysql_priv.h:
        Update of query cache code
      sql/mysqld.cc:
        Update of query cache code
      sql/net_serv.cc:
        Remove compiler warnings
      sql/opt_range.h:
        Remove compiler warnings
      sql/sql_cache.cc:
        Update of query cache code
      sql/sql_cache.h:
        Update of query cache code
      sql/sql_class.h:
        Cleanup
      sql/sql_insert.cc:
        Use thd->alloc() instead of sql_alloc()
      sql/sql_parse.cc:
        Fixed compiler warnings.
        Changed some sql_alloc() -> thd->alloc()
      sql/sql_select.cc:
        Changed sql_alloc() -> thd_alloc()
      sql/sql_select.h:
        Faster alloc()
      sql/sql_show.cc:
        Update of query cache code
      sql/sql_table.cc:
        Faster alloc()
      sql/table.cc:
        Faster alloc()
      eca2a1a3
  35. 22 Nov, 2001 1 commit
  36. 29 Jun, 2001 1 commit
    • unknown's avatar
      Fix ORDER BY ... DESC optimization · b59fcb04
      unknown authored
      Docs/manual.texi:
        Update with changes from old version of the 4.0 manual.
      mysql-test/r/order_by.result:
        New tests for ORDER BY ... DESC
      mysql-test/t/order_by.test:
        New tests for ORDER BY ... DESC
      sql/sql_delete.cc:
        Removed DEBUG code
      b59fcb04
  37. 28 Jun, 2001 1 commit
    • unknown's avatar
      Implement ORDER BY DESC optimization, which reads values in descending · 950a6871
      unknown authored
      order directly from the index instead of using a filesort.
      
      
      mysql-test/mysql-test-run.sh:
        [ -n $SKIP_TEST ] --> [ -n "$SKIP_TEST" ]; portability fix
      mysql-test/r/order_by.result:
        Added test for ORDER BY DESC optimization
      mysql-test/t/order_by.test:
        Added test for ORDER BY DESC optimization
      sql/opt_range.cc:
        Added QUICK_SELECT_DESC class which implements ORDER BY DESC optimization.
      sql/opt_range.h:
        Added QUICK_SELECT_DESC class which implements ORDER BY DESC optimization.
      sql/sql_select.cc:
        Added QUICK_SELECT_DESC class which implements ORDER BY DESC optimization.
      BitKeeper/etc/ignore:
        Added .gdbinit .vimrc to the ignore list
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      950a6871
  38. 10 Apr, 2001 1 commit
    • unknown's avatar
      Fixed bug with UPDATE/DELETE on UNIQUE key which could be NULL · 92de7269
      unknown authored
      Docs/manual.texi:
        Updated replication section
      mysql-test/r/null_key.result:
        Added test UPDATE/DELETE with IS NULL on unique key
      mysql-test/t/null_key.test:
        Added test UPDATE/DELETE with IS NULL on unique key
      mysys/Makefile.am:
        Removed -f from $CP as this is not portable
        Fixed rule for testhash
      sql/field.cc:
        Safety fix
      sql/opt_range.cc:
        Fixed bug with UPDATE/DELETE on UNIQUE key which could be NULL
      sql/opt_range.h:
        Fixed bug with UPDATE/DELETE on UNIQUE key which could be NULL
      92de7269