1. 01 Feb, 2008 4 commits
    • unknown's avatar
      BUG#32205 : Replaying statements from mysqlbinlog fails with a syntax error, replicates fine · 96c4838d
      unknown authored
      This patch adds code to convert the path for LOAD DATA INFILE 
      events to a Unix path which is needed for running mysql client
      on Windows. 
      
      
      client/mysqlbinlog.cc:
        BUG#32205 : Replaying statements from mysqlbinlog fails with a syntax error, replicates fine
        
        This patch adds code to convert the path for LOAD DATA INFILE 
        events to a Unix path which is needed for running mysql client
        on Windows. 
        
        The 'd:\x\y\z' path becomes 'd:xyz' when run in the client.
      96c4838d
    • unknown's avatar
      Fixes to make tests pass in pushbuild. · 6a1e8b9a
      unknown authored
      
      mysql-test/r/mysqlbinlog.result:
        Result file change.
      mysql-test/t/mysqlbinlog.test:
        Fixing test to not be dependent on the sequence numbers
        for file names generated by mysqlbinlog.
      6a1e8b9a
    • unknown's avatar
      Various fixes to make tests pass on Windows. · 9b9694b3
      unknown authored
      
      mysql-test/r/mix_innodb_myisam_binlog.result:
        Result change
      mysql-test/t/binlog_start_comment.test:
        Adding --local-load to mysqlbinlog to prevent it from failing
        on Windows. Also adding --short-form.
      mysql-test/t/mix_innodb_myisam_binlog.test:
        Extending LIKE pattern to use either \n or \r\n in order to work
        on Windows.
      9b9694b3
    • unknown's avatar
      Changes to make tests pass on vanilla build. · 908c29e5
      unknown authored
      
      mysql-test/t/binlog_start_comment.test:
        Adding --local-infile=1 to enable local infile for mysql client.
      908c29e5
  2. 31 Jan, 2008 3 commits
    • unknown's avatar
      Merge dl145h.mysql.com:/data0/mkindahl/mysql-5.0 · fc72d468
      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
      fc72d468
    • unknown's avatar
      Changes to fix tests in pushbuild. · 5e0f848b
      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.
      5e0f848b
    • unknown's avatar
      Fixes to make code compile on Windows. · dcb6e497
      unknown authored
      
      sql/sql_repl.cc:
        Adding cast to remove compile error on Windows platform.
      dcb6e497
  3. 30 Jan, 2008 4 commits
  4. 29 Jan, 2008 2 commits
    • unknown's avatar
      update test result · 6b608eaa
      unknown authored
      
      mysql-test/r/rpl_grant.result:
        update result
      6b608eaa
    • unknown's avatar
      BUG#26489 Corruption in relay logs · cbcbfd77
      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
      cbcbfd77
  5. 27 Jan, 2008 1 commit
    • unknown's avatar
      Fix test case for Bug #25347 so that it actually tests the code fix, · 2989a539
      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.
      2989a539
  6. 25 Jan, 2008 3 commits
    • unknown's avatar
      Un-break test case on Windows, for bug #25347 · f1669721
      unknown authored
      
      mysql-test/t/mysqlcheck.test:
        Use --remove_file and --write_file instead of --exec rm and --exec touch.
      f1669721
    • unknown's avatar
      Merge ramayana.hindu.god:/home/tsmith/m/bk/50 · 93d6b918
      unknown authored
      into  ramayana.hindu.god:/home/tsmith/m/bk/maint/50
      
      
      sql/sql_select.cc:
        Auto merged
      93d6b918
    • unknown's avatar
      BUG#33862 completely failed DROP USER statement gets replicated · c78852a5
      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''
      c78852a5
  7. 24 Jan, 2008 1 commit
  8. 23 Jan, 2008 7 commits
    • unknown's avatar
      manual merge · 5ecbc830
      unknown authored
      5ecbc830
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 5e065732
      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
      5e065732
    • unknown's avatar
      Bug#33618 (Crash in sp_rcontext) · 96dc5f05
      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)
      96dc5f05
    • unknown's avatar
      Merge tsmith@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · beecdbdb
      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
      beecdbdb
    • unknown's avatar
      Patch contributed by Jocelyn Fournier. CLA received 2007-02-27. · 1589dc39
      unknown authored
      Bug#25347: mysqlcheck -A -r doesn't repair table marked as crashed
      
      mysqlcheck tests nullness of the engine type to know whether the
      "table" is a view or not.  That also falsely catches tables that 
      are severly damaged.
      
      Instead, use SHOW FULL TABLES to test whether a "table" is a view
      or not.
      
      (Don't add new function.  Instead, get original data a smarter way.)
      
      Make it safe for use against databases before when views appeared.
      
      
      client/mysqlcheck.c:
        Use SHOW FULL TABLES to test better whether a name in the table
        list is one of a view.  Checking that the engine is NULL is 
        insufficient.
        
        Implemented suggestion from jimw that involved removing most of 
        original patch and getting data a better way
      mysql-test/r/mysqlcheck.result:
        Verify that tables that have NULL/unreadable engine types are 
        processed and not interpreted as views.
      mysql-test/t/mysqlcheck.test:
        Verify that tables that have NULL/unreadable engine types are 
        processed and not interpreted as views.
      1589dc39
    • unknown's avatar
      Bug#27427: resolveip fails on hostnames with a leading digit · 605d17f2
      unknown authored
      Patch by Kasper Dupont.  No CLA required for this size of patch.
      
      "resolveip" program produces incorrect result if given a hostname
      starting with a digit.  Someone seems to have thought that names 
      can not have digits at the beginning.
      
      Instead, use the resolver library to work out the rules of hostnames, 
      as it will undoubtedly be better at it than we are.
      
      
      configure.in:
        See if we need to a library for address lookups.
      extra/resolveip.c:
        Don't use silly heuristic to know whether a string is a dotted
        quad.  Instead, pass the whole thing into the resolver and let
        its smarts do all the work.
      605d17f2
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-maint · f70e5911
      unknown authored
      into  zippy.cornsilk.net:/home/cmiller/work/mysql/mysql-5.0-maint
      
      
      include/my_sys.h:
        Auto merged
      myisam/ft_boolean_search.c:
        Auto merged
      myisam/sort.c:
        Auto merged
      mysql-test/mysql-test-run.pl:
        Auto merged
      mysql-test/r/ctype_ucs.result:
        Auto merged
      mysql-test/r/func_misc.result:
        Auto merged
      mysql-test/t/ctype_ucs.test:
        Auto merged
      mysql-test/t/func_misc.test:
        Auto merged
      sql/ha_myisam.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/item_cmpfunc.h:
        Auto merged
      sql/item_strfunc.h:
        Auto merged
      sql/item_timefunc.cc:
        Auto merged
      sql/opt_range.cc:
        Auto merged
      sql/set_var.cc:
        Auto merged
      sql/set_var.h:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      f70e5911
  9. 22 Jan, 2008 3 commits
  10. 20 Jan, 2008 1 commit
  11. 19 Jan, 2008 1 commit
  12. 18 Jan, 2008 2 commits
    • unknown's avatar
      Merge mhansson@bk-internal.mysql.com:/home/bk/mysql-5.0-opt · 5a82c60b
      unknown authored
      into  lamia.dupka:/home/mhansson/my50-bug33143-again-pushee
      
      5a82c60b
    • unknown's avatar
      BUG#33794 "MySQL crashes executing specific query": · c726f011
      unknown authored
      The problem occurred when one had a subquery that had an equality X=Y where 
      Y referred to a named select list expression from the parent select. MySQL 
      crashed when trying to use the X=Y equality for ref-based access. 
      
      Fixed by allowing non-Item_field items in the described case.
      
      
      mysql-test/r/subselect.result:
        BUG#33794 "MySQL crashes executing specific query"
        - Testcase
      mysql-test/t/subselect.test:
        BUG#33794 "MySQL crashes executing specific query"
        - Testcase
      sql/sql_select.cc:
        BUG#33794 "MySQL crashes executing specific query"
        get_store_key() assumed that if it got a reference
          t.key=Item_outer_ref(Item_direct_ref(x)) 
        then x was an Item_field object, which is not the case when one refers to a
        named select list expression out ot subquery.
      c726f011
  13. 17 Jan, 2008 1 commit
    • unknown's avatar
      Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt · b06eb2ec
      unknown authored
      into  linux-st28.site:/home/martin/mysql/src/bug33143/my50-bug33143-again-pushee
      
      
      sql/item_func.cc:
        Auto merged
      mysql-test/r/type_decimal.result:
        Bug#33143: Manual merge
      mysql-test/t/type_decimal.test:
        Bug#33143: Manual merge
      b06eb2ec
  14. 14 Jan, 2008 1 commit
    • unknown's avatar
      Bug#33143: Incorrect ORDER BY for ROUND()/TRUNCATE() result · 01557dde
      unknown authored
      The ROUND(X, D) function would change the Item::decimals field during
      execution to achieve the effect of a dynamic number of decimal digits.
      This caused a series of bugs:
      Bug #30617:Round() function not working under some circumstances in InnoDB
      Bug #33402:ROUND with decimal and non-constant cannot round to 0 decimal places
      Bug #30889:filesort and order by with float/numeric crashes server
      Fixed by never changing the number of shown digits for DECIMAL when
      used with a nonconstant number of decimal digits.
      
      
      mysql-test/r/type_decimal.result:
        Bug#33143: Test result
      mysql-test/t/type_decimal.test:
        Bug#33143: Test case
      sql/item_func.cc:
        Bug#33143: 
        - Moved the DECIMAL_MAX_SCALE limitation to fix_length_and_dec.
        - Removed resetting of Item::decimals field.
        - set the frac field of the output value to current scale.
      strings/decimal.c:
        Bug#33143: It is necessary to set all digits in the buffer following the 
        rounded one to zero, as they may now be displayed.
      01557dde
  15. 12 Jan, 2008 1 commit
  16. 11 Jan, 2008 3 commits
    • unknown's avatar
      Merge mhansson@bk-internal:/home/bk/mysql-5.0-opt · de17151f
      unknown authored
      into  linux-st28.site:/home/martin/mysql/src/bug31797/my50-bug31797-pushee
      
      
      sql/item.cc:
        Auto merged
      mysql-test/r/group_by.result:
        Bug#31797: Manual merge
      mysql-test/t/group_by.test:
        Bug#31797: Manual merge
      de17151f
    • unknown's avatar
      Bug#31797: error while parsing subqueries -- WHERE is parsed as HAVING · 2771cf8b
      unknown authored
      The name resolution for correlated subqueries and HAVING clauses
      failed to distinguish which of two was being performed when there 
      was a reference to an outer aliased field.
      Fixed by adding the condition that HAVING clause name resulotion
      is being performed.
      
      
      mysql-test/r/group_by.result:
        Bug#31797: Test result
      mysql-test/t/group_by.test:
        Bug#31797: Test case
      sql/item.cc:
        Bug#31797: 
        Corrected function comment.
        The fix, raising the error is restricted to HAVING name resolution.
      2771cf8b
    • unknown's avatar
      Bug#29477: Not all fields of the target table were checked to have a default · c328260a
      unknown authored
      value when inserting into a view.
      
      The mysql_prepare_insert function checks all fields of the target table that
      directly or indirectly (through a view) are specified in the INSERT
      statement to have a default value. This check can be skipped if the INSERT
      statement doesn't mention any insert fields. In case of a view this allows
      fields that aren't mentioned in the view to bypass the check.
      
      Now fields of the target table are always checked to have a default value
      when insert goes into a view.
      
      
      mysql-test/t/view.test:
        Added a test case for the bug#29477: Not all fields of the target table were 
        checked to have a default value when inserting into a view.
      mysql-test/r/view.result:
        Added a test case for the bug#29477: Not all fields of the target table were 
        checked to have a default value when inserting into a view.
      sql/sql_insert.cc:
        Bug#29477: Not all fields of the target table were checked to have a default
        value when inserting into a view.
        Now fields of the target table are always checked to have a default value
        when insert goes into a view.
      c328260a
  17. 10 Jan, 2008 2 commits