1. 26 Sep, 2007 2 commits
    • unknown's avatar
      merge of the fix for bug 27802 & 27216 to 5.1-opt · 05d767db
      unknown authored
      
      mysql-test/r/view.result:
        merge of the fix for bug 27802 to 5.1
      sql/item_cmpfunc.h:
        merge of the fix for bug 27216 to 5.1
      sql/sql_insert.cc:
        merge of the fix for bug 27216 to 5.1
      sql/sql_lex.h:
        merge of the fix for bug 27802 to 5.1
      sql/sql_select.cc:
        merge of the fix for bug 27802 to 5.1
      sql/table.h:
        merge of the fix for bug 27802 to 5.1
      05d767db
    • unknown's avatar
      merged bug 28702 5.0-opt->5.1-opt · baaff867
      unknown authored
      
      mysql-test/r/view.result:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_view.cc:
        Auto merged
      sql/table.h:
        Auto merged
      baaff867
  2. 24 Sep, 2007 4 commits
    • unknown's avatar
      Merge sunlight.local:/local_work/27216-bug-5.0-opt-mysql · 29da4baf
      unknown authored
      into  sunlight.local:/local_work/merge-5.1-opt-mysql
      
      
      libmysql/libmysql.c:
        Auto merged
      mysql-test/r/date_formats.result:
        Auto merged
      mysql-test/r/insert_select.result:
        Auto merged
      mysql-test/t/insert_select.test:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/item_timefunc.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/protocol.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      mysql-test/r/type_datetime.result:
        Manually merged
      mysql-test/t/type_datetime.test:
        Manually merged
      sql/item_cmpfunc.cc:
        Manually merged
      sql/item_cmpfunc.h:
        Manually merged
      sql/sql_insert.cc:
        Manually merged
      29da4baf
    • unknown's avatar
      Bug #28702: VIEWs defined with USE/FORCE KEY ignore that request · 6c3aa88e
      unknown authored
      When storing the VIEW the CREATE VIEW command is reconstructed 
      from the parse tree. While constructing the command string
      the index hints specified should also be printed.
      Fixed by adding code to print the index hints when printing a 
      table in the FROM clause.
      
      
      mysql-test/r/view.result:
        Bug #28702: test case
      mysql-test/t/view.test:
        Bug #28702: test case
      sql/sql_select.cc:
        Bug #28702: preserve index hints in a VIEW definition.
      sql/table.h:
        Bug #28702: preserve index hints in a VIEW definition.
      6c3aa88e
    • unknown's avatar
      merging bug 28701 to 5.1-opt · ba5fd4e7
      unknown authored
      ba5fd4e7
    • unknown's avatar
      merge of bug 28701 5.0-opt -> 5.1-opt · 68bca00b
      unknown authored
      
      sql/sql_view.cc:
        Auto merged
      68bca00b
  3. 22 Sep, 2007 4 commits
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · b85a512e
      unknown authored
      into  macbook.local:/Users/kgeorge/mysql/autopush/B28701-merged-5.0-opt
      
      b85a512e
    • unknown's avatar
      Merge macbook.local:/Users/kgeorge/mysql/work/B28701-5.0-opt · 92052e4f
      unknown authored
      into  macbook.local:/Users/kgeorge/mysql/work/B28701-merged-5.0-opt
      
      
      sql/sql_view.cc:
        Auto merged
      mysql-test/r/view.result:
        merge with 5.0-opt
      mysql-test/t/view.test:
        merge with 5.0-opt
      92052e4f
    • unknown's avatar
      Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 9f7d7c8f
      unknown authored
      into  sunlight.local:/local_work/27216-bug-5.0-opt-mysql
      
      
      sql/sql_insert.cc:
        Auto merged
      9f7d7c8f
    • unknown's avatar
      Bug#27216: functions with parameters of different date types may return wrong · f8321b5a
      unknown authored
      type of the result.
      
      There are several functions that accept parameters of different types.
      The result field type of such functions was determined based on
      the aggregated result type of its arguments. As the DATE and the DATETIME
      types are represented by the STRING type, the result field type
      of the affected functions was always STRING for DATE/DATETIME arguments.
      The affected functions are COALESCE, IF, IFNULL, CASE, LEAST/GREATEST, CASE.
      
      Now the affected functions aggregate the field types of their arguments rather
      than their result types and return the result of aggregation as their result
      field type.
      The cached_field_type member variable is added to the number of classes to
      hold the aggregated result field type.
      The str_to_date() function's result field type now defaults to the
      MYSQL_TYPE_DATETIME.
      The agg_field_type() function is added. It aggregates field types with help
      of the Field::field_type_merge() function.
      The create_table_from_items() function now uses the 
      item->tmp_table_field_from_field_type() function to get the proper field
      when the item is a function with a STRING result type.
      
      
      libmysql/libmysql.c:
        Bug#27216: functions with parameters of different date types may return wrong
        type of the result.
        The client library now accepts the NEWDATE type as a string.
      sql/item_cmpfunc.cc:
        Bug#27216: functions with parameters of different date types may return wrong
        type of the result.
        Now the fix_length_and_dec functions of the
        Item_func_ifnull,Item_func_if, Item_func_case, Item_func_coalesce
        classes are use agg_field_type function to find out the type of their 
        result field.
      sql/item_cmpfunc.h:
        Bug#27216: functions with parameters of different date types may return wrong
        type of the result.
        The cached_field type is added to the Item_func_case, Item_func_if and
        Item_func_coalesce classes.
        The field_type function is added to the Item_func_ifnull, Item_func_if,
        Item_func_coalesce, Item_func_case classes.
      sql/item_func.cc:
        Bug#27216: functions with parameters of different date types may return wrong
        type of the result.
        The Item_func_min_max::fix_length_and_dec function now uses the agg_field_type
        function to find out the correct type of the result field.
      sql/item_func.h:
        Bug#27216: functions with parameters of different date types may return wrong
        type of the result.
        The cached_field_type variable is added to the Item_func_min_max class.
      sql/item_timefunc.cc:
        Bug#27216: functions with parameters of different date types may return wrong
        type of the result.
        The result of the str_to_date function now defaults to the
        DATETIME type.
      sql/mysql_priv.h:
        Bug#27216: functions with parameters of different date types may return wrong
        type of the result.
        The prototype of the agg_field_type function is added.
      sql/protocol.cc:
        Bug#27216: functions with parameters of different date types may return wrong
        type of the result.
        The Protocol_simple::store function is now used to store fields of NEWDATE type.
      sql/sql_insert.cc:
        Bug#27216: functions with parameters of different date types may return wrong
        type of the result.
        The create_table_from_items function now uses the
        tmp_table_field_from_field_type function to get field for items with the
        STRING result type.
      mysql-test/r/date_formats.result:
        A test case result corrected after fixing bug#27216.
      mysql-test/r/type_datetime.result:
        Added a test case for the bug#27216: functions with parameters of different
        date types may return wrong type of the result.
      mysql-test/t/type_datetime.test:
        Added a test case for the bug#27216: functions with parameters of different
        date types may return wrong type of the result.
      f8321b5a
  4. 21 Sep, 2007 3 commits
    • unknown's avatar
      fixed warnings by bug 30639 · 6c509577
      unknown authored
      6c509577
    • unknown's avatar
      2d40efbf
    • unknown's avatar
      Bug#30384: Having SQL_BUFFER_RESULT option in the CREATE .. KEY(..) .. SELECT · b6333a8c
      unknown authored
      led to creating corrupted index.
      
      While execution of the  CREATE .. SELECT SQL_BUFFER_RESULT statement the 
      engine->start_bulk_insert function was called twice. On the first call
      On the first call MyISAM disabled all non-unique indexes and on the second
      call it decides to not re-enable them because all indexes was disabled.
      Due to this no indexes was actually created during CREATE TABLE thus
      producing crashed table.
      
      Now the select_inset class has is_bulk_insert_mode flag which prevents
      calling the start_bulk_insert function twice.
      The flag is set in the select_create::prepare, select_insert::prepare2
      functions and the select_insert class constructor.
      The flag is reset in the select_insert::send_eof function.
      
      
      mysql-test/t/insert_select.test:
        A test case is added for the bug#30384: Having SQL_BUFFER_RESULT option in the
        CREATE .. KEY(..) .. SELECT led to creating corrupted index.
      mysql-test/r/insert_select.result:
        A test case is added for the bug#30384: Having SQL_BUFFER_RESULT option in the 
        CREATE .. KEY(..) .. SELECT led to creating corrupted index.
      sql/sql_class.h:
        Bug#30384: Having SQL_BUFFER_RESULT option in the CREATE .. KEY(..) .. SELECT
        led to creating corrupted index.
        The is_bulk_insert_mode flag is added to the select_insert class.
      sql/sql_insert.cc:
        Bug#30384: Having SQL_BUFFER_RESULT option in the CREATE .. KEY(..) .. SELECT
        led to creating corrupted index.
        The is_bulk_insert_mode is set in the select_create::prepare, select_insert::prepare2
        functions and the select_insert class constructor.
        The flag is reset in the select_insert::send_eof function.
      b6333a8c
  5. 20 Sep, 2007 6 commits
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · 88fac6e7
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
      
      88fac6e7
    • unknown's avatar
      result fix · 6c0bab6a
      unknown authored
      6c0bab6a
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt · acea00c1
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
      
      
      mysql-test/r/grant.result:
        Auto merged
      acea00c1
    • unknown's avatar
      result fix · bf3d46a8
      unknown authored
      bf3d46a8
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt · a157e1f8
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
      
      
      mysql-test/r/alter_table.result:
        Auto merged
      mysql-test/r/create.result:
        Auto merged
      mysql-test/r/ctype_collate.result:
        Auto merged
      mysql-test/r/ctype_recoding.result:
        Auto merged
      mysql-test/r/default.result:
        Auto merged
      mysql-test/r/gis.result:
        Auto merged
      mysql-test/r/grant.result:
        Auto merged
      mysql-test/r/information_schema.result:
        Auto merged
      mysql-test/r/key.result:
        Auto merged
      mysql-test/r/mysql.result:
        Auto merged
      mysql-test/r/ps_1general.result:
        Auto merged
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/r/type_enum.result:
        Auto merged
      mysql-test/r/type_ranges.result:
        Auto merged
      mysql-test/r/show_check.result:
        manual merge
      mysql-test/t/information_schema.test:
        manual merge
      sql/sql_show.cc:
        manual merge
      a157e1f8
    • unknown's avatar
      Bug#27747 database metadata doesn't return sufficient column default info · b7734724
      unknown authored
      added get_field_default_value() function which obtains default value from the field
      (used in store_create_info() & get_schema_column_record() functions)
      
      
      mysql-test/r/alter_table.result:
        result fix
      mysql-test/r/create.result:
        result fix
      mysql-test/r/ctype_collate.result:
        result fix
      mysql-test/r/ctype_recoding.result:
        result fix
      mysql-test/r/default.result:
        result fix
      mysql-test/r/gis.result:
        result fix
      mysql-test/r/grant.result:
        result fix
      mysql-test/r/information_schema.result:
        result fix
      mysql-test/r/key.result:
        result fix
      mysql-test/r/mysql.result:
        result fix
      mysql-test/r/ps_1general.result:
        result fix
      mysql-test/r/show_check.result:
        result fix
      mysql-test/r/sp.result:
        result fix
      mysql-test/r/type_enum.result:
        result fix
      mysql-test/r/type_ranges.result:
        result fix
      mysql-test/t/information_schema.test:
        test case
      b7734724
  6. 19 Sep, 2007 5 commits
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · eaf713df
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B30639-5.1-opt
      
      
      mysql-test/r/select.result:
        Auto merged
      mysql-test/t/select.test:
        Auto merged
      sql/sql_lex.cc:
        Auto merged
      eaf713df
    • unknown's avatar
      Bug #30639: limit offset,rowcount wraps when rowcount >= 2^32 in windows · 0d0d804f
      unknown authored
       The parser uses ulonglong to store the LIMIT number. This number
       then is stored into a variable of type ha_rows. ha_rows is either
       4 or 8 byte depending on the BIG_TABLES define from config.h
       So an overflow may occur (and LIMIT becomes zero) while storing an
       ulonglong value in ha_rows.
       Fixed by :
        1. Using the maximum possible value for ha_rows on overflow
        2. Defining BIG_TABLES for the windows builds (to match the others) 
      
      
      include/config-win.h:
        Bug #30639: turn on BIG_TABLES for windows
      mysql-test/r/select.result:
        Bug #30639: test case
      mysql-test/t/select.test:
        Bug #30639: test case
      sql/sql_lex.cc:
        Bug #30639: Use the maximum possible number on overflow 
         of LIMIT. This is valid because there won't be more rows
         anyway.
      0d0d804f
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/5.0-opt · de2a7211
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
      
      de2a7211
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/5.1 · 32a54ab8
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.1-opt
      
      
      mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
        Auto merged
      mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
        Auto merged
      32a54ab8
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/5.0 · dc123622
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      dc123622
  7. 15 Sep, 2007 3 commits
    • unknown's avatar
      Many files: · 39709f20
      unknown authored
        Post-merge fix.
      
      
      mysql-test/suite/rpl/r/rpl_row_colSize.result:
        Post-merge fix.
      mysql-test/suite/rpl/r/rpl_row_tabledefs_2myisam.result:
        Post-merge fix.
      mysql-test/suite/rpl/r/rpl_extraCol_innodb.result:
        Post-merge fix.
      mysql-test/suite/rpl/r/rpl_extraCol_myisam.result:
        Post-merge fix.
      mysql-test/suite/rpl/r/rpl_row_tabledefs_3innodb.result:
        Post-merge fix.
      39709f20
    • unknown's avatar
      Merge devsrv-b.mysql.com:/data0/gshchepa/mysql-5.0-opt · 144230e8
      unknown authored
      into  devsrv-b.mysql.com:/data0/gshchepa/mysql-5.1-opt
      
      
      mysql-test/t/select.test:
        Auto merged
      144230e8
    • unknown's avatar
      select.test: · 6bcc6c25
      unknown authored
        Post-fix for bug#27695.
      
      
      mysql-test/t/select.test:
        Post-fix for bug#27695.
      6bcc6c25
  8. 14 Sep, 2007 13 commits
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · 6eb0c32d
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B31001-5.1-opt
      
      6eb0c32d
    • unknown's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · bdbc12a0
      unknown authored
      into  devsrv-b.mysql.com:/data0/gshchepa/mysql-5.1-opt
      
      
      sql/item.cc:
        Auto merged
      bdbc12a0
    • unknown's avatar
      Merge gshchepa@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 53b29922
      unknown authored
      into  devsrv-b.mysql.com:/data0/gshchepa/mysql-5.0-opt
      
      53b29922
    • unknown's avatar
      Fix compile failure on windows · 7db9d034
      unknown authored
      7db9d034
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 49dee0e0
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B31001-5.0-opt
      
      49dee0e0
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B31001-5.0-opt · d244fb25
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/work/B31001-5.1-opt
      
      
      mysql-test/include/mix1.inc:
        merge 5.0-opt -> 5.1-opt
      mysql-test/r/innodb_mysql.result:
        merge 5.0-opt -> 5.1-opt
      sql/sql_select.cc:
        merge 5.0-opt -> 5.1-opt
      d244fb25
    • unknown's avatar
      Many files: · 68416381
      unknown authored
        Merge with 5.0-opt.
      
      
      mysql-test/r/binlog_unsafe.result:
        Merge with 5.0-opt.
      mysql-test/r/events_bugs.result:
        Merge with 5.0-opt.
      mysql-test/r/events_trans.result:
        Merge with 5.0-opt.
      mysql-test/r/sp.result:
        Merge with 5.0-opt.
      mysql-test/r/sp_gis.result:
        Merge with 5.0-opt.
      mysql-test/r/xml.result:
        Merge with 5.0-opt.
      mysql-test/suite/rpl/r/rpl_incident.result:
        Merge with 5.0-opt.
      mysql-test/suite/rpl/r/rpl_loaddata_fatal.result:
        Merge with 5.0-opt.
      mysql-test/suite/rpl/r/rpl_udf.result:
        Merge with 5.0-opt.
      mysql-test/suite/rpl_ndb/r/rpl_ndb_extraCol.result:
        Merge with 5.0-opt.
      mysql-test/suite/ndb/r/ndb_dd_basic.result:
        Merge with 5.0-opt.
      mysql-test/suite/ndb/r/ndb_dd_ddl.result:
        Merge with 5.0-opt.
      mysql-test/suite/ndb/r/ndb_gis.result:
        Merge with 5.0-opt.
      mysql-test/suite/ndb/r/ndb_row_format.result:
        Merge with 5.0-opt.
      mysql-test/suite/ndb/r/ndb_single_user.result:
        Merge with 5.0-opt.
      68416381
    • unknown's avatar
      Bug #31001: ORDER BY DESC in InnoDB not working · 040da853
      unknown authored
      The optimizer sets index traversal in reverse order only if there are 
       used key parts that are not compared to a constant.
      However using the primary key as an ORDER BY suffix rendered the check
      incomplete : going in reverse order must still be used even if 
      all the parts of the secondary key are compared to a constant.
      
      Fixed by relaxing the check and set reverse traversal even when all
      the secondary index keyparts are compared to a const.
      Also account for the case when all the primary keys are compared to a
      constant.
      
      
      mysql-test/r/innodb_mysql.result:
        Bug #31001: test case
      mysql-test/t/innodb_mysql.test:
        Bug #31001: test case
      sql/sql_select.cc:
        Bug #31001: 
         - account for the case when all the primary key parts are compared
           to a constant
         - force test_if_skip_sort_order to go backwards over the key even 
           when the number of keyparts used is the same as the number of 
           keyparts equal to a constant. (because of the primary key 
           suffix).
      040da853
    • unknown's avatar
      Merge mysql.com:/home/psergey/mysql-5.0-bug30324 · 30ff3827
      unknown authored
      into  mysql.com:/home/psergey/mysql-5.1-bug27927
      
      
      mysql-test/r/type_bit.result:
        Auto merged
      mysql-test/t/type_bit.test:
        Auto merged
      sql/item_sum.cc:
        Auto merged
      30ff3827
    • unknown's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 02c8e132
      unknown authored
      into  mysql.com:/home/psergey/mysql-5.0-bug30324
      
      02c8e132
    • unknown's avatar
      BUG#30324: Grouping queries with COUNT(DISTINCT bit column) return wrong results · e6026e22
      unknown authored
      - The bug was caused by COUNT(DISTINCT ...) code using Unique object in 
        a way that assumed that BIT(N) column occupies a contiguous space in
        temp_table->record[0] buffer. 
      - The fix is to make COUNT(DISTINCT ...) code instruct create_tmp_table to
        create temporary table with column of type BIGINT, not BIT(N).
      
      
      mysql-test/r/type_bit.result:
        BUG#30324: Grouping queries with COUNT(DISTINCT bit column) return wrong results
        - Testcase
      mysql-test/t/type_bit.test:
        BUG#30324: Grouping queries with COUNT(DISTINCT bit column) return wrong results
        - Testcase
      sql/item_sum.cc:
        BUG#30324: Grouping queries with COUNT(DISTINCT bit column) return wrong results
        - Make COUNT(DISTINCT ...) code instruct create_tmp_table to create 
          temporary table with BIGINT, not BIT(N) column.
      e6026e22
    • unknown's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.1-opt · 2a4b19e4
      unknown authored
      into  mysql.com:/home/psergey/mysql-5.1-bug27927
      
      
      mysql-test/r/partition_pruning.result:
        Auto merged
      2a4b19e4
    • unknown's avatar
      BUG#27927:Partition pruning not optimal with TO_DAYS and YEAR functions · 9b7696ad
      unknown authored
      - Introduced val_int_endpoint() function which converts between func 
        argument intervals and func value intervals for monotonic functions.
      - Made partition interval analyzer use part_expr->val_int_endpoint()
        to check if the edge values should be included.
      
      
      mysql-test/r/partition_pruning.result:
        BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
        - Testcase
      mysql-test/t/partition_pruning.test:
        BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
        - Testcase
      sql/item.cc:
        BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
        - Added Item_field::val_int_endpoint() implementation
      sql/item.h:
        BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
        - Added Item::val_int_endpoint() which converts intervals from argument
          space to function value space for unary monotonic functions.
      sql/item_timefunc.cc:
        BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
        - Added val_int_endpoint() for TO_DAYS and YEAR functions.
      sql/item_timefunc.h:
        BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
        - Added val_int_endpoint() for TO_DAYS and YEAR functions.
      sql/partition_info.h:
        BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
        - Removed partition_info::range_analysis_include_bounds as it is no longer 
          needed.
      sql/sql_partition.cc:
        BUG#27927: Partition pruning not optimal with TO_DAYS and YEAR functions
        - Make partition interval analyzer use part_expr->val_int_endpoint() to 
          check if the edge values should be included.
      9b7696ad