1. 28 Sep, 2006 1 commit
  2. 27 Sep, 2006 2 commits
    • unknown's avatar
      BUG#21081: SELECT inside stored procedure returns wrong results · 7efdc62f
      unknown authored
      Re-execution of a parametrized prepared statement or a stored routine
      with a SELECT that use LEFT JOIN with second table having only one row
      could yield incorrect result.
      
      The problem appeared only for left joins with second table having only
      one row (aka const table) and equation conditions in ON or WHERE clauses
      that depend on the argument passed.  Once the condition was false for
      second const table, a NULL row was created for it, and any field involved
      got NULL-value flag, which then was never reset.
      
      The cause of the problem was that Item_field::null_value could be set
      without being reset for re-execution.  The solution is to reset
      Item_field::null_value in Item_field::cleanup().
      
      
      mysql-test/r/ps.result:
        Add result for bug#21081: SELECT inside stored procedure returns wrong
        results.
      mysql-test/t/ps.test:
        Add test case for bug#21081: SELECT inside stored procedure returns wrong
        results.
      sql/item.cc:
        Reset Item_field::null_value flag for re-execution.
      7efdc62f
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0 · afedaa10
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21414
      
      
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sp.cc:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      afedaa10
  3. 26 Sep, 2006 1 commit
  4. 25 Sep, 2006 1 commit
    • unknown's avatar
      Bug #22379 im_daemon_life_cycle.test fails on merge of 5.1 -> 5.1-engines · f91b91cf
      unknown authored
      Remove race situations that occur when removing pidfiles. Primarily each process should remove its own
      pidfile, secondly it should be removed by the process that created it and _only_ if it's
      certain the process is dead. Third, mysql-test-run.pl will remove the pidfile when process has been killed.
      - Set state of an instance to STARTING _before_ calling instance->start()
      - Check that pidfile of instance has been created before changing STARTING => STARTED
      - Only remove the pidfile if IM kills an instance with SIGKILL, otherwise the instance will remove it itself
      
      
      server-tools/instance-manager/guardian.cc:
        If state of an instance is STARTING, chech that the instance pidfile has been created
        before changing state to STARTED
        Set state to STARTING before calling instance->start(), it can take some time
        before it is fully started and during that time it should be in state STARTING
      server-tools/instance-manager/instance.cc:
        Only remove the pid file of instance manager when a SIGKILL has 
        been performed sucessfully
      server-tools/instance-manager/instance_options.cc:
        Check that fscanf returns 1 which is the number of args that should be scanned from
        the pid file
      f91b91cf
  5. 12 Sep, 2006 1 commit
    • unknown's avatar
      BUG#21414: SP: Procedure undroppable, to some extent · d4933af8
      unknown authored
      The problem was that if after FLUSH TABLES WITH READ LOCK the user
      issued DROP/ALTER PROCEDURE/FUNCTION the operation would fail (as
      expected), but after UNLOCK TABLE any attempt to execute the same
      operation would lead to the error 1305 "PROCEDURE/FUNCTION does not
      exist", and an attempt to execute any stored function will also fail.
      
      This happened because under FLUSH TABLES WITH READ LOCK we couldn't open
      and lock mysql.proc table for update, and this fact was erroneously
      remembered by setting mysql_proc_table_exists to false, so subsequent
      statements believed that mysql.proc doesn't exist, and thus that there
      are no functions and procedures in the database.
      
      As a solution, we remove mysql_proc_table_exists flag completely.  The
      reason is that this optimization didn't work most of the time anyway.
      Even if open of mysql.proc failed for some reason when we were trying to
      call a function or a procedure, we were setting mysql_proc_table_exists
      back to true to force table reopen for the sake of producing the same
      error message (the open can fail for number of reasons).  The solution
      could have been to remember the reason why open failed, but that's a lot
      of code for optimization of a rare case.  Hence we simply remove this
      optimization.
      
      
      mysql-test/r/sp.result:
        Add result for bug#21414: SP: Procedure undroppable, to some extent.
      mysql-test/t/sp.test:
        Remove no longer relevant comment.
        Add test case for bug#21414: SP: Procedure undroppable, to some extent.
      sql/mysql_priv.h:
        Remove declaration of mysql_proc_table_exists.
      sql/sp.cc:
        Remove references to mysql_proc_table_exists.
      sql/sql_acl.cc:
        Remove reference to mysql_proc_table_exists.
      d4933af8
  6. 11 Sep, 2006 1 commit
  7. 08 Sep, 2006 4 commits
    • unknown's avatar
      Fix for BUG#22074: mysql-test-run.pl abort test run if it fails · 026737aa
      unknown authored
      to start instance manager.
      
      The problem was that if IM failed to start, test suite aborts.
      
      The fix is to mark current test as failed, and continue running
      test suite.
      
      The fix affects only test suite.
      
      
      mysql-test/mysql-test-run.pl:
        Report IM-test as failed if IM failed to start.
      026737aa
    • unknown's avatar
      This is another patch for test suite to make IM tests work smoothly. · e701346d
      unknown authored
      The patch affects only test suite and has the following changes:
      
      1. On starting Instance Manager -- added code for waiting for guarded
      mysqld instances to create PID files;
      2. Polishing;
      3. Move IM-related operations out of mtr_process.pl into new dedicated
      for IM file -- mtr_im.pl
      
      
      mysql-test/mysql-test-run.pl:
        1. Require new file with IM-related operations;
        2. Added timeout to wait for PID files of guarded instances;
        3. Polishing.
      mysql-test/lib/mtr_process.pl:
        Move IM-related operations to new file.
      mysql-test/lib/mtr_im.pl:
        File for IM-related operations.
      e701346d
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0 · 3fa0f96b
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0
      
      
      3fa0f96b
    • unknown's avatar
      after merge fix · 4ef211ee
      unknown authored
      
      sql/mysql_priv.h:
        after merge fix
        added charset parameter to check_string_length() function
      sql/slave.h:
        after merge fix
        USERNAME_LENGTH const is changed to USERNAME_BYTE_LENGTH
      sql/sql_parse.cc:
        after merge fix
        added charset parameter to check_string_length() function
      sql/sql_yacc.yy:
        after merge fix
        added charset parameter to check_string_length() function
      4ef211ee
  8. 07 Sep, 2006 5 commits
    • unknown's avatar
      configure.in : NDB version and general version must be (kept) in sync - do that. · e1a70926
      unknown authored
      
      configure.in:
        NDB version and general version must be (kept) in sync - do that.
      e1a70926
    • unknown's avatar
      Merge trift2.:/M50/clone-5.0 · 2d35bd61
      unknown authored
      into  trift2.:/M50/push-5.0
      
      
      configure.in:
        Auto merged
      2d35bd61
    • unknown's avatar
      Fix a change to "configure.in" that broke building commercial sources. · b179cf8f
      unknown authored
      To be pushed to both the cloned 5.0.25 and the general 5.0 tree.
      
      
      configure.in:
        When creating "commercial" sources, this file gets modified by "mysql-copyright".
        For this, it is essential that the string 'cmd-line-utils/readline/Makefile'
        be alone on its line ...
      b179cf8f
    • unknown's avatar
      after merge fix · dc6243e5
      unknown authored
      
      include/mysql_com.h:
        USERNAME_LENGTH is changed to USERNAME_BYTE_LENGTH
      mysql-test/r/ctype_utf8.result:
        result fix
      mysql-test/t/ctype_utf8.test:
        test fix
      sql/sp.cc:
        NAME_LEN constant is changed to NAME_BYTE_LEN for database name buffer
        USERNAME_LENGTH constant is changed to USERNAME_BYTE_LENGTH for user name buffer
      sql/sp_head.cc:
        NAME_LEN constant is changed to NAME_BYTE_LEN for database name buffer
        USERNAME_LENGTH constant is changed to USERNAME_BYTE_LENGTH for user name buffer
      sql/sql_acl.cc:
        NAME_LEN constant is changed to NAME_BYTE_LEN for database name buffer
        USERNAME_LENGTH constant is changed to USERNAME_BYTE_LENGTH for user name buffer
      sql/sql_class.h:
        NAME_LEN constant is changed to NAME_BYTE_LEN for database name buffer
      sql/sql_parse.cc:
        NAME_LEN constant is changed to NAME_BYTE_LEN for database name buffer
        Function check_string_length() is fixed, now it check string lenght in symbols
      sql/sql_repl.h:
        NAME_LEN constant is changed to NAME_BYTE_LEN for database name buffer
        USERNAME_LENGTH constant is changed to USERNAME_BYTE_LENGTH for user name buffer
      dc6243e5
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/4.1-merge · 146049d2
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0
      
      
      include/mysql_com.h:
        Auto merged
      mysql-test/t/ctype_utf8.test:
        Auto merged
      sql/item_func.h:
        Auto merged
      sql/item_strfunc.cc:
        Auto merged
      sql/item_strfunc.h:
        Auto merged
      sql/slave.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql-common/client.c:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      mysql-test/r/ctype_utf8.result:
        manual merge
      sql/sql_acl.cc:
        manual merge
      146049d2
  9. 06 Sep, 2006 4 commits
  10. 05 Sep, 2006 2 commits
    • unknown's avatar
      Fix for BUG#11151 "LOAD DATA INFILE commits transaction in 5.0". · a0b7b242
      unknown authored
      In 5.0 we made LOAD DATA INFILE autocommit in all engines, while
      only NDB wanted that. Users and trainers complained that it affected
      InnoDB and was a change compared to 4.1 where only NDB autocommitted.
      To revert to the behaviour of 4.1, we move the autocommit logic out of mysql_load() into
      ha_ndbcluster::external_lock().
      The result is that LOAD DATA INFILE commits all uncommitted changes
      of NDB if this is an NDB table, its own changes if this is an NDB
      table, but does not affect other engines.
      Note: even though there is no "commit the full transaction at end"
      anymore, LOAD DATA INFILE stays disabled in routines (re-entrency
      problems per a comment of Pem).
      Note: ha_ndbcluster::has_transactions() does not give reliable results
      because it says "yes" even if transactions are disabled in this engine...
      
      
      sql/ha_ndbcluster.cc:
        NDB wants to do autocommit if this is LOAD DATA INFILE.
        For this to not affect all other engines, we move the logic
        inside ha_ndbcluster.
      sql/sql_load.cc:
        This ha_enable_transaction() in mysql_load() forced an autocommit
        in all engines, while only NDB wants to do that.
        So we move the logic inside ha_ndbcluster.cc.
      mysql-test/include/loaddata_autocom.inc:
        test for engines to see if they autocommit or not in LOAD DATA INFILE
      mysql-test/r/loaddata_autocom_innodb.result:
        result for InnoDB (no autocommit)
      mysql-test/r/loaddata_autocom_ndb.result:
        result for NDB (autocommit)
      mysql-test/r/rpl_ndb_innodb_trans.result:
        result for InnoDB+NDB transactions. Observe that when ROLLBACK
        cannot rollback the LOAD DATA INFILE in NDB it issues warning 1196
        as appropriate.
      mysql-test/t/loaddata_autocom_innodb.test:
        test that InnoDB does not autocommit in LOAD DATA INFILE.
      mysql-test/t/loaddata_autocom_ndb.test:
        test that NDB does autocommit in LOAD DATA INFIL
      mysql-test/t/rpl_ndb_innodb_trans-slave.opt:
        need to tell the slave to use innodb
      mysql-test/t/rpl_ndb_innodb_trans.test:
        test of transactions mixing NDB and InnoDB. To see if ROLLBACK
        rolls back in both engines, with the exception of LOAD DATA INFILE
        which does not roll back NDB: we see that a LOAD DATA INFILE in NDB
        commits all what has been done in NDB so far, commits its changes,
        but does not commit in other engines.
      a0b7b242
    • unknown's avatar
      Merge alik.:/mnt/raid/alik/MySQL/devel/5.0-tree · c1c4d956
      unknown authored
      into  alik.:/mnt/raid/alik/MySQL/devel/5.0-rt
      
      
      mysql-test/lib/mtr_process.pl:
        Auto merged
      c1c4d956
  11. 04 Sep, 2006 11 commits
    • unknown's avatar
      Merge perch.ndb.mysql.com:/home/jonas/src/50-work · 6f843c13
      unknown authored
      into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-ndb
      
      
      sql/log.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      6f843c13
    • unknown's avatar
      Merge perch.ndb.mysql.com:/home/jonas/src/41-work · 14bebaa2
      unknown authored
      into  perch.ndb.mysql.com:/home/jonas/src/50-work
      
      
      sql/log.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_repl.cc:
        merge
      14bebaa2
    • unknown's avatar
      bug#21965 - replication · d2d605e4
      unknown authored
        fix deadlock if master switches log file in parallell with "show master logs"
        
      
      
      sql/log.cc:
        add raw_get_current_log which dont take log mutex
      sql/sql_class.h:
        add raw_get_current_log which dont take log mutex
      sql/sql_repl.cc:
        Fix lock order i.e first log_lock then index_lock
      d2d605e4
    • unknown's avatar
      Merge dl145s:/data/tkatchaounov/5.0-bug-21787 · eb0cc3bf
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      sql/sql_select.cc:
        Auto merged
      eb0cc3bf
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-maint · 4cd43a1a
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      4cd43a1a
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-opt · 259689f8
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      sql/sql_lex.cc:
        Auto merged
      sql/sql_lex.h:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      259689f8
    • unknown's avatar
      Fix problem where mysql-test-run.pl fails to start up the mysqld after a... · 3dd1ef7b
      unknown authored
      Fix problem where mysql-test-run.pl fails to start up the mysqld after a failed test. Shows up on win hosts where one failed test case make subsequent ones fails with error "Could not open connection 'default': 2003 Can't connect to MySQL server on 'localhost'" 
      
      
      mysql-test/lib/mtr_process.pl:
        Reset the associated "pid" of masters and slave when building the list of processes to shutdown.
      3dd1ef7b
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-5.0-cmake · b4401f8a
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      b4401f8a
    • unknown's avatar
      Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-5.0-maint · 2ed26cd7
      unknown authored
      into  maint1.mysql.com:/data/localhome/tnurnberg/my50-21913
      
      
      mysql-test/r/func_time.result:
        Auto merged
      mysql-test/t/func_time.test:
        Auto merged
      2ed26cd7
    • unknown's avatar
      Merge salvation.intern.azundris.com:/home/tnurnberg/21913/my41-21913 · 8ce43f8d
      unknown authored
      into  salvation.intern.azundris.com:/home/tnurnberg/21913/my50-21913
      
      21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
      
      Variable character_set_results can legally be NULL (for "no conversion.")
      This could result in a NULL deref that crashed the server.  Fixed.
      
      (Although ran some additional precursory tests to see whether I could break
      anything else, but no breakage so far.)
      
      
      mysql-test/r/func_time.result:
        Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
        
        Prove DATE_FORMAT() no longer crashes the server when character_set_results is
        NULL (which is a legal value and means, "no conversion").
      mysql-test/t/func_time.test:
        Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
        
        Prove DATE_FORMAT() no longer crashes the server when character_set_results is
        NULL (which is a legal value and means, "no conversion").
      sql/sql_string.cc:
        Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
        
        Avoid NULL deref in my_charset_same() -- if !to_cs, we won't need to compare
        because it is magic for, "no conversion."
      8ce43f8d
    • unknown's avatar
      Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver. · 61718995
      unknown authored
      Variable character_set_results can legally be NULL (for "no conversion.")
      This could result in a NULL deref that crashed the server.  Fixed.
      
      (Although ran some additional precursory tests to see whether I could break
      anything else, but no breakage so far.)
      
      
      mysql-test/r/func_time.result:
        Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
        
        Prove DATE_FORMAT() no longer crashes the server when character_set_results is
        NULL (which is a legal value and means, "no conversion").
      mysql-test/t/func_time.test:
        Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
        
        Prove DATE_FORMAT() no longer crashes the server when character_set_results is
        NULL (which is a legal value and means, "no conversion").
      sql/sql_string.cc:
        Bug#21913: DATE_FORMAT() Crashes mysql server if I use it through mysql-connector-j driver.
        
        Avoid NULL deref in my_charset_same() -- if !to_cs, we won't need to compare
        because it is magic for, "no conversion."
      61718995
  12. 03 Sep, 2006 1 commit
  13. 02 Sep, 2006 5 commits
  14. 01 Sep, 2006 1 commit