1. 14 Feb, 2008 4 commits
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-ateam · 4f3a1e08
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      4f3a1e08
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-amain · 2ffb1e27
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      2ffb1e27
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-ateam · a433e48e
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      a433e48e
    • unknown's avatar
      BUG#33946 - Join on Federated tables with Unique index gives error 1430 · 55f6727b
      unknown authored
                  from storage engine
      
      Federated may crash a server, return wrong result set, return
      "ERROR 1030 (HY000): Got error 1430 from storage engine" message
      when local (engine=federated) table has a key against nullable
      column.
      
      The problem was wrong implementation of function that creates
      WHERE clause for remote query from key.
      
      
      mysql-test/r/federated.result:
        A test case for BUG#33946.
      mysql-test/t/federated.test:
        A test case for BUG#33946.
      sql/ha_federated.cc:
        Fixed that federated adds " IS NULL " condition to a remote query,
        whereas "IS NOT NULL" requested by original query.
        
        Fixed that federated didn't check for end of key buffer, didn't
        setup key buffer pointer and remaining lenght of key buffer,
        didn't add " AND " between conditions in case original query
        has IS [NOT] NULL condition against nullable column.
        
        Fixed that federated wrongly shifts key buffer pointer by extra
        one byte when key part may be null (was: store_length + 1,
        now: store_length).
      55f6727b
  2. 12 Feb, 2008 1 commit
    • unknown's avatar
      Fix for bug #33758: Got query result when using ORDER BY ASC, but · 863b86db
      unknown authored
      empty result when using DESC
      
      Problem: fetching MyISAM keys we copy a key block pointer to the end of the key buffer.
      However, we don't take into account the pointer length calculatig the buffer size,
      that may leads to memory overwriting and in turn to unpredictable results.
      
      Fix: increase key buffer size by length of the key block pointer.
      
      Note: no simple test case.
      
      
      myisam/mi_open.c:
        Fix for bug #33758: Got query result when using ORDER BY ASC, but 
        empty result when using DESC
          - increase possible maximum key length by size of the key block pointer,
            as it's copied into the key buffer in the get_key() MyISAM functions.
      863b86db
  3. 11 Feb, 2008 1 commit
  4. 08 Feb, 2008 2 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 65c7d300
      unknown authored
      into  dipika.(none):/opt/local/work/mysql-5.0-runtime
      
      
      65c7d300
    • unknown's avatar
      Bug#33798 prepared statements improperly handle large unsigned ints · 7d98c21c
      unknown authored
      The unsignedness of large integer user variables was not being
      properly preserved when feeded to prepared statements. This was
      happening because the unsigned flags wasn't being updated when
      converting the user variable is converted to a parameter.
      
      The solution is to copy the unsigned flag when converting the
      user variable to a parameter and take the unsigned flag into
      account when converting the integer to a string.
      
      
      mysql-test/r/binlog.result:
        Add test case result for Bug#33798
      mysql-test/r/ps.result:
        Add test case result for Bug#33798
      mysql-test/t/binlog.test:
        Add test case for Bug#33798
      mysql-test/t/ps.test:
        Add test case for Bug#33798
      sql/item.cc:
        Take the unsigned flag into account when converting the
        user variable.
      7d98c21c
  5. 07 Feb, 2008 2 commits
  6. 06 Feb, 2008 1 commit
  7. 04 Feb, 2008 2 commits
  8. 01 Feb, 2008 6 commits
  9. 31 Jan, 2008 4 commits
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 · dc8e43ed
      unknown authored
      into  dl145h.mysql.com:/data0/mkindahl/mysql-5.0-rpl-merge
      
      
      include/my_sys.h:
        Auto merged
      sql/log.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      dc8e43ed
    • unknown's avatar
      BUG#22989 - START SLAVE causes Error on COM_REGISTER_SLAVE: 1105 · 5177c97e
      unknown authored
                  'Wrong parameters to functi
      
      START SLAVE reports vague error when it fails to register on master:
      "Wrong parameters to function register_slave".
      
      If master failed to register slave because of too long
      'report-host'/'report-user'/'report-password', return better error
      messages:
      "Failed to register slave: too long 'report-host'"
      "Failed to register slave: too long 'report-user'"
      "Failed to register slave; too long 'report-password'"
      
      No test case for this fix.
      
      
      sql/repl_failsafe.cc:
        Report descriptive error when master fails to register slave.
      5177c97e
    • unknown's avatar
      Changes to fix tests in pushbuild. · 1fa51318
      unknown authored
      
      mysql-test/include/have_local_infile.inc:
        BitKeeper file /data0/mkindahl/mysql-5.0-rpl-merge/mysql-test/include/have_local_infile.inc
      mysql-test/r/have_local_infile.require:
        BitKeeper file /data0/mkindahl/mysql-5.0-rpl-merge/mysql-test/r/have_local_infile.require
      mysql-test/t/binlog_start_comment.test:
        Test requires that local_infile is on, so added require for that.
      mysql-test/t/rpl_sp.test:
        Adding missing sync_slave_with_master causing following tests to fail.
      1fa51318
    • unknown's avatar
      Fixes to make code compile on Windows. · 34b9c6f5
      unknown authored
      
      sql/sql_repl.cc:
        Adding cast to remove compile error on Windows platform.
      34b9c6f5
  10. 30 Jan, 2008 4 commits
  11. 29 Jan, 2008 3 commits
    • unknown's avatar
      update test result · 6766554f
      unknown authored
      
      mysql-test/r/rpl_grant.result:
        update result
      6766554f
    • unknown's avatar
      Merge stella.local:/home2/mydev/mysql-5.0-amain · a46b9639
      unknown authored
      into  stella.local:/home2/mydev/mysql-5.0-axmrg
      
      
      a46b9639
    • unknown's avatar
      BUG#26489 Corruption in relay logs · 5a039fa2
      unknown authored
      Here is the scenario that causes the failure.(by Mats)
      
      1. The to-be corrupt log event (let's call it X), is split into two
         packets B and C on the network level (net_write_buff()). The parts
         are X = (x',x''). The part x' ends up in packet B and part x''
         ends up in packet C. Prior to the corrupt event X, the event Y has
         been written successfully, but has been split into two packets as
         well, which we call (y',y'').
      2. The master sends packet A = (y'',x') to the slave, increases the
         packet sequence number, the slave receives the packet, but fails
         to reply before the master gets a timeout.
      3. Since the master got a timeout, it reports failure, and aborts
         sending the binary log by exiting mysql_binlog_send(). However, it
         leaves the buffer intact, still holding y'' (but not x', since the
         write_pos is not increased).
      4. After exiting mysql_binlog_send(), the master does a
         disconnection of the client thread, which involves sending an
         error message e to the client (i.e., the slave).
      5. In this case, net_write_buff() is used again, but this time the
         old contents of the packet is used so that the new packet is
         D = (y'',e). Note that this will use a new packet sequence number,
         since the packet number was increased in step 2.
      6. The slave receives the tail y'' of the Y log event, concatenates
         this with x' (which it already received), and writes the event
         (x',y'') it to the relay log since it hasn't noticed anything is
         amiss.
      7. It then tries to read more bytes, which is either e (if the length
         given for X just happened to match the length given for Y, or just
         plain garbage because the slave is out of sync with what is
         actually sent.
      8. After a while, the SQL thread tries to execute the event (x',y''),
         which is very likely to be just nonsense.
      
      The problem can be fixed by not resetting net->error after the call of 
      mysql_binlog_send, so the error message will not be sent and the connection
      will be closed.
      
      
      sql/sql_parse.cc:
        Do not reset net->error, if net->error == 2, we should not try to use the connection again
      5a039fa2
  12. 27 Jan, 2008 1 commit
    • unknown's avatar
      Fix test case for Bug #25347 so that it actually tests the code fix, · 32f59206
      unknown authored
      and so that it works correctly on Windows.
      
      
      mysql-test/r/mysqlcheck.result:
        Flush tables before monkeying around with underlying MyISAM data files
      mysql-test/t/mysqlcheck.test:
        Fix the test case for bug #25347 so that it actually does test the behavior.
        Also, this makes it work on Windows by ensuring that mysqld doesn't hold the
        underlying MyISAM files open while we try to corrupt them on disk.
        
        Flush tables before monkeying around with underlying MyISAM data files;
        --use-frm, so that mysqlcheck will succeed.
      32f59206
  13. 25 Jan, 2008 3 commits
    • unknown's avatar
      Un-break test case on Windows, for bug #25347 · 9dbd3877
      unknown authored
      
      mysql-test/t/mysqlcheck.test:
        Use --remove_file and --write_file instead of --exec rm and --exec touch.
      9dbd3877
    • unknown's avatar
      Merge ramayana.hindu.god:/home/tsmith/m/bk/50 · 893d98fb
      unknown authored
      into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
      
      
      sql/sql_select.cc:
        Auto merged
      893d98fb
    • unknown's avatar
      BUG#33862 completely failed DROP USER statement gets replicated · d2b4d051
      unknown authored
      The problem is when create/rename/drop users, the statement was logged regardless of error, even if no data has been changed, the statement was logged.
      
      After this patch, create/rename/drop users don't write the binlog if the statement makes no changes, if the statement does make any changes, log the statement with possible error code.
      
      This patch is based on the patch for BUG#29749, which is not pushed
      
      
      sql/sql_acl.cc:
        when create/rename/drop users, don't write the binlog if the statement make no changes
      mysql-test/r/rpl_user.result:
        New BitKeeper file ``mysql-test/r/rpl_user.result''
      mysql-test/t/rpl_user.test:
        New BitKeeper file ``mysql-test/t/rpl_user.test''
      d2b4d051
  14. 24 Jan, 2008 2 commits
  15. 23 Jan, 2008 4 commits
    • unknown's avatar
      manual merge · 8430df5a
      unknown authored
      8430df5a
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · e7b65baa
      unknown authored
      into  lambda.hsd1.co.comcast.net.:/home/malff/TREE/mysql-5.0-33618
      
      
      mysql-test/t/sp.test:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      e7b65baa
    • unknown's avatar
      Bug#33618 (Crash in sp_rcontext) · e6a077e3
      unknown authored
      Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
      
      The server used to crash when REPEAT or another control instruction
      was used in conjunction with labels and a LEAVE instruction.
      
      The crash was caused by a missing "pop" of handlers or cursors in the
      code representing the stored program. When executing the code in a loop,
      this missing "pop" would result in a stack overflow, corrupting memory.
      
      Code generation has been fixed to produce the missing h_pop/c_pop
      instructions.
      
      Also, the logic checking that labels at the beginning and the end of a
      statement are matched was incorrect, causing Bug 33983.
      End labels, when used, must match the label used at the beginning of a block.
      
      
      mysql-test/r/sp-code.result:
        Bug#33618 (Crash in sp_rcontext)
      mysql-test/r/sp-error.result:
        Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
      mysql-test/r/sp.result:
        Bug#33618 (Crash in sp_rcontext)
      mysql-test/t/sp-code.test:
        Bug#33618 (Crash in sp_rcontext)
      mysql-test/t/sp-error.test:
        Bug 33983 (Stored Procedures: wrong end <label> syntax is accepted)
      mysql-test/t/sp.test:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_head.cc:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_head.h:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_rcontext.cc:
        Bug#33618 (Crash in sp_rcontext)
      sql/sp_rcontext.h:
        Bug#33618 (Crash in sp_rcontext)
      sql/sql_yacc.yy:
        Bug#33618 (Crash in sp_rcontext)
      e6a077e3
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · a12869df
      unknown authored
      into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
      
      
      sql/item_timefunc.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      a12869df