1. 26 Nov, 2007 1 commit
    • unknown's avatar
      Bug #32036: EXISTS within a WHERE clause with a UNION · f3f9855d
      unknown authored
        crashes MySQL 5.122
      There was a difference in how UNIONs are handled
      on top level and when in sub-query.
      Because the rules for sub-queries were syntactically
      allowing cases that are not currently supported by
      the server we had crashes (this bug) or wrong results
      (bug 32051).
      Fixed by making the syntax rules for UNIONs match the 
      ones at top level.
      
      These rules however do not support nesting UNIONs, e.g.
      (SELECT a FROM t1 UNION ALL SELECT b FROM t2) 
       UNION
      (SELECT c FROM t3 UNION ALL SELECT d FROM t4)
      Supports for statements with nested UNIONs will be
      added in a future version.
      
      
      mysql-test/r/subselect.result:
        Bug #32036: test case
      mysql-test/t/subselect.test:
        Bug #32036: test case
      sql/sql_yacc.yy:
        Bug #32036: Make the syntax rules for UNIONs in subqueries the same
        as for top level UNIONs.
      f3f9855d
  2. 05 Nov, 2007 2 commits
  3. 02 Nov, 2007 2 commits
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug26215/my50-bug26215 · e397a7b0
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      
      client/mysql.cc:
        Auto merged
      e397a7b0
    • unknown's avatar
      Fix for: · 1daa54d6
      unknown authored
        bug #26215: mysql command line client should not strip comments
                    from SQL statements
      and
        bug #11230: Keeping comments when storing stored procedures
      
      With the introduction of multiline comments support in the command line
      client (mysql) in MySQL 4.1, it became impossible to preserve
      client-side comments within single SQL statements or stored routines.
      This feature was useful for monitoring tools and maintenance.
      
      The patch adds a new option to the command line client
      ('--enable-comments', '-c') which allows to preserve SQL comments and
      send them to the server for single SQL statements, and to keep comments
      in the code for stored procedures / functions / triggers.
      
      The patch is a modification of the contributed patch from bug #11230
      with the following changes:
      - code style changes to conform to the coding guidelines
      - changed is_prefix() to my_strnncoll() to detect the DELIMITER
      command, since the first one is case-sensitive and not charset-aware
      - renamed t/comments-51.* to t/mysql_comments.*
      - removed tests for comments in triggers since 5.0 does not have SHOW
      CREATE TRIGGER (those tests will be added back in 5.1).
      
      The test cases are only for bug #11230. No automated test case for bug
      #26215 is possible due to the test suite deficiencies (though the cases
      from the bug report were tested manually).
      
      
      client/mysql.cc:
        Applied the contributed patch from bug11230 with the following changes:
        - code style changes to conform to the coding guidelines
        - changed is_prefix() to my_strnncoll() to detect the DELIMITER
        command, since the first one is case-sensitive and not charset-aware
        
        The patch adds a new option to the command line client which allows to
        preserve SQL comments and send them to the server to ensure better
        error reporting and to, keep comments in the code for stored procedures
        / functions / triggers.
      mysql-test/r/mysql_comments.result:
        Added test cases for bug11230.
      mysql-test/t/mysql_comments.sql:
        Added test cases for bug11230.
      mysql-test/t/mysql_comments.test:
        Added test cases for bug11230.
      1daa54d6
  4. 01 Nov, 2007 1 commit
    • unknown's avatar
      Bug #31794: no syntax error on SELECT id FROM t HAVING count(*)>2 · 660eb5bb
      unknown authored
      The HAVING clause is subject to the same rules as the SELECT list
      about using aggregated and non-aggregated columns.
      But this was not enforced when processing implicit grouping from
      using aggregate functions.
      Fixed by performing the same checks for HAVING as for SELECT.
      
      
      mysql-test/r/func_group.result:
        Bug #31794: test case
      mysql-test/t/func_group.test:
        Bug #31794: test case
      sql/sql_select.cc:
        Bug #31794: Check HAVING in addition to SELECT list
      660eb5bb
  5. 30 Oct, 2007 2 commits
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 95acd426
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B31884-5.0-opt
      
      
      95acd426
    • unknown's avatar
      Bug #31884: Assertion + crash in subquery in the SELECT clause. · 6bbdacae
      unknown authored
      Item_in_subselect's only externally callable method is val_bool().
      However the nullability in the wrapper class (Item_in_optimizer) is 
      established by calling the "forbidden" method val_int().
      
      Fixed to use the correct method (val_bool() ) to establish nullability 
      of Item_in_subselect in Item_in_optimizer.
      
      
      mysql-test/r/subselect.result:
        Bug #31884: test case
      mysql-test/t/subselect.test:
        Bug #31884: test case
      sql/item_subselect.h:
        Bug #31884: Use the correct method to establish nullability
      6bbdacae
  6. 29 Oct, 2007 5 commits
    • unknown's avatar
      Bug#30889: filesort and order by with float/numeric crashes server · 9e6bb07d
      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.
      9e6bb07d
    • unknown's avatar
      Bug#30897 GROUP_CONCAT returns extra comma on empty fields · d5b1d620
      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
      d5b1d620
    • unknown's avatar
      backported test case from 5.1 · 95e66de2
      unknown authored
      95e66de2
    • unknown's avatar
      25939026
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug29131/my50-bug29131 · b52ab3bd
      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
      b52ab3bd
  7. 27 Oct, 2007 2 commits
  8. 26 Oct, 2007 3 commits
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/PA/5.0-opt-31663 · 46b03c59
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      
      sql/sql_class.cc:
        Auto merged
      46b03c59
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · ca126a99
      unknown authored
      into  mysql.com:/misc/mysql/31662/50-31662
      
      
      sql/sql_base.cc:
        Auto merged
      ca126a99
    • unknown's avatar
      Bug#31662: 'null' is shown as type of fields for view with bad definer, breaks mysqldump · 0e700e1e
      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.
      0e700e1e
  9. 25 Oct, 2007 2 commits
    • unknown's avatar
      Fix for bug #29131: SHOW VARIABLES reports variable 'log' but SET · 6eced1b8
      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.
      6eced1b8
    • unknown's avatar
      Fixed bug #27695: View should not be allowed to have empty or · 04ff9d4d
      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.
      04ff9d4d
  10. 24 Oct, 2007 2 commits
    • unknown's avatar
      Merge magare.gmz:/home/kgeorge/mysql/work/B30715-5.0-opt · e66f7e1d
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/work/B30715-merged-5.0-opt
      
      
      e66f7e1d
    • unknown's avatar
      Bug #30715: Assertion failed: item_field->field->real_maybe_null(), · e2433cbc
      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.
      e2433cbc
  11. 23 Oct, 2007 18 commits
    • unknown's avatar
      Post-merge fixes · 6a8e10d2
      unknown authored
      6a8e10d2
    • unknown's avatar
      Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 4ea9a3d5
      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
      4ea9a3d5
    • unknown's avatar
      BUG#31450: Query causes error 1048 · 53dac1ee
      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
      53dac1ee
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt · fa0e1d6b
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
      
      
      fa0e1d6b
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/5.0 · 8479eb1d
      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
      8479eb1d
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · c448d2ed
      unknown authored
      into  mysql.com:/home/hf/work/30638/my50-30638
      
      
      c448d2ed
    • unknown's avatar
      Merge ssh://bk-internal.mysql.com//home/bk/mysql-5.0-opt · 72bd96ae
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      
      72bd96ae
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · f7f8ca8b
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
      
      
      f7f8ca8b
    • unknown's avatar
      Merge polly.(none):/home/kaa/src/opt/bug31742/my50-bug28550 · 2d4639c4
      unknown authored
      into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
      
      
      2d4639c4
    • unknown's avatar
      type conversions fixed to get rid of warnings · 4e5c8bc7
      unknown authored
      
      sql/ha_heap.cc:
        type conversion fix
      sql/opt_range.cc:
        type conversion fix
      4e5c8bc7
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 73d08e3a
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
      
      
      73d08e3a
    • unknown's avatar
      Fixed bug #31663: if the FIELDS TERMINATED BY string · bcc62784
      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.
      bcc62784
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 084753af
      unknown authored
      into  mysql.com:/home/hf/work/30638/my50-30638
      
      
      084753af
    • unknown's avatar
      type conversion fixed to get rid of warnings · 8262c4f4
      unknown authored
      
      sql/opt_range.cc:
        type conversion fixed
      8262c4f4
    • unknown's avatar
      Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · a9a50c72
      unknown authored
      into  magare.gmz:/home/kgeorge/mysql/autopush/B30825-new-5.0-opt
      
      
      a9a50c72
    • unknown's avatar
      Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 8a790dd1
      unknown authored
      into  mysql.com:/home/hf/work/30638/my50-30638
      
      
      8a790dd1
    • unknown's avatar
      type conversions fixed to avoid warnings on Windows · e1dc86b0
      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
      e1dc86b0
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/4.1 · 31634a38
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/4.1-opt
      
      
      31634a38