1. 02 Oct, 2006 1 commit
  2. 30 Sep, 2006 1 commit
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 8f67eac4
      unknown authored
      into  mockturtle.local:/home/dlenev/src/mysql-5.0-bg20670-2
      
      
      mysql-test/r/trigger.result:
        Auto merged
      mysql-test/t/trigger.test:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/opt_range.cc:
        Auto merged
      sql/opt_range.h:
        Auto merged
      sql/sql_update.cc:
        Auto merged
      8f67eac4
  3. 29 Sep, 2006 4 commits
  4. 28 Sep, 2006 3 commits
    • unknown's avatar
      Fix for bug#22338 "Valgrind warning: uninitialized variable in · 5d46e299
      unknown authored
      create_tmp_table()".
      
      The fix for bug 21787 "COUNT(*) + ORDER BY + LIMIT returns wrong
      result" introduced valgrind warnings which occured during execution
      of information_schema.test and sp-prelocking.test in version 5.0.
      There were no user visible effects.
      
      The latter fix made create_tmp_table() dependant on
      THD::lex::current_select value. Valgrind warnings occured when this
      function was executed and THD::lex::current_select member pointed
      to uninitialized SELECT_LEX instance.
      
      This fix tries to remove this dependancy by moving some logic
      outside of create_tmp_table() function.
      
      
      sql/sql_select.cc:
        create_tmp_table():
          Moved code which is responsible for determining if optimization
          which pushes down LIMIT clause to temporary table creation is
          applicable out of this function.
          Such move made this function independant of THD::lex::current_select
          value and removed valgrind warnings which occured in cases when this
          member pointed to uninitialized SELECT_LEX object (particularly these
          warnings occured in sp-prelocking.test and information_schema.test
          in 5.0). This seems like a better solution than trying to force this
          pointer always to point to relevant select because:
          - In some cases when we use create_tmp_table() there are no relevant
            SELECT_LEX object (we use it just to create temporary table/object).
          - There is only one place in code where we call this funciton and
            where this optimization can be enabled. And in this place we
            already have some logic which tries to determine if it is applicable.
      5d46e299
    • unknown's avatar
      Merge moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0 · 9825da76
      unknown authored
      into  moonlight.intranet:/home/tomash/src/mysql_ab/mysql-5.0-bug21081
      
      
      9825da76
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 4bbca0b6
      unknown authored
      into  mockturtle.local:/home/dlenev/src/mysql-4.1-runtime
      
      
      4bbca0b6
  5. 27 Sep, 2006 8 commits
    • unknown's avatar
      Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · ca48fece
      unknown authored
      into  example.com:/work/mysql-5.0-runtime
      
      
      mysql-test/t/sp.test:
        Auto merged
      sql/sp.cc:
        Auto merged
      mysql-test/r/sp.result:
        manual merge
      ca48fece
    • unknown's avatar
      Fix for bug#21311: Possible stack overrun if SP has non-latin1 name · fcb8687a
      unknown authored
        
      There was possible stack overrun in an edge case which handles invalid body of
      a SP in mysql.proc . That should be case when mysql.proc has been changed
      manually. Though, due to bug 21513, it can be exploited without having access
      to mysql.proc only being able to create a stored routine.
      
      
      mysql-test/r/sp.result:
        update result
      mysql-test/t/sp.test:
        add a test case for the bug
      sql/sp.cc:
        Fix stack overrun. This happen mostly when mysql.proc is damaged, though
        it's possible due to another bug which creates invalid SP body in mysql.proc
        (leading quote from a label being cut) to create stack overrun even without
        having direct access to mysql.proc
      fcb8687a
    • 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
      additional 'after merge' fix · c316933e
      unknown authored
      c316933e
    • unknown's avatar
      after merge fix · c1e264a5
      unknown authored
      c1e264a5
    • unknown's avatar
      Merge mysql.com:/home/gluh/MySQL/Merge/4.1 · 6d77ba47
      unknown authored
      into  mysql.com:/home/gluh/MySQL/Merge/5.0
      
      
      sql/sql_parse.cc:
        Auto merged
      sql-common/client.c:
        Auto merged
      sql/table.cc:
        Auto merged
      include/mysql_com.h:
        manual merge
      mysql-test/r/ctype_utf8.result:
        manual merge
      mysql-test/t/ctype_utf8.test:
        manual merge
      sql/sql_acl.cc:
        manual merge
      6d77ba47
    • unknown's avatar
      Patch for bug#21432 is reverted · abd883f4
      unknown authored
      abd883f4
    • 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
  6. 26 Sep, 2006 2 commits
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/bug22379_runtime/my50-bug22379_runtime · bde59627
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.0-runtime
      
      
      server-tools/instance-manager/instance.cc:
        Auto merged
      bde59627
    • unknown's avatar
      Merge trift2.:/MySQL/M50/clone-5.0 · 3436f0ac
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      mysql-test/r/func_time.result:
        Null-merge, the change in the 5.0 general tree supersedes the 5.0.25 patch.
      mysql-test/r/query_cache.result:
        Auto merged
      mysql-test/r/type_date.result:
        Auto merged
      mysql-test/r/view.result:
        Null-merge, the change in the 5.0 general tree supersedes the 5.0.25 patch.
      mysql-test/t/func_time.test:
        Null-merge, the change in the 5.0 general tree supersedes the 5.0.25 patch.
      mysql-test/t/type_date.test:
        Auto merged
      mysql-test/t/view.test:
        Null-merge, the change in the 5.0 general tree supersedes the 5.0.25 patch.
      sql/item_cmpfunc.cc:
        Null-merge, the change in the 5.0 general tree supersedes the 5.0.25 patch.
      3436f0ac
  7. 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
  8. 24 Sep, 2006 2 commits
    • unknown's avatar
      Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1 · 16ea3ca1
      unknown authored
      into  mysql.com:/Users/kent/mysql/bk/mysql-5.0
      
      
      16ea3ca1
    • unknown's avatar
      mysql_config.sh: · 103fc806
      unknown authored
        Filter out plain -O and Sun C/C++ style optimization flags, -xO<level>
        Filter out icc specific options from cflags/libs(_r)
      
      
      scripts/mysql_config.sh:
        Filter out plain -O and Sun C/C++ style optimization flags, -xO<level>
      103fc806
  9. 23 Sep, 2006 5 commits
  10. 22 Sep, 2006 2 commits
    • unknown's avatar
      Fix for bug #19121: Windows incompatible udf_example · 0c5d3627
      unknown authored
      
      mysql-test/mysql-test-run.pl:
        fixed path for udf_example.so when running testsuite on Windows
      sql/CMakeLists.txt:
        Added missing udf_example
      sql/Makefile.am:
        Added udf_example files for make dist
      sql/udf_example.c:
        fix for Windows: Windows doesn't have socket.h and friends
        
        Added replacements for strmov,bzero and memcpy_fixed when compiling standalone.
      sql/udf_example.def:
        BitKeeper file /home/georg/work/mysql/prod/mysql-5.0-win/sql/udf_example.def
      0c5d3627
    • unknown's avatar
      Added build rule for mysql_upgrade.exe · fcd21bd4
      unknown authored
      fcd21bd4
  11. 21 Sep, 2006 10 commits
    • unknown's avatar
      Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-5.0 · bebf8674
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      bebf8674
    • unknown's avatar
      Add a dummy file for "Docs/manual.chm" as we need it for "make dist" to work. · d1dfac0b
      unknown authored
      
      Docs/manual.chm:
        BitKeeper file /MySQL/M50/push-5.0/Docs/manual.chm
      d1dfac0b
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · dab27eaa
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-toteam
      
      
      dab27eaa
    • unknown's avatar
      Merge trift2.:/MySQL/M50/extract1-5.0 · 113f983e
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      configure.in:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/stacktrace.c:
        Auto merged
      sql/stacktrace.h:
        Auto merged
      113f983e
    • unknown's avatar
      After merge fixes · 9de027bd
      unknown authored
      9de027bd
    • unknown's avatar
      Merge mysql.com:/users/lthalmann/bk/MERGE/mysql-4.1-merge · 7ea9c4e3
      unknown authored
      into  mysql.com:/users/lthalmann/bk/MERGE/mysql-5.0-merge
      
      
      mysql-test/r/rpl_insert_id.result:
        Merge 4.1-5.0
      mysql-test/r/rpl_max_relay_size.result:
        Merge 4.1-5.0
      mysql-test/t/rpl_insert_id.test:
        Merge 4.1-5.0
      mysql-test/t/rpl_max_relay_size.test:
        Merge 4.1-5.0
      7ea9c4e3
    • unknown's avatar
      Adding proper setup phase for test case rpl_insert_id · 4d147f32
      unknown authored
      
      mysql-test/r/rpl_insert_id.result:
        Updated result file
      4d147f32
    • unknown's avatar
      Merge chilla.local:/home/mydev/mysql-5.0--main · 5a7c671c
      unknown authored
      into  chilla.local:/home/mydev/mysql-5.0-toteam
      
      
      sql/opt_range.cc:
        Auto merged
      sql/sql_select.cc:
        Auto merged
      5a7c671c
    • unknown's avatar
      Fix for bug#20670 "UPDATE using key and invoking trigger that modifies · 0e4dd85d
      unknown authored
      this key does not stop" (version for 5.0 only).
      
      UPDATE statement which WHERE clause used key and which invoked trigger
      that modified field in this key worked indefinetely.
      
      This problem occured because in cases when UPDATE statement was
      executed in update-on-the-fly mode (in which row is updated right
      during evaluation of select for WHERE clause) the new version of
      the row became visible to select representing WHERE clause and was
      updated again and again.
      We already solve this problem for UPDATE statements which does not
      invoke triggers by detecting the fact that we are going to update
      field in key used for scanning and performing update in two steps,
      during the first step we gather information about the rows to be
      updated and then doing actual updates. We also do this for
      MULTI-UPDATE and in its case we even detect situation when such
      fields are updated in triggers (actually we simply assume that
      we always update fields used in key if we have before update
      trigger).
      
      The fix simply extends this check which is done in check_if_key_used()/
      QUICK_SELECT_I::check_if_keys_used() routine/method in such way that
      it also detects cases when field used in key is updated in trigger.
      As nice side-effect we have more precise and thus more optimal
      perfomance-wise check for the MULTI-UPDATE.
      Also check_if_key_used()/QUICK_SELECT_I::check_if_keys_used() were
      renamed to is_key_used()/QUICK_SELECT_I::is_keys_used() in order to
      better reflect that boolean predicate.
      
      Note that this check is implemented in much more elegant way in 5.1 
      
      
      mysql-test/r/trigger.result:
        Added test case for bug#20670 "UPDATE using key and invoking trigger that
        modifies this key does not stop".
      mysql-test/t/trigger.test:
        Added test case for bug#20670 "UPDATE using key and invoking trigger that
        modifies this key does not stop".
      sql/key.cc:
        Renamed check_if_key_used() to is_key_used(). Also this routine checks if
        key uses field which can be updated by before update trigger defined on the
        table. As result we avoid using update-on-the-fly method in cases when trigger
        updates part of key which is used by select which filters rows to be updated
        and thus avoid infinite updates. By doing such check here we cover both UPDATE
        and MULTI-UPDATE cases.
      sql/mysql_priv.h:
        Renamed check_if_key_used() to is_key_used().
      sql/opt_range.cc:
        Renamed check_if_key_used()/QUICK_SELECT_I::check_if_keys_used() to
        is_key_used()/QUICK_SELECT_I::is_keys_used().
      sql/opt_range.h:
        Renamed QUICK_SELECT_I::check_if_keys_used() method to is_keys_used(),
        also updated comment describing it to reflect its extended semantics
        (this change was caused by change in check_if_key_used()/is_key_used()
         routine semantics).
      sql/sql_trigger.cc:
        Introduced Table_triggers_list::is_updated_in_before_update_triggers()
        method which is needed for checking if field of subject table can be
        changed in before update trigger.
      sql/sql_trigger.h:
        Table_triggers_list:
          Removed has_before_update_triggers() method which is not used any longer.
          Added declaration of is_updated_in_before_update_triggers() which is
          needed for checking if field of subject table can be changed by before
          update trigger.
      sql/sql_update.cc:
        safe_update_on_fly():
          check_if_key_used() routine and check_if_keys_used() method were
          renamed to is_key_used()/is_keys_used(). 
          Now cases when trigger updates fields which are part of key used for
          filtering rows for update are caught directly in is_key_used().
          This also allows to cover both UPDATE and MULTI-UPDATE cases.
      0e4dd85d
    • unknown's avatar
      Vertical printout in test to make easier to read · 9e9632fd
      unknown authored
      9e9632fd
  12. 20 Sep, 2006 1 commit