1. 03 Dec, 2007 1 commit
  2. 30 Nov, 2007 1 commit
    • unknown's avatar
      Bug#31177: Server variables can't be set to their current values · a7ff6e90
      unknown authored
      Default values of variables were not subject to upper/lower bounds
      and step, while setting variables was. Bounds and step are also
      applied to defaults now; defaults are corrected quietly, values
      given by the user are corrected, and a correction-warning is thrown
      as needed. Lastly, very large values could wrap around, starting
      from 0 again. They are bounded at the maximum value for the
      respective data-type now if no lower maximum is specified in the
      variable's definition.
      
      
      client/mysql.cc:
        correct maxima in options array
      client/mysqltest.c:
        adjust minimum for "sleep" option so default value is no longer
        out of bounds.
      include/m_string.h:
        ullstr() - the unsigned brother of llstr()
      include/my_getopt.h:
        Flag if we bounded the value (that is, correct anything aside from
        making value a multiple of block-size)
      mysql-test/r/delayed.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/index_merge.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/innodb.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/innodb_mysql.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/key_cache.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/packet.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/ps.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/subselect.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/type_bit.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/type_bit_innodb.result:
        We throw a warning now when we adjust out of range parameters.
      mysql-test/r/variables.result:
        correct results: bounds and step apply to variables' default values, too
      mysql-test/t/variables.test:
        correct results: bounds and step apply to variables' default values, too
      mysys/my_getopt.c:
        - apply bounds/step to default values of variables (based on work by serg)
        - print complaints about incorrect values for variables (truncation etc.,
          by requestion of consulting)
        - if no lower maximum is specified in variable definition, bound unsigned
          values at their maximum to prevent wrap-around
        - some calls to error_reporter had a \n, some didn't. remove \n from calls,
          let reporter-function handle it, so the default reporter behaves like that
          in mysqld
      sql/mysql_priv.h:
        correct RANGE_ALLOC_BLOCK_SIZE (cleared with monty)
      sql/mysqld.cc:
        correct maxima to correct data-type.
        correct minima where higher than default.
        correct range-alloc-block-size.
        correct inno variables so GET_* corresponds to actual variable's type.
      sql/set_var.cc:
        When the new value for a variable is out of bounds, we'll send the
        client a warning (but not if the value was simply not a multiple of
        'blocksize').  sys_var_thd_ulong had this, sys_var_long_ptr_global
        didn't; broken out and streamlined to avoid duplication of code.
      strings/llstr.c:
        ullstr() - the unsigned brother of llstr()
      a7ff6e90
  3. 29 Oct, 2007 5 commits
    • unknown's avatar
      Bug#30889: filesort and order by with float/numeric crashes server · a03c7251
      unknown authored
      There are two problems with ROUND(X, D) on an exact numeric 
      (DECIMAL, NUMERIC type) field of a table:
      1) The implementation of the ROUND function would change the number of decimal
      places regardless of the value decided upon in fix_length_and_dec. When the
      number of decimal places is not constant, this would cause an inconsistent
      state where the number of digits was less than the number of decimal places,
      which crashes filesort.
      
      Fixed by not allowing the ROUND operation to add any more decimal places than
      was decided in fix_length_and_dec.
      
      2) fix_length_and_dec would allow the number of decimals to be greater than
      the maximium configured value for constant values of D. This led to the same 
      crash as in (1).
      
      Fixed by not allowing the above in fix_length_and_dec.
      
      
      mysql-test/r/type_decimal.result:
        Bug#30889: Test result
      mysql-test/t/type_decimal.test:
        Bug#30889: Test case
      sql/item_func.cc:
        Bug#30889: 
        - Avoid setting number of digits after decimal point (scale) higher than its 
          maximum value.
        - Avoid increasing the number of decimal places in ::decimal_op
      sql/item_func.h:
        Bug#30889: Added comments to the declarations of Item_func_numhybrid::<type>_op
        family of methods.
      a03c7251
    • unknown's avatar
      Bug#30897 GROUP_CONCAT returns extra comma on empty fields · 556dd754
      unknown authored
      The fix is a copy of Martin Friebe's suggestion.
      added testing for no_appended which will be false if anything,
      including the empty string is in result
      
      
      mysql-test/r/func_gconcat.result:
        test result
      mysql-test/t/func_gconcat.test:
        test case
      sql/item_sum.cc:
        added testing for no_appended which will be False if anything,
        including the empty string is in result
      556dd754
    • unknown's avatar
      backported test case from 5.1 · 5a124bd9
      unknown authored
      5a124bd9
    • unknown's avatar
      fecef483
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug29131/my50-bug29131 · cd3f52ae
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      
      mysql-test/r/variables.result:
        Auto merged
      mysql-test/t/variables.test:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      cd3f52ae
  4. 27 Oct, 2007 2 commits
  5. 26 Oct, 2007 3 commits
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/PA/5.0-opt-31663 · 3f3e5bac
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      
      sql/sql_class.cc:
        Auto merged
      3f3e5bac
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · abce5286
      unknown authored
      into  mysql.com:/misc/mysql/31662/50-31662
      
      
      sql/sql_base.cc:
        Auto merged
      abce5286
    • unknown's avatar
      Bug#31662: 'null' is shown as type of fields for view with bad definer, breaks mysqldump · a4698b61
      unknown authored
      SHOW FIELDS FROM a view with no valid definer was possible (since fix
      for Bug#26817), but gave NULL as a field-type. This led to mysqldump-ing
      of such views being successful, but loading such a dump with the client
      failing. Patch allows SHOW FIELDS to give data-type of field in underlying
      table.
      
      
      mysql-test/r/information_schema_db.result:
        Fix test results: SHOW FIELDS FROM a view with no valid DEFINER
        gives us the field-type of the underlying table now rather than NULL.
      sql/sql_base.cc:
        In the case of SHOW FIELDS FROM <view>, do not require a valid
        DEFINER for determining underlying data-type like we usually do.
        This is needed for mysqldump.
      a4698b61
  6. 25 Oct, 2007 2 commits
    • unknown's avatar
      Fix for bug #29131: SHOW VARIABLES reports variable 'log' but SET · ee50bb8c
      unknown authored
      doesn't recognize it
      
      This is a 5.0 version of the patch, it will be null-merged to 5.1
      
      Problem:
      
      'log' and 'log_slow_queries' were "fixed" variables, i.e. they showed up
      in SHOW VARIABLES, but could not be used in expressions like 
      "select @@log". Also, using them in the SET statement produced an 
      incorrect "unknown system variable" error.
      
      Solution:
      
      Make 'log' and 'log_slow_queries' read-only dynamic variables to make 
      them available for use in expressions, and produce a correct error 
      about the variable being read-only when used in the SET statement.
      
      
      mysql-test/r/variables.result:
        Added a test case for bug #29131.
      mysql-test/t/variables.test:
        Added a test case for bug #29131.
      sql/mysql_priv.h:
        Changed the type of opt_log and opt_slow_log to my_bool to 
        align with the interfaces in set_var.cc
      sql/mysqld.cc:
        Changed the type of opt_log and opt_slow_log to my_bool to 
        align with the interfaces in set_var.cc
      sql/set_var.cc:
        Made 'log' and 'log_slow_queries' to be read-only dynamic system 
        variable, i.e. available for use in expressions with the @@var syntax.
      sql/set_var.h:
        Added a new system variable class representing a read-only boolean
        variable.
      ee50bb8c
    • unknown's avatar
      Fixed bug #27695: View should not be allowed to have empty or · afa6e70a
      unknown authored
      all space column names.
      
      The parser has been modified to check VIEW column names
      with the check_column_name function and to report an error
      on empty and all space column names (same as for TABLE
      column names).
      
      
      sql/sql_yacc.yy:
        Fixed bug #27695.
        The parser has been modified to check VIEW column aliases
        with the check_column_name function and to report an error
        on empty columns and all space columns (same as for TABLE
        column names).
      mysql-test/t/select.test:
        Updated test case for bug #27695.
      mysql-test/r/select.result:
        Updated test case for bug #27695.
      afa6e70a
  7. 24 Oct, 2007 2 commits
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B30715-5.0-opt · 911dd5b5
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/work/B30715-merged-5.0-opt
      
      911dd5b5
    • unknown's avatar
      Bug #30715: Assertion failed: item_field->field->real_maybe_null(), · d74214fd
      unknown authored
        file .\opt_sum.cc, line
      The optimizer pre-calculates the MIN/MAX values for queries like
       SELECT MIN(kp_k) WHERE kp_1 = const AND ... AND kp_k-1 = const
      when there is a key over kp_1...kp_k
      In doing so it was not checking correctly nullability and 
      there was a superfluous assert(). 
      Fixed by making sure that the field can be null before checking and
      taking out the wrong assert().
      .
      Introduced a correct check for nullability 
      The MIN(field) can return NULL when all the row values in the group
      are NULL-able or if there were no rows.
      Fixed the assertion to reflect the case when there are no rows.
      
      
      mysql-test/r/func_group.result:
        Bug #30715: test case
      mysql-test/t/func_group.test:
        Bug #30715: test case
      sql/opt_sum.cc:
        Bug #30715: correct nullability check for MIN/MAX pre-calculation over index.
      d74214fd
  8. 23 Oct, 2007 19 commits
    • unknown's avatar
      Post-merge fixes · a20182bc
      unknown authored
      a20182bc
    • unknown's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 48b307c6
      unknown authored
      into  mysql.com:/home/psergey/mysql-5.0-bug31450
      
      
      sql/item.cc:
        Auto merged
      mysql-test/r/type_decimal.result:
        Post-merge fixes
      mysql-test/t/type_decimal.test:
        Post-merge fixes
      48b307c6
    • unknown's avatar
      BUG#31450: Query causes error 1048 · 7c345d45
      unknown authored
      - Let Item::save_in_field() call set_field_to_null_with_conversions() 
        for decimal type, like this is done for the other item result types.
      
      
      mysql-test/r/type_decimal.result:
        BUG#31450: Query causes error 1048: testcase
      mysql-test/t/type_decimal.test:
        BUG#31450: Query causes error 1048: testcase
      7c345d45
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt · cb178356
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      cb178356
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/5.0 · 3e459feb
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      client/mysqldump.c:
        Auto merged
      include/config-win.h:
        Auto merged
      libmysql/libmysql.c:
        Auto merged
      myisam/sort.c:
        Auto merged
      mysql-test/r/func_sapdb.result:
        Auto merged
      mysql-test/r/variables.result:
        Auto merged
      mysql-test/t/variables.test:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/ha_innodb.cc:
        Auto merged
      sql/item_func.cc:
        Auto merged
      sql/item_sum.cc:
        Auto merged
      sql/item_timefunc.h:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      tests/mysql_client_test.c:
        Auto merged
      mysql-test/r/type_datetime.result:
        manual merge
      mysql-test/r/type_decimal.result:
        manual merge
      mysql-test/t/type_datetime.test:
        manual merge
      mysql-test/t/type_decimal.test:
        manual merge
      sql/item.cc:
        manual merge
      3e459feb
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 4eaaddec
      unknown authored
      into  mysql.com:/home/hf/work/30638/my50-30638
      
      4eaaddec
    • unknown's avatar
      Merge ssh://bk-internal.mysql.com//home/bk/mysql-5.0-opt · 4cc7db9d
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      4cc7db9d
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 2e2f6ea7
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
      
      2e2f6ea7
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug31742/my50-bug28550 · 00637970
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      00637970
    • unknown's avatar
      type conversions fixed to get rid of warnings · d61d1880
      unknown authored
      
      sql/ha_heap.cc:
        type conversion fix
      sql/opt_range.cc:
        type conversion fix
      d61d1880
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · fd721c36
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
      
      fd721c36
    • unknown's avatar
      Fixed bug #31663: if the FIELDS TERMINATED BY string · fb75d93b
      unknown authored
      in the SELECT INTO OUTFILE clause starts with a special
      character (one of n, t, r, b, 0, Z or N) and ENCLOSED BY
      is empty, every occurrence of this character within a
      field value is duplicated.
      
      Duplication has been avoided.
      New warning message has been added: "First character of
      the FIELDS TERMINATED string is ambiguous; please use
      non-optional and non-empty FIELDS ENCLOSED BY".
      
      
      mysql-test/r/outfile_loaddata.result:
        BitKeeper file /home/uchum/work/bk/5.0-opt-31663/mysql-test/r/outfile_loaddata.result
        Added test case for bug #31663.
      mysql-test/t/outfile_loaddata.test:
        BitKeeper file /home/uchum/work/bk/5.0-opt-31663/mysql-test/t/outfile_loaddata.test
        Added test case for bug #31663.
      sql/sql_class.h:
        Fixed bug #31663.
        The select_export::is_ambiguous_field_term field has been added.
        This field is true if select_export::field_sep_char contains
        the first char of the FIELDS TERMINATED BY (ENCLOSED BY is empty),
        and items can contain this character.
        The select_export::field_term_char field has been added (first
        char of the FIELDS TERMINATED BY string or INT_MAX).
      sql/sql_class.cc:
        Fixed bug #31663.
        The select_export::prepare method has been modified to calculate
        a value of the select_export::is_ambiguous_field_term field and
        to warn if this value is true.
        The select_export::send_data method has been modified to
        avoid escaping or duplication of the field_set_char if
        is_ambiguous_field_term is true.
      sql/share/errmsg.txt:
        Fixed bug #31663.
        The ER_AMBIGUOUS_FIELD_TERM warning has been added.
      fb75d93b
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 3fbb2511
      unknown authored
      into  mysql.com:/home/hf/work/30638/my50-30638
      
      3fbb2511
    • unknown's avatar
      type conversion fixed to get rid of warnings · 72de8440
      unknown authored
      
      sql/opt_range.cc:
        type conversion fixed
      72de8440
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 698c0ac4
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
      
      698c0ac4
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · ed3117c5
      unknown authored
      into  mysql.com:/home/hf/work/30638/my50-30638
      
      ed3117c5
    • unknown's avatar
      type conversions fixed to avoid warnings on Windows · c44daa8e
      unknown authored
      
      myisam/mi_write.c:
        type conversion fixed
      myisam/sort.c:
        type conversion fixed
      sql/ha_federated.cc:
        type conversion fixed
      sql/ha_heap.cc:
        type conversion fixed
      sql/ha_innodb.cc:
        type conversion fixed
      sql/ha_myisam.cc:
        type conversion fixed
      sql/opt_range.cc:
        type conversion fixed
      sql/sql_map.cc:
        type conversion fixed
      sql/sql_select.cc:
        type conversion fixed
      sql/sql_update.cc:
        type conversion fixed
      c44daa8e
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/4.1 · 5e0f8015
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/4.1-opt
      
      5e0f8015
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 241ede38
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
      
      
      sql/field.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      241ede38
  9. 22 Oct, 2007 4 commits
    • unknown's avatar
      Bug #28687: Search fails on '0000-00-00' date after sql_mode change · af3764b1
      unknown authored
      When doing indexed search the server constructs a key image for 
      faster comparison to the stored keys. While doing that it must not
      perform (and stop if they fail) the additional date checks that can 
      be turned on by the SQL mode because there already may be values in 
      the table that don't comply with the error checks.
      Fixed by ignoring these SQL mode bits while making the key image.
      
      
      mysql-test/r/type_date.result:
        Bug #28687: test case
      mysql-test/t/type_date.test:
        Bug #28687: test case
      sql/item.cc:
        Bug #28687: no invalid date warnings
      af3764b1
    • unknown's avatar
      Fix for bug #31742: delete from ... order by function call that causes · d8d8c084
      unknown authored
      an error, asserts server
      
      In case of a fatal error during filesort in find_all_keys() the error
      was returned without the necessary handler uninitialization.
      Fixed by changing the code so that handler uninitialization is performed
      before returning the error.
      
      
      mysql-test/r/delete.result:
        Added a test case for bug #31742.
      mysql-test/t/delete.test:
        Added a test case for bug #31742.
      sql/filesort.cc:
        In case of a fatal error in find_all_keys() do not return before doing
        the necessary handler uninitialization steps.
      d8d8c084
    • unknown's avatar
      Merge bk@192.168.21.1:mysql-5.0-opt · 2c236db0
      unknown authored
      into  mysql.com:/home/hf/work/30638/my50-30638
      
      2c236db0
    • unknown's avatar
      Merge mysql.com:/home/hf/work/29801/my50-29801 · e24b35cb
      unknown authored
      into  mysql.com:/home/hf/work/30638/my50-30638
      
      e24b35cb
  10. 21 Oct, 2007 1 commit