An error occurred fetching the project authors.
  1. 30 May, 2014 1 commit
  2. 14 Mar, 2014 1 commit
    • unknown's avatar
      MDEV-5446: Assertion `!table || (!table->read_set ||... · 5c8ed7dd
      unknown authored
      MDEV-5446: Assertion `!table || (!table->read_set || bitmap_is_set(table->read_set, field_index))' fails on EXPLAIN EXTENDED with VALUES function
      
      field_index should be set correctly for null field created by Item_insert_value::fix_fields().
      5c8ed7dd
  3. 12 Feb, 2014 1 commit
  4. 12 Apr, 2013 1 commit
    • Alexey Botchkov's avatar
      MDEV-3917 multiple use locks (GET_LOCK) in one connection. · 1a600125
      Alexey Botchkov authored
          The patch contributed by Konstantin Osipov applied.
          Native comments:
            Implement multiple user-level locks per connection.
      
            GET_LOCK() function in MySQL allows a connection  to hold at most
            one user level lock. Taking a new lock automatically releases the
            old lock, if any.
      
            The limit of one lock per session existed since  early versions
            of MySQL didn't have a deadlock detector for SQL locks.
            MDL patches in MySQL 5.5 added a deadlock detector,
            so starting from 5.5 it became possible to take multiple locks
            in any order -- a deadlock, should it occur, would be detected
            and an error returned to the client which closed the wait chain.
      
            This is exactly what is done in this patch: ULLs are moved
            to use MDL subsystem.
      1a600125
  5. 22 Jan, 2013 1 commit
  6. 24 Nov, 2010 1 commit
    • Gleb Shchepa's avatar
      backport of bug #54461 from 5.1-security to 5.0-security · a30e9dda
      Gleb Shchepa authored
       > revision-id: gshchepa@mysql.com-20100801181236-uyuq6ewaq43rw780
       > parent: alexey.kopytov@sun.com-20100723115254-jjwmhq97b9wl932l
       > committer: Gleb Shchepa <gshchepa@mysql.com>
       > branch nick: mysql-5.1-security
       > timestamp: Sun 2010-08-01 22:12:36 +0400
       > Bug #54461: crash with longblob and union or update with subquery
       >
       > Queries may crash, if
       >   1) the GREATEST or the LEAST function has a mixed list of
       >      numeric and LONGBLOB arguments and
       >   2) the result of such a function goes through an intermediate
       >      temporary table.
       >
       > An Item that references a LONGBLOB field has max_length of
       > UINT_MAX32 == (2^32 - 1).
       >
       > The current implementation of GREATEST/LEAST returns REAL
       > result for a mixed list of numeric and string arguments (that
       > contradicts with the current documentation, this contradiction
       > was discussed and it was decided to update the documentation).
       >
       > The max_length of such a function call was calculated as a
       > maximum of argument max_length values (i.e. UINT_MAX32).
       >
       > That max_length value of UINT_MAX32 was used as a length for
       > the intermediate temporary table Field_double to hold
       > GREATEST/LEAST function result.
       >
       > The Field_double::val_str() method call on that field
       > allocates a String value.
       >
       > Since an allocation of String reserves an additional byte
       > for a zero-termination, the size of String buffer was
       > set to (UINT_MAX32 + 1), that caused an integer overflow:
       > actually, an empty buffer of size 0 was allocated.
       >
       > An initialization of the "first" byte of that zero-size
       > buffer with '\0' caused a crash.
       >
       > The Item_func_min_max::fix_length_and_dec() has been
       > modified to calculate max_length for the REAL result like
       > we do it for arithmetical operators.
      
      
      mysql-test/r/func_misc.result:
        Test case for bug #54461.
      mysql-test/t/func_misc.test:
        Test case for bug #54461.
      sql/item_func.cc:
        Bug #54461: crash with longblob and union or update with subquery
        
        The Item_func_min_max::fix_length_and_dec() has been
        modified to calculate max_length for the REAL result like
        we do it for arithmetical operators.
      a30e9dda
  7. 18 Nov, 2010 1 commit
    • Magne Mahre's avatar
      Bug#58199 name_const in the having clause crashes · 54d63578
      Magne Mahre authored
            
      NAME_CONST(..) was used wrongly in a HAVING clause, and
      should have caused a user error.  Instead, it caused a
      segmentation fault.
            
      During parsing, the value parameter to NAME_CONST was
      specified to be an uninitialized Item_ref object (it
      would be resolved later).   During the semantic analysis,
      the object is tested, and since it was not initialied,
      the server seg.faulted.
            
      The fix is to check if the object is initialized
      before testing it.  The same pattern has already been
      applied to most other methods in the Item_ref class.
            
      Bug was introduced by the optimization done as part of
      Bug#33546.
      54d63578
  8. 12 Oct, 2010 1 commit
    • Ramil Kalimullin's avatar
      Fix for bug#57283: inet_ntoa() crashes · b001a522
      Ramil Kalimullin authored
      Problem: some call of INET_NTOA() function may lead 
      to a crash due to missing its character set initialization.
      
      Fix: explicitly set the character set.
      
      
      mysql-test/r/func_misc.result:
        Fix for bug#57283: inet_ntoa() crashes
          - test result.
      mysql-test/t/func_misc.test:
        Fix for bug#57283: inet_ntoa() crashes
          - test case.
      sql/item_strfunc.cc:
        Fix for bug#57283: inet_ntoa() crashes
          - explicitly set buffer's character set.
      b001a522
  9. 01 Aug, 2010 1 commit
    • Gleb Shchepa's avatar
      Bug #54461: crash with longblob and union or update with subquery · 80aa8824
      Gleb Shchepa authored
      Queries may crash, if
        1) the GREATEST or the LEAST function has a mixed list of
           numeric and LONGBLOB arguments and
        2) the result of such a function goes through an intermediate
           temporary table.
      
      An Item that references a LONGBLOB field has max_length of
      UINT_MAX32 == (2^32 - 1).
      
      The current implementation of GREATEST/LEAST returns REAL
      result for a mixed list of numeric and string arguments (that
      contradicts with the current documentation, this contradiction
      was discussed and it was decided to update the documentation).
      
      The max_length of such a function call was calculated as a
      maximum of argument max_length values (i.e. UINT_MAX32).
      
      That max_length value of UINT_MAX32 was used as a length for
      the intermediate temporary table Field_double to hold
      GREATEST/LEAST function result.
      
      The Field_double::val_str() method call on that field
      allocates a String value.
      
      Since an allocation of String reserves an additional byte
      for a zero-termination, the size of String buffer was
      set to (UINT_MAX32 + 1), that caused an integer overflow:
      actually, an empty buffer of size 0 was allocated.
      
      An initialization of the "first" byte of that zero-size
      buffer with '\0' caused a crash.
      
      The Item_func_min_max::fix_length_and_dec() has been
      modified to calculate max_length for the REAL result like
      we do it for arithmetical operators.
      
      
      ******
      Bug #54461: crash with longblob and union or update with subquery
      
      Queries may crash, if
        1) the GREATEST or the LEAST function has a mixed list of
           numeric and LONGBLOB arguments and
        2) the result of such a function goes through an intermediate
           temporary table.
      
      An Item that references a LONGBLOB field has max_length of
      UINT_MAX32 == (2^32 - 1).
      
      The current implementation of GREATEST/LEAST returns REAL
      result for a mixed list of numeric and string arguments (that
      contradicts with the current documentation, this contradiction
      was discussed and it was decided to update the documentation).
      
      The max_length of such a function call was calculated as a
      maximum of argument max_length values (i.e. UINT_MAX32).
      
      That max_length value of UINT_MAX32 was used as a length for
      the intermediate temporary table Field_double to hold
      GREATEST/LEAST function result.
      
      The Field_double::val_str() method call on that field
      allocates a String value.
      
      Since an allocation of String reserves an additional byte
      for a zero-termination, the size of String buffer was
      set to (UINT_MAX32 + 1), that caused an integer overflow:
      actually, an empty buffer of size 0 was allocated.
      
      An initialization of the "first" byte of that zero-size
      buffer with '\0' caused a crash.
      
      The Item_func_min_max::fix_length_and_dec() has been
      modified to calculate max_length for the REAL result like
      we do it for arithmetical operators.
      
      
      
      mysql-test/r/func_misc.result:
        Test case for bug #54461.
        
        ******
        Test case for bug #54461.
      mysql-test/t/func_misc.test:
        Test case for bug #54461.
        
        ******
        Test case for bug #54461.
      sql/item_func.cc:
        Bug #54461: crash with longblob and union or update with subquery
        
        The Item_func_min_max::fix_length_and_dec() has been
        modified to calculate max_length for the REAL result like
        we do it for arithmetical operators.
        
        ******
        Bug #54461: crash with longblob and union or update with subquery
        
        The Item_func_min_max::fix_length_and_dec() has been
        modified to calculate max_length for the REAL result like
        we do it for arithmetical operators.
      80aa8824
  10. 07 Apr, 2010 1 commit
    • Alexey Kopytov's avatar
      Bug #52165: Assertion failed: file .\dtoa.c, line 465 · ee136691
      Alexey Kopytov authored
      The failing assertion was written with the assumption that a NULL
      string can never be passed to my_strtod(). However, an empty string
      may be passed under some circumstances by passing str == NULL and
      *end == NULL.
      
      Fixed the assertion to take the above case into account.
      
      mysql-test/r/func_misc.result:
        Added a test case for bug #52165.
      mysql-test/t/func_misc.test:
        Added a test case for bug #52165.
      strings/dtoa.c:
        Fixed the assertion in my_strtod() to take the case of 'str == NULL
        && *end == NULL' into account.
      ee136691
  11. 18 Mar, 2010 1 commit
    • Alexey Kopytov's avatar
      Bug #8433: Overflow must be an error · 2acfdc50
      Alexey Kopytov authored
       
      All numeric operators and functions on integer, floating point 
      and DECIMAL values now throw an 'out of range' error rather 
      than returning an incorrect value or NULL,  when the result is 
      out of supported range for the corresponding data type. 
       
      Some test cases in the test suite had to be updated 
      accordingly either because the test case itself relied on a 
      value returned in case of a numeric overflow, or because a 
      numeric overflow was the root cause of the corresponding bugs. 
      The latter tests are no longer relevant, since the expressions 
      used to trigger the corresponding bugs are not valid anymore. 
      However, such test cases have been adjusted and kept "for the 
      record". 
      
      mysql-test/r/func_math.result:
        Added test cases for bug #8433. 
        Updated results of the test case for bug #31236.
      mysql-test/r/func_misc.result:
        Streamlined test cases.
      mysql-test/r/func_test.result:
        Streamlined test cases.
      mysql-test/r/select.result:
        Streamlined test cases.
      mysql-test/r/sp.result:
        Streamlined test cases.
      mysql-test/r/strict.result:
        Streamlined test cases.
      mysql-test/r/type_newdecimal.result:
        Streamlined test cases.
      mysql-test/suite/sys_vars/r/sql_slave_skip_counter_basic.result:
        Streamlined test cases.
      mysql-test/suite/sys_vars/t/sql_slave_skip_counter_basic.test:
        Streamlined test cases.
      mysql-test/t/func_math.test:
        Added test cases for bug #8433. 
        Updated results of the test case for bug #31236.
      mysql-test/t/func_misc.test:
        Streamlined test cases.
      mysql-test/t/func_test.test:
        Streamlined test cases.
      mysql-test/t/select.test:
        Streamlined test cases.
      mysql-test/t/sp.test:
        Streamlined test cases.
      mysql-test/t/strict.test:
        Streamlined test cases.
      mysql-test/t/type_newdecimal.test:
        Streamlined test cases.
      sql/item_create.cc:
        Changed Item_func_cot() to be defined as a standalone Item
        rather than a combination of "1 / TAN(x)".
      sql/item_func.cc:
        Throw an 'out of range' error rather than returning an  
        incorrect value or NULL,  when the result of a numeric 
        operator or a function is out of supported range for  
        the corresponding data type.
      sql/item_func.h:
        Added validation helpers as inline methods of Item_func.
      sql/share/errmsg-utf8.txt:
        New ER_DATA_OUT_OF_RANGE error.
      2acfdc50
  12. 11 Jan, 2010 1 commit
    • unknown's avatar
      Fix multiple test suite failures in Buildbot due to races in the test cases or... · 0855019e
      unknown authored
      Fix multiple test suite failures in Buildbot due to races in the test cases or missing server features not properly checked
      
      mysql-test/r/func_misc.result:
        Move test that requires query cache from main.func_misc to main.query_cache.
      mysql-test/r/mysqltest.result:
        Fix test failure due to race.
        This test case creates > 300 connections in a tight loop, and depending on thread
        scheduling and load, even though each connection is immediately disconnected
        before connecting the next one, the server max connections may still be exceeded
        due to server not being able to free old connections as fast as new ones are made.
      mysql-test/r/query_cache.result:
        Move test that requires query cache from main.func_misc to main.query_cache.
        Move test that requires query cache from main.variables to main.query_cache.
      mysql-test/r/query_cache_notembedded.result:
        Move test that requires query cache from main.sp_notembedded to main.query_cache_notembedded.
      mysql-test/r/sp_notembedded.result:
        Move test that requires query cache from main.sp_notembedded to main.query_cache_notembedded.
      mysql-test/r/udf.result:
        Move test in main.udf that requires query cache to separate file.
      mysql-test/r/udf_query_cache.result:
        Move test in main.udf that requires query cache to separate file.
      mysql-test/r/variables.result:
        Move test that requires query cache from main.variables to main.query_cache.
      mysql-test/suite/funcs_1/datadict/processlist_val.inc:
        Fix race where result file may show state "cleaning up" in the small window
        between setting COMMAND to 'Sleep' and clearing STATE.
      mysql-test/suite/rpl/r/rpl_temporary.result:
        Fix race with suppression of warning message by fixing the test to not generate the
        warning message in the first place.
        
        Problem was a race between creating an anonymous account and resetting the slave.
        If the slave reset happens before replicating the account, the subsequest deletion
        of the account will fail to replicate correctly due to missing row.
      mysql-test/suite/rpl/t/rpl_temporary.test:
        Fix race with suppression of warning message by fixing the test to not generate the
        warning message in the first place.
        
        Problem was a race between creating an anonymous account and resetting the slave.
        If the slave reset happens before replicating the account, the subsequest deletion
        of the account will fail to replicate correctly due to missing row.
      mysql-test/t/func_misc.test:
        Move test that requires query cache from main.func_misc to main.query_cache.
        Move test that requires query cache from main.variables to main.query_cache.
      mysql-test/t/mysqltest.test:
        Fix test failure due to race.
        This test case creates > 300 connections in a tight loop, and depending on thread
        scheduling and load, even though each connection is immediately disconnected
        before connecting the next one, the server max connections may still be exceeded
        due to server not being able to free old connections as fast as new ones are made.
      mysql-test/t/query_cache.test:
        Move test that requires query cache to main.query_cache.
      mysql-test/t/query_cache_notembedded.test:
        Move test that requires query cache from main.sp_notembedded to main.query_cache_notembedded.
      mysql-test/t/sp_notembedded.test:
        Move test that requires query cache from main.sp_notembedded to main.query_cache_notembedded.
      mysql-test/t/udf.test:
        Move test in main.udf that requires query cache to separate file.
      mysql-test/t/udf_query_cache-master.opt:
        Move test in main.udf that requires query cache to separate file.
      mysql-test/t/udf_query_cache.test:
        Move test in main.udf that requires query cache to separate file.
      mysql-test/t/variables.test:
        Move test that requires query cache from main.variables to main.query_cache.
      tests/mysql_client_test.c:
        In tests that require query cache, skip the test if query cache not available.
        Do this dynamically rather than using HAVE_QUERY_CACHE, as there is no guarantee
        that the server we run against was compiled with same preprocessor #define as
        the mysql_client_test program (and since it is trivial to check dynamically).
      0855019e
  13. 28 Oct, 2009 1 commit
    • Michael Widenius's avatar
      Speed up of test suite: · 35832761
      Michael Widenius authored
      - Added --disable_query_log ; begin ; .... commit; --enable_query_log around all while loops that does insert
      35832761
  14. 30 Apr, 2009 1 commit
  15. 26 Mar, 2009 1 commit
    • Leonard Zhou's avatar
      BUG#35515 Aliases of variables in binary log are ignored with NAME_CONST. · 944915ca
      Leonard Zhou authored
            
      When add an aliase name after NAME_CONST, the aliase name will be overwrite.
            
      NAME_CONST will re-set the field's name only if there isn't an aliase in the
      function fix-fields().
      If there is an aliase, NAME_CONST doesn't re-set the field's name and keeps the old
      name.
      
      mysql-test/r/func_misc.result:
        Test result.
      mysql-test/r/rpl_name_const.result:
        Test case.
      mysql-test/t/func_misc.test:
        Add NAME_CONST test.
      mysql-test/t/rpl_name_const.test:
        Test result.
      sql/item.cc:
        Re-set field's name if the name is autogenerated, that mean without aliase.
      944915ca
  16. 19 Mar, 2009 1 commit
    • Joerg Bruehe's avatar
      This is a backport from 5.1.32 into 5.1.31sp1. · 8a07ce8b
      Joerg Bruehe authored
      The original fix was done by Ramil Kalimullin on 2009-02-05
      All comments are copied from the original fix:
      
      
      Fix for bug#42014: Crash, name_const with collate
      
      Problem: some queries using NAME_CONST(.. COLLATE ...)
      lead to server crash due to failed type cast.
      
      Fix: return the underlying item's type in case of
      NAME_CONST(.. COLLATE ...) to avoid wrong casting.
      
      
      mysql-test/r/func_misc.result:
        Fix for bug#42014: Crash, name_const with coll
          - test result.
      mysql-test/t/func_misc.test:
        Fix for bug#42014: Crash, name_const with coll
          - test case.
      sql/item.cc:
        Fix for bug#42014: Crash, name_const with coll
          - in case of NAME_CONST('name', 'value' COLLATE collation)
        Item_name_const::type() returns type of 'value' argument 
        to avoid wrong type casting of the Item_name_const items.
      8a07ce8b
  17. 05 Feb, 2009 1 commit
    • Ramil Kalimullin's avatar
      Fix for bug#42014: Crash, name_const with collate · 31d908d7
      Ramil Kalimullin authored
      Problem: some queries using NAME_CONST(.. COLLATE ...)
      lead to server crash due to failed type cast.
      
      Fix: return the underlying item's type in case of
      NAME_CONST(.. COLLATE ...) to avoid wrong casting.
      
      
      mysql-test/r/func_misc.result:
        Fix for bug#42014: Crash, name_const with coll
          - test result.
      mysql-test/t/func_misc.test:
        Fix for bug#42014: Crash, name_const with coll
          - test case.
      sql/item.cc:
        Fix for bug#42014: Crash, name_const with coll
          - in case of NAME_CONST('name', 'value' COLLATE collation)
        Item_name_const::type() returns type of 'value' argument 
        to awoid wrong type casting of the Item_name_const items.
      31d908d7
  18. 10 Jul, 2008 1 commit
    • Tatiana A. Nurnberg's avatar
      Bug#35848: UUID() returns UUIDs with the wrong time · 0833d668
      Tatiana A. Nurnberg authored
      offset for time part in UUIDs was 1/1000 of what it
      should be. In other words, offset was off.
      
      Also handle the case where we count into the future
      when several UUIDs are generated in one "tick", and
      then the next call is late enough for us to unwind
      some but not all of those borrowed ticks.
      
      Lastly, handle the case where we keep borrowing and
      borrowing until the tick-counter overflows by also
      changing into a new "numberspace" by creating a new
      random suffix.
      
      
      mysql-test/r/func_misc.result:
        Show that time-part of UUIDs is correct now.
      mysql-test/t/func_misc.test:
        Show that time-part of UUIDs is correct now
        by replicating the C-code's resultin SQL.
        Results also decode to expect date-data on
        command-line (external validation).
        
        No test for unwinding of borrowed ticks as
        this a) is a race and b) depends on what timer
        we get.
      sql/item_strfunc.cc:
        correct offset for date/time-part of UUID.
        also make sure that when we counted into
        the future earlier (several UUIDs generated
        in same tick), we only give back as many
        "borrowed" ticks as we can without duplicating
        past timestamps. If our tick-counter overflows
        before we can give back, or if the system-clock
        is set back (by user or Daylight Saving Time),
        we create a new random suffix to avoid
        collisions and clear the tick-counter.
      0833d668
  19. 02 Jun, 2008 1 commit
    • Matthias Leich mleich@mysql.com's avatar
      Bug#36788 Multiple funcs_1 'trig' tests are failing on vanilla builds · 15440264
      Matthias Leich mleich@mysql.com authored
      Fix for this bug and additional improvements/fixes
      In detail:
      - Remove unicode attribute from several columns
        (unicode properties were nowhere needed/tested)
        of the table tb3
        -> The runnability of these tests depends no more on
           the availibility of some optional collations.
      - Use a table tb3 with the same layout for all
        engines to be tested and unify the engine name
        within the protocols.
        -> <engine>_trig_<abc>.result have the same content
      - Do not load data into tb3 if these rows have no
        impact on result sets
      - Add tests for NDB (they exist already in 5.1)
      - "--replace_result" at various places because
        NDB variants of tests failed with "random" row
        order in results
        This fixes a till now unknown weakness within the
        funcs_1 NDB tests existing in 5.1 and 6.0
      - Fix the expected result of ndb_trig_1011ext
        which suffered from Bug 32656
        + disable this test
      - funcs_1 could be executed with the mysql-test-run.pl
        option "--reorder", which saves some runtime by
        optimizing server restarts.
        Runtimes on tmpfs (one attempt only):
        with    reorder 132 seconds
        without reorder 183 seconds
      - Adjust two "check" statements within func_misc.test
        which were incorrect (We had one run with result set
        difference though the server worked good.)
      - minor fixes in comments
      15440264
  20. 29 May, 2008 1 commit
  21. 23 May, 2008 1 commit
  22. 28 Feb, 2008 1 commit
    • unknown's avatar
      Bug#34749: Server crash when using NAME_CONST() with an aggregate function · a0eec8ab
      unknown authored
      NAME_CONST('whatever', -1) * MAX(whatever) bombed since -1 was
      not seen as constant, but as FUNCTION_UNARY_MINUS(constant)
      while we are at the same time pretending it was a basic const
      item. This confused the aggregate handlers in exciting ways.
      We now make NAME_CONST() behave more consistently.
      
      
      mysql-test/r/func_misc.result:
        show that a combination of NAME_CONST('x', -y) and an aggregate
        no longer crashes the server.
      mysql-test/t/func_misc.test:
        show that a combination of NAME_CONST('x', -y) and an aggregate
        no longer crashes the server.
      sql/ha_ndbcluster_cond.cc:
        tell cluster about "new" function type NEG_FUNC.
        (this was previous identified as UNKNOWN_FUNC,
        so we just handle it the same way, that's all.)
      sql/ha_ndbcluster_cond.h:
        tell cluster about "new" function type NEG_FUNC.
        (this was previous identified as UNKNOWN_FUNC,
        so we just handle it the same way, that's all.)
      sql/item.cc:
        make NAME_CONST() transparent in that type() of
        -constant is that of constant, not that of unary
        minus (id est, FUNC_ITEM).
      sql/item.h:
        Move constructor to item.cc
      sql/item_func.h:
        Revert Bug#30832; we can apply the magic more narrowly
        (just for NAME_CONST() rather than all Item_func_neg).
        
        Introduce new function type "NEG_FUNC."
      a0eec8ab
  23. 19 Feb, 2008 1 commit
    • unknown's avatar
      BUG#34289 - Incorrect NAME_CONST substitution in stored procedures · f802cd51
      unknown authored
                  breaks replication
      
      NAME_CONST() didn't replicate constant character set and collation
      correctly.
      
      With this fix NAME_CONST() inherits collation from the value argument.
      
      
      mysql-test/r/func_misc.result:
        A test case for BUG#34289.
      mysql-test/t/func_misc.test:
        A test case for BUG#34289.
      sql/item.cc:
        Inherit collation from value argument.
      f802cd51
  24. 13 Dec, 2007 1 commit
  25. 08 Dec, 2007 1 commit
    • unknown's avatar
      Fixed bug #27545. · b1b2e0d0
      unknown authored
      Both arguments of the function NAME_CONST must be constant expressions.
      This constraint is checked in the Item_name_const::fix_fields method. 
      Yet if the argument of the function was not a constant expression no
      error message was reported. As a result the client hanged waiting for a
      response.
      Now the function Item_name_const::fix_fields reports an error message
      when any of the additional context conditions imposed on the function
      NAME_CONST is not satisfied. 
      
      
      mysql-test/r/func_misc.result:
        Added a test case for bug #26545.
      mysql-test/t/func_misc.test:
        Added a test case for bug #26545.
      b1b2e0d0
  26. 30 Nov, 2007 1 commit
    • unknown's avatar
      Bug #30430 crash:./mtr --embedded-server --ps-protocol cache_innodb func_misc... · 6959d204
      unknown authored
      PS-protocol data is stored in different format - the MYSQL_RECORDS->data
      contains the link to the record content, not to array of the links to
      the field's contents. So we have to handle it separately for
      embedded-server query cache.
      
      
      libmysqld/emb_qcache.cc:
        Bug #30430 crash:./mtr --embedded-server --ps-protocol cache_innodb func_misc...
        
        ps_protocol data now stored in it's particular way.
      libmysqld/emb_qcache.h:
        Bug #30430 crash:./mtr --embedded-server --ps-protocol cache_innodb func_misc...
        
        Querycache_stream::load_char/store_char  ->
          load_uchar/store_uchar
      mysql-test/r/func_misc.result:
        Bug #30430 crash:./mtr --embedded-server --ps-protocol cache_innodb func_misc...
        
        test result
      mysql-test/t/func_misc.test:
        Bug #30430 crash:./mtr --embedded-server --ps-protocol cache_innodb func_misc...
        
        the test uses t2 table, so let's make sure it doesn't exist befor the start
      6959d204
  27. 27 Nov, 2007 1 commit
    • unknown's avatar
      Fix for bug #32559: connection hangs on query with name_const · ba974f83
      unknown authored
      Problem: passing a non-constant name to the NAME_CONST function results in a crash.
      
      Fix: check the NAME_CONST name argument; return fake item type if we got
      non-constant argument(s).
      
      
      mysql-test/r/func_misc.result:
        Fix for bug #32559: connection hangs on query with name_const
          - test result.
      mysql-test/t/func_misc.test:
        Fix for bug #32559: connection hangs on query with name_const
          - test case.
      sql/item.cc:
        Fix for bug #32559: connection hangs on query with name_const
          - Item_name_const::type() now returns NULL_ITEM if non-constant arguments 
            were used to create the item to avoid wrong type casting.
      sql/item.h:
        Fix for bug #32559: connection hangs on query with name_const
          - NAME_CONST name argument checked for invariability.
      ba974f83
  28. 19 Oct, 2007 1 commit
    • unknown's avatar
      Fix for bug #31349: ERROR 1062 (23000): Duplicate entry '' for key 'group_key' · 426b551b
      unknown authored
      Problem: lying to the optimizer that a function (Item_func_inet_ntoa)
      cannot return NULL values leads to unexpected results (in the case group
      keys creation/comparison is broken). 
      
      Fix: Item_func_inet_ntoa::maybe_null should be set properly.
      
      
      mysql-test/r/func_misc.result:
        Fix for bug #31349: ERROR 1062 (23000): Duplicate entry '' for key 'group_key'
          - test result.
      mysql-test/t/func_misc.test:
        Fix for bug #31349: ERROR 1062 (23000): Duplicate entry '' for key 'group_key'
          - test case.
      sql/item_strfunc.h:
        Fix for bug #31349: ERROR 1062 (23000): Duplicate entry '' for key 'group_key'
          - set Item_func_inet_ntoa::maybe_null flag.
      426b551b
  29. 09 Oct, 2007 1 commit
    • unknown's avatar
      Bug#30832:Assertion + crash with select name_const('test',now()); · a462f34a
      unknown authored
      Completion of previous patch. Negative number were denied
      as the second argument to NAME_CONST.
      
      
      mysql-test/r/func_misc.result:
        Bug#30832 completion: test result
      mysql-test/t/func_misc.test:
        Bug#30832 completion: test case
        added negative numbers
      sql/item_func.h:
        Bug#30832 completion
        The function that represents unary minus is considered a constant if the argument is.
      a462f34a
  30. 28 Sep, 2007 1 commit
    • unknown's avatar
      Bug #30832: Assertion + crash with select name_const('test', now()); · 582388e6
      unknown authored
      The NAME_CONST function is required to work correctly with constants only.
      When executed with functions that return types other than those returned by
      Item::field_type (string, int, decimal, or real), the result gets cast to
      one of those types. This cannot happen for constants.
      Fixed by only allowing constants as arguments to NAME_CONST.
      
      
      mysql-test/r/func_misc.result:
        Bug#30832: Test result
      mysql-test/t/func_misc.test:
        Bug#30832: Test case
      sql/item.h:
        Bug#30832: The fix
      582388e6
  31. 27 Aug, 2007 1 commit
    • unknown's avatar
      Bug #30389: connection_id() always return 0 in embedded server · 61e988e7
      unknown authored
        
      Initialize thd->variables.pseudo_thread_id when a new embedded
      thd is created.
      
      
      libmysqld/lib_sql.cc:
        Add comment regarding duplication of code in create_embedded_thd()
        vs. create_new_thread() and prepare_new_connection_state().  This
        was a cause for not properly initializing the pseudo_thread_id variable.
      mysql-test/r/func_misc.result:
        Add test case to ensure connection_id() returns a sane value
      mysql-test/t/func_misc.test:
        Add test case to ensure connection_id() returns a sane value
      sql/mysqld.cc:
        Add comment warning of the duplication of code between create_new_thread()
        and create_embedded_thd()
      sql/sql_connect.cc:
        Add comment warning of the duplication of code between
        prepare_new_connection_state() and create_embedded_thd()
      61e988e7
  32. 16 Aug, 2007 1 commit
    • unknown's avatar
      Fixed errors found by pushbuild: · 10ef77fc
      unknown authored
      Fixed failing func_misc test for embedded server
      Added casts to avoid compiler warnings
      Removed Table_locks_immediate as it's depending on log file cacheing
      Changed type of get_time() to avoid warnings
      Removed testing if purger master logs succeded as this is not deterministic
      
      
      libmysqld/lib_sql.cc:
        Fixed failing func_misc test for embedded server
      mysql-test/mysql-test-run.pl:
        Shut first down slaves, then masters.
        This should avoid some errors in the log file about not being able to connect to master during shutdown
      mysql-test/r/func_misc.result:
        Move DROP TABLE's first
      mysql-test/r/status.result:
        Removed Table_locks_immediate as it's depending on log file cacheing
      mysql-test/suite/ndb/r/ndb_binlog_basic.result:
        Removed testing if purger master logs succeded as this is not deterministic
      mysql-test/suite/ndb/t/ndb_binlog_basic.test:
        Removed testing if purger master logs succeded as this is not deterministic
      mysql-test/t/func_misc.test:
        Move DROP TABLE's first
      mysql-test/t/status.test:
        Removed Table_locks_immediate as it's depending on log file cacheing
      sql/log_event.cc:
        Added cast to avoid warnings
      sql/log_event.h:
        Changed type of get_time() to avoid warnings
      10ef77fc
  33. 31 May, 2007 1 commit
    • unknown's avatar
      Added casts to avoid compiler warnings and fixed a wrong type. · c6ff8a65
      unknown authored
      ```yaml
      Added casts and fixed wrong type.
      ```
      
      Added casts and fixed wrong type.
      ---
      Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1-marvel
      into  a88-113-38-195.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-marvel
      ---
      Don't give warning that readonly variable is forced to be readonly
      mysql-test-run run now fails if we have [Warning] and [ERROR] as tags in .err file
      Fixed wrong reference to the mysql manual
      Fixed wrong prototype that caused some tests to fail on 64 bit platforms
      ---
      Disabled compiler warnings mainly for Win 64.
      ---
      Added casts to remove compiler warnings on windows
      Give warnings also for safe_mutex errors found by test system
      Added some warnings from different machines in pushbuild
      ---
      Merge bk-internal.mysql.com:/home/bk/mysql-5.1-marvel
      into  mysql.com:/home/my/mysql-5.1
      ---
      Added escapes for double quotes and parenthesis.
      ---
      Archive db fix plus added non-critical warnings
      in ignore list.
      ---
      Fixed previously added patch and added new ignored warning.
      
      
      client/mysqltest.c:
        Added casts to avoid compiler warnings.
        ---
        Added casts to avoid compiler warnings.
      mysql-test/lib/mtr_report.pl:
        Test run now fails if we have [Warning] and [ERROR] as tags in .err file
        Added list of all common 'not fatal' errors to ignore error list
        ---
        Give warnings also for safe_mutex errors
        Added some warnings from different machines in pushbuild
        ---
        Added escapes for double quotes and parenthesis.
        ---
        Added non-critical warnings to be ignored.
        ---
        Fixed a wrong regexp
        Added new non-critical warning
      mysql-test/mysql-test-run-shell.sh:
        Fixed some wrong startup options
      mysql-test/r/func_misc.result:
        Test case for archive db fix.
      mysql-test/t/disabled.def:
        Disable instance manager tests because they generate warnings (and probably don't read the option files correctly)
      mysql-test/t/func_misc.test:
        Test case for archive db fix.
      mysys/array.c:
        Added casts to avoid compiler warnings.
      mysys/hash.c:
        Added casts to avoid compiler warnings.
      mysys/my_compress.c:
        Added casts to remove compiler warnings on windows
      mysys/my_conio.c:
        To avoid a warning from compiler.
      mysys/my_pread.c:
        Archive db fix.
      mysys/my_quick.c:
        Added cast to avoid compiler warning.
        ---
        Added cast to avoid compiler warning.
      sql/ha_ndbcluster_binlog.cc:
        Ensure we log all binglog errors with the "NDB Binlog" tag
      sql/ha_partition.cc:
        result is type bool, so calculation should be forced to
        that also.
      sql/log.cc:
        Fixed compiler problem on Solaris.
      sql/slave.cc:
        Make errors uniform
      sql/sql_class.cc:
        Added cast to remove compiler warnings on windows
      sql/sql_map.cc:
        Added casts to avoid compiler warnings.
        ---
        Added casts to avoid compiler warnings.
      sql/sql_plugin.cc:
        Fixed wrong type.
        ---
        Don't give warning that readonly variable is forced to be readonly
      sql/stacktrace.c:
        Corrected manual reference
      storage/archive/azio.c:
        Archive db fix.
        ---
        Fixed previously added patch.
      storage/blackhole/ha_blackhole.cc:
        Fixed wrong prototype that caused test to fail on 64 bit platforms
      storage/example/ha_example.cc:
        Fixed wrong prototype that caused test to fail on 64 bit platforms
      strings/ctype-ucs2.c:
        Fixed wrong type.
        ---
        Fixed wrong type.
      support-files/compiler_warnings.supp:
        Added new disabled warnings for Win 64.
      c6ff8a65
  34. 27 May, 2007 1 commit
    • unknown's avatar
      WL#3339 (Issue warnings when statement-based replication may fail): · 975c5570
      unknown authored
      Fixing case where a false warning could be printed in mixed mode.
      Also fixing some test cases that generated different result files as
      a consequence of the patch.
      
      
      mysql-test/r/check.result:
        Result change.
      mysql-test/t/check.test:
        Dropping all views created in the test before trying to execute test.
      mysql-test/t/func_misc.test:
        Disabling warning for unsafe statement since test is not concerned with
        this and there are tests that test this.
      sql/sql_class.cc:
        Moving code to print warning for unsafe statement to look at logging
        *mode* instead of logging *format*. The latter one can print a false
        warning when executing in mixed mode and part of the statement is
        written in statement format (i.e., CREATE-SELECT).
      975c5570
  35. 26 Apr, 2007 1 commit
    • unknown's avatar
      Added sql_mode PAD_CHAR_TO_FULL_LENGTH (WL#921) · 4958eec7
      unknown authored
      This pads the value of CHAR columns with spaces up to full column length (according to ANSI)
      It's not makde part of oracle or ansi mode yet, as this would cause a notable behaviour change.
      Added uuid_short(), a generator for increasing 'unique' longlong integers (8 bytes)   
      
      
      mysql-test/r/func_misc.result:
        Update results
      mysql-test/r/sql_mode.result:
        Update results
      mysql-test/t/func_misc.test:
        Added test for uuid_short()
      mysql-test/t/sql_mode.test:
        Added test for sql_mode=PAD_CHAR_TO_FULL_LENGTH (#WL921)
      sql/field.cc:
        Added sql_mode PAD_CHAR_TO_FULL_LENGTH
      sql/item.cc:
        Initialize uuid_short()
      sql/item_create.cc:
        Added creation of uuid_short()
      sql/item_func.cc:
        Added uuid_short()
      sql/item_func.h:
        Added uuid_short()
      sql/mysql_priv.h:
        Added sql_mode PAD_CHAR_TO_FULL_LENGTH
      sql/mysqld.cc:
        Added sql_mode PAD_CHAR_TO_FULL_LENGTH
      4958eec7
  36. 02 Mar, 2007 1 commit
    • unknown's avatar
      Bug#26093 (SELECT BENCHMARK() for SELECT statements does not produce valid · 0a93be28
      unknown authored
        results)
      
      Before this fix, the function BENCHMARK() would fail to evaluate expressions
      like "(select avg(a) from t1)" in debug builds (with an assert),
      or would report a time of zero in non debug builds.
      
      The root cause is that evaluation of DECIMAL_RESULT expressions was not
      supported in Item_func_benchmark::val_int().
      
      This has been fixed by this change.
      
      
      mysql-test/r/func_misc.result:
        Added support for DECIMAL_RESULT in Item_func_benchmark::val_int()
      mysql-test/t/func_misc.test:
        Added support for DECIMAL_RESULT in Item_func_benchmark::val_int()
      sql/item_func.cc:
        Added support for DECIMAL_RESULT in Item_func_benchmark::val_int()
      0a93be28
  37. 25 Sep, 2006 1 commit
    • unknown's avatar
      Fix for Bug #21466: INET_ATON() returns signed int, not unsigned · 01a75941
      unknown authored
      mysql-test/r/func_misc.result:
        Added test for Bug #21466: INET_ATON() returns signed int, not unsigned
      mysql-test/t/func_misc.test:
        Added test for Bug #21466: INET_ATON() returns signed int, not unsigned
      sql/item_func.h:
        Added unsigned_flag=1 value to Item_func_inet_aton.  
        This fixes bug #21466: INET_ATON() returns signed int, not unsigned
      01a75941
  38. 24 Aug, 2006 1 commit
    • unknown's avatar
      Bug #21531: EXPORT_SET() doesn't accept args with coercible character sets · b2a0d025
      unknown authored
      - Fix typo in Item_func_export_set::fix_length_and_dec() which caused character set aggregation to fail
      - Remove default argument from last arg of agg_arg_charsets() function, to reduce potential errors
      
      
      mysql-test/r/func_misc.result:
        Test EXPORT_SET() with charset coersion (bug #21531)
      mysql-test/t/func_misc.test:
        Test EXPORT_SET() with charset coersion (bug #21531)
      sql/item_func.h:
        Remove default argument from last arg of agg_arg_charsets() function, to reduce potential errors.
      sql/item_strfunc.cc:
        Fix typo in Item_func_export_set::fix_length_and_dec() which caused character set aggregation to fail.
      b2a0d025
  39. 06 May, 2006 1 commit
  40. 24 Apr, 2006 1 commit
    • unknown's avatar
      Bug#16501: IS_USED_LOCK does not appear to work · 9fc25141
      unknown authored
      Update User_level_lock::thread_id on acquiring an existing lock,
      and reset it on lock release.
      
      
      mysql-test/r/func_misc.result:
        Add result for bug#16501.
      mysql-test/t/func_misc.test:
        Add test case for bug#16501.
      sql/item_func.cc:
        Update User_level_lock::thread_id on acquiring an existing lock,
        and reset it on lock release (for safety).
      9fc25141