An error occurred fetching the project authors.
  1. 18 May, 2005 1 commit
    • unknown's avatar
      Fixes to merge from 4.1 · 3e2988d0
      unknown authored
      client/mysqldump.c:
        Temporarily disable unused (and broken) code.
      mysql-test/r/group_min_max.result:
        Update results
      mysql-test/r/mysqldump.result:
        Update results
      mysql-test/r/subselect.result:
        Update results
      mysql-test/t/group_min_max.test:
        Ignore number of rows in output of most explain results
      sql/sql_insert.cc:
        Fix reference to max_unique_length
      3e2988d0
  2. 13 May, 2005 1 commit
    • unknown's avatar
      concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file · b21cf962
      unknown authored
      myisam_max_extra_sort_file_size is depricated
      Ensure that myisam_data_pointer_size is honoured when creating new MyISAM files
      Changed default value of myisam_data_pointer_size from 4 to 6 to get rid of 'table-is-full' errors
      
      
      
      include/myisam.h:
        Change type of myisam_block_size and myisam_concurrent_insert to make them changeable in mysqld.cc
        Removed not used varaible myisam_max_extra_temp_length
      include/thr_lock.h:
        Added extra parameter to get_status
      myisam/mi_create.c:
        Ensure that myisam_data_pointer_size is honoured
      myisam/mi_dynrec.c:
        If 'append_insert_at_end' is set, only write at end of myisam record file
      myisam/mi_locking.c:
        Add extra argument to 'mi_get_status' to allow thr_lock to signal that we want to do a concurrent insert
        If this is used, we will append new insert rows at end of data file.
        Change mi_check_status() to allow concurrent_inserts even if there are holes in the file when myisam_concurent_insert=2
      myisam/mi_static.c:
        Change behavior of myisam_concurrent_insert so that setting this to 2 allows inserts even if there is a hole in the data file.
        Default value is 2 for MyISAM direct usage but will be set to 1 (old default) by mysqld.cc
      myisam/mi_statrec.c:
        If 'append_insert_at_end' is set, only write at end of myisam record file
      myisam/mi_write.c:
        If 'append_insert_at_end' is set, only write at end of myisam record file
      myisam/myisamdef.h:
        Support for insert-at-end even if there is holes in data file
      mysql-test/r/gis-rtree.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/group_min_max.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/index_merge.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/index_merge_ror.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/merge.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/myisam.result:
        Test of concurrent_insert=2
      mysql-test/r/null.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/preload.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/ps_1general.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/range.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/r/variables.result:
        concurrent_insert is now a integer, not a boolean
        myisam_extra_sort_file_size is deleted
      mysql-test/r/view.result:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/t/index_merge.test:
        Test result changed because default value for myisam_data_pointer_size is changed from 4 -> 6
      mysql-test/t/myisam.test:
        Test of concurrent_insert=2
      mysql-test/t/ps_1general.test:
        Drop test table
      mysql-test/t/variables.test:
        concurrent_insert is now a integer, not a boolean
        myisam_extra_sort_file_size is deleted
      mysql-test/t/view.test:
        Drop tables that may be left from previous tests
      mysys/thr_lock.c:
        Extra paramter to get_status to signal if concurrent_insert was used
      sql/mysqld.cc:
        concurrent-insert can now be set to 2 for concurrent inserts when there is holes in the data file
        myisam_max_extra_sort_file_size is depricated
      sql/set_var.cc:
        concurrent-insert is now an integer, not a bool
        myisam_max_extra_sort_file_size is deleted
      b21cf962
  3. 09 May, 2005 1 commit
    • unknown's avatar
      Fix for bug #9798: Rollup crash with InnoDB in setup_sum_funcs(). · 51e86278
      unknown authored
      sql/opt_range.cc:
        Fix for bug #9798: Rollup crash with InnoDB in setup_sum_funcs().
        Disable mix/max group by optimization for queries with rollup for now.
        Note: the actual bug was hidden; if this optimization works with rollup
        queries we will have to change some code:
        
        the problem is that we call the join->make_sum_func_list() function against 
        changed thd->mem_root (see SQL_SELECT::test_quick_select()) which creates some
        items for rollup, then we free that mem_root, then we try to reuse (free) those
        items.
      51e86278
  4. 28 Feb, 2005 1 commit
    • unknown's avatar
      Fix for BUG#8532. · 7a703d6a
      unknown authored
      The problem was in that the code that analyses the applicability of the
      QUICK_GROUP_MIN_MAX access method for DISTINC queries assumed that there
      are no duplicate column references in the DISTINCT clause, and it added
      non-exiting key parts for the duplicate column references. 
      
      The solution adds a test to check whether the select list already contained
      a field with the same name. If such field was already present, then it was
      already decided to use its key part for index access. In this such case we
      must skip the duplicate field instead of counting it as a new field.
      
      
      mysql-test/r/group_min_max.result:
        Added test results for BUG#8532.
      mysql-test/t/group_min_max.test:
        Added tests for BUG#8532.
      sql/opt_range.cc:
        The problem was in that the code that analyses the applicability of the
        QUICK_GROUP_MIN_MAX access method for DISTINC queries assumed that there
        are no duplicate column references in the DISTINCT clause, and it added
        non-exiting key parts for the duplicate column references. 
        
        The solution adds a test to check whether the select list already contained
        a field with the same name. If such field was already present, then it was
        already decided to use its key part for index access. In this such case we
        must skip the duplicate field instead of counting it as a new field.
      7a703d6a
  5. 06 Jan, 2005 1 commit
    • unknown's avatar
      First stage of table definition cache · acf76e3b
      unknown authored
      Split TABLE to TABLE and TABLE_SHARE (TABLE_SHARE is still allocated as part of table, will be fixed soon)
      Created Field::make_field() and made Field_num::make_field() to call this
      Added 'TABLE_SHARE->db' that points to database name; Changed all usage of table_cache_key as database name to use this instead
      Changed field->table_name to point to pointer to alias. This allows us to change alias for a table by just updating one pointer.
      Renamed TABLE_SHARE->real_name to table_name
      Renamed TABLE->table_name to alias
      Renamed TABLE_LIST->real_name to table_name
      
      
      include/myisam.h:
        Added const before names
      mysql-test/r/group_min_max.result:
        Make results repeatable
      mysql-test/t/group_min_max.test:
        Make results repeatable
      sql/field.cc:
        Created Field::make_field() and made Field_num::make_field() to call this
        Use TABLE_SHARE
        Use sql_strmake() instead of sql_memdup() to simplify code
      sql/field.h:
        Changed table_name to be pointer to table_name. This allows us to change alias for all fields by just changing one pointer.
        Use TABLE_SHARE
      sql/field_conv.cc:
        Use TABLE_SHARE
      sql/filesort.cc:
        Use TABLE_SHARE
      sql/ha_berkeley.cc:
        Use TABLE_SHARE
      sql/ha_heap.cc:
        Use TABLE_SHARE
      sql/ha_innodb.cc:
        Use TABLE_SHARE
      sql/ha_myisam.cc:
        Use TABLE_SHARE
      sql/ha_myisammrg.cc:
        Use TABLE_SHARE
        Change some pointer handling to use const char*
      sql/ha_ndbcluster.cc:
        Use TABLE_SHARE
      sql/handler.cc:
        Use TABLE_SHARE
      sql/item.cc:
        Use TABLE_SHARE
      sql/item_func.cc:
        Use TABLE_SHARE
      sql/item_subselect.cc:
        Use TABLE_SHARE
      sql/item_sum.cc:
        Use TABLE_SHARE
      sql/key.cc:
        Use TABLE_SHARE
      sql/lock.cc:
        Use TABLE_SHARE
      sql/log_event.cc:
        real_name -> table_name
      sql/mysql_priv.h:
        Use TABLE_SHARE
      sql/opt_range.cc:
        Use TABLE_SHARE
      sql/opt_sum.cc:
        Use TABLE_SHARE
      sql/records.cc:
        Use TABLE_SHARE
      sql/repl_failsafe.cc:
        real_name -> table_name
      sql/slave.cc:
        Use TABLE_SHARE
      sql/sp.cc:
        Use TABLE_SHARE
      sql/sp_head.cc:
        real_name -> table_name
      sql/sql_acl.cc:
        Use TABLE_SHARE
        removed unnecessary assert
        fixed indentation
        changed some char * -> const char*
      sql/sql_acl.h:
        changed some char* -> const char*
      sql/sql_base.cc:
        Use TABLE_SHARE
      sql/sql_cache.cc:
        Use TABLE_SHARE
      sql/sql_class.cc:
        Use TABLE_SHARE
      sql/sql_db.cc:
        real_name -> table_name
      sql/sql_delete.cc:
        Use TABLE_SHARE
      sql/sql_derived.cc:
        Use TABLE_SHARE
      sql/sql_handler.cc:
        Use TABLE_SHARE
      sql/sql_help.cc:
        Use TABLE_SHARE
      sql/sql_insert.cc:
        Use TABLE_SHARE
      sql/sql_load.cc:
        Use TABLE_SHARE
      sql/sql_parse.cc:
        Use TABLE_SHARE
      sql/sql_rename.cc:
        real_name -> table_name
      sql/sql_select.cc:
        Use TABLE_SHARE
        table->blob_fields now points to field offsets, not fields
        tmp_table->table_name now points to alias name
      sql/sql_show.cc:
        Use TABLE_SHARE
      sql/sql_table.cc:
        Use TABLE_SHARE
      sql/sql_test.cc:
        Use TABLE_SHARE
      sql/sql_trigger.cc:
        Use TABLE_SHARE
      sql/sql_udf.cc:
        Use TABLE_SHARE
      sql/sql_union.cc:
        real_name -> table_name
      sql/sql_update.cc:
        Use TABLE_SHARE
      sql/sql_view.cc:
        Use TABLE_SHARE
      sql/table.cc:
        Split TABLE to TABLE and TABLE_SHARE
        Changed blob_field to be field offsets instead of pointer to fields
        Only initialize table->s->default_values with default record (not all table->record[#])
        Some indentation changes
      sql/table.h:
        Split TABLE to TABLE and TABLE_SHARE
      sql/tztime.cc:
        real_name -> table_name
      sql/unireg.cc:
        Use TABLE_SHARE
      sql/unireg.h:
        Use TABLE_SHARE
      acf76e3b
  6. 06 Dec, 2004 1 commit
    • unknown's avatar
      After merge fixes · a1fba2da
      unknown authored
      Fixed compiler warnings
      Fix core dump when sending SIGHUP to mysqld
      
      
      mysql-test/r/drop_temp_table.result:
        After merge fixes
      mysql-test/r/grant.result:
        After merge fixes
      mysql-test/r/group_min_max.result:
        After merge fixes
      mysql-test/r/innodb.result:
        After merge fixes
      mysql-test/r/insert_select.result:
        After merge fixes
      mysql-test/r/rpl_charset.result:
        After merge fixes
      mysql-test/r/rpl_create_database.result:
        After merge fixes
      mysql-test/r/rpl_loaddata_rule_m.result:
        After merge fixes
      mysql-test/t/rpl_charset.test:
        After merge fixes
      mysql-test/t/rpl_create_database.test:
        After merge fixes
      sql-common/client.c:
        After merge fixes
      sql/item.cc:
        After merge fixes
      sql/mysqld.cc:
        Fix core dump when sending SIGHUP to mysqld
      sql/sql_acl.cc:
        Better comment
      sql/sql_derived.cc:
        Fixed comment
        Added missing DBUG_RETURN
      sql/sql_insert.cc:
        Fixed compiler warnings
        After merge fixes
      sql/sql_lex.cc:
        After merge fixes
        Removed compiler warnings
      sql/sql_parse.cc:
        After merge fixes
      sql/sql_select.cc:
        More debugging
      sql/sql_table.cc:
        Added missing DBUG_VOID_RETURN
      sql/sql_update.cc:
        Fixed compiler warning
      sql/sql_view.cc:
        Added missing DBUG_RETURN
        Fixed compiler warnings
        Added flag to signal that the view is a derived table
      a1fba2da
  7. 01 Nov, 2004 1 commit
    • unknown's avatar
      Minor fixes of the patch for BUG#6303 · de691e17
      unknown authored
      mysql-test/r/group_min_max.result:
        Test results for BUG#6303
      mysql-test/t/group_min_max.test:
        Ucommented tests for BUG#6303
      sql/opt_range.cc:
        Comment fix
      de691e17
  8. 20 Oct, 2004 1 commit
  9. 11 Oct, 2004 1 commit
  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. 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