1. 26 Feb, 2006 2 commits
  2. 24 Feb, 2006 1 commit
    • unknown's avatar
      Fix for bug #13525 "Rename table does not keep info of triggers". · f8386dfa
      unknown authored
      Let us transfer triggers associated with table when we rename it (but only if
      we are not changing database to which table belongs, in the latter case we will
      emit error).
      
      
      mysql-test/r/trigger.result:
        Added test for bug #13525 "Rename table does not keep info of triggers".
      mysql-test/t/trigger.test:
        Added test for bug #13525 "Rename table does not keep info of triggers".
      sql/sql_rename.cc:
        rename_tables():
          Now after renaming table's .FRM file and updating handler data we call
          Table_triggers_list::change_table_name() which is reponsible for
          updating .TRG and .TRN files.
      sql/sql_table.cc:
        mysql_alter_table():
          Now in case when ALTER should rename table we call
          Table_triggers_list::change_table_name() which is responsible
          for updating .TRG and .TRN files after renaming table.
      sql/sql_trigger.cc:
        Added Table_triggers_list::change_table_name() method and
        change_table_name_in_triggers()/trignames() methods responsible for updating
        .TRG and .TRN files for table during its renaming.
        
        Two small cleanups - removed versioning for .TRG files (since it was not working
        before anyway) and emphasized that type of lock specified in tables list is
        unimportant for DROP TABLE (since this statement uses name-locking).
      sql/sql_trigger.h:
        Table_triggers_list:
          Added on_table_names_list member to store pointers and lenghts of
          "ON table_name" parts in triggers' definitions to be able easily
          change them during RENAME TABLE.
          Added change_table_name() method and change_table_name_in_trignames/triggers()
          helper methods responsible for updating .TRG and .TRN files.
      sql/sql_yacc.yy:
        trigger_tail:
          To be able properly update triggers' definitions with new table names
          when renaming tables we need to know where in CREATE TRIGGER statement
          "ON db_name.table_name" part resides.
          Small cleanup - let us emphasize that for CREATE TRIGGER statement 
          lock type which is specified in table list is unimportant since
          name-locking is used.
      f8386dfa
  3. 23 Feb, 2006 5 commits
    • unknown's avatar
      Cleanup. · 258ad72c
      unknown authored
      
      sql/sql_base.cc:
        Cleanup, remove a warning.
      sql/sql_select.h:
        Cleanup: remove a warning.
      258ad72c
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · f7295f24
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      mysql-test/r/sp.result:
        Auto merged
      mysql-test/t/sp.test:
        Auto merged
      f7295f24
    • unknown's avatar
      Merge fixup · 9b1aa7fa
      unknown authored
      
      client/mysqltest.c:
        Fix after merge, do_eval has three args
        Remove extre return in do_block
      9b1aa7fa
    • unknown's avatar
      Merge neptunus.(none):/home/msvensson/mysql/mysqltest_replace/my50-mysqltest_replace · 897f8eab
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      client/mysqltest.c:
        Auto merged
      mysql-test/r/mysqltest.result:
        Auto merged
      mysql-test/t/mysqldump.test:
        Auto merged
      mysql-test/t/mysqltest.test:
        Merge
      897f8eab
    • unknown's avatar
      Add new parameter to do_eval so that only unescaped variables in input string... · 44e286d2
      unknown authored
      Add new parameter to do_eval so that only unescaped variables in input string is expanded and rest of string is left untouched.
      
      
      client/mysqltest.c:
        Add new parameter to 'do_eval' that will add any escape chars found in the input string to the output string. 
        This is used in 'do_system' and in 'do_exec' where only unescaped variables
        will be expanded, rest of the string will be left untouched.
      mysql-test/r/mysqltest.result:
        Update test result
      mysql-test/t/mysqldump.test:
        Revert previous patch that added extra \\ in "exec" command
      mysql-test/t/mysqltest.test:
        Revert previous patch that added extra \\ in exec command
      44e286d2
  4. 22 Feb, 2006 4 commits
    • unknown's avatar
      Merge mysql.com:/usr_rh9/home/elkin.rh9/MySQL/BARE/5.0 · 2a88d0f4
      unknown authored
      into  mysql.com:/usr_rh9/home/elkin.rh9/MySQL/FIXES/5.0-bug17265
      
      
      2a88d0f4
    • unknown's avatar
      BUG#17265 Assertion failure in rpl_row_view01. · 0d3cf6b0
      unknown authored
      To quote Timour review lines:
      
      The actual cause of the bug is that sql_base.cc:setup_wild()
      sets "select_lex->with_wild = 0" (in the end of the function) once
      it expands all wild-cards, and wild-card expansion is done during
      the prepare phase. During this phase we replace all "*" with the
      corresponding items, which for views happen to be references to
      references. When we do execute, select_lex->with_wild = 0, and
      all "*" are already replaced by the corresponding items, which
      in the case of views need to be dereferenced first.
      
      Fixed by refining the assert. Regression test for the bug is rpl_row_view01,
      as was reported.
      
      
      sql/item.cc:
        Refined asssert, suggested by Evgen, due to BUG#17265 prepared statement for select with ps-protocol 
        does not hold the former.
      0d3cf6b0
    • unknown's avatar
      Fix for BUG#7787: Stored procedures: improper warning for "grant execute" statement. · 85e54a08
      unknown authored
      The problem was that error flag was not reset.
      
      
      mysql-test/r/sp-security.result:
        Results for test case for BUG#7787.
      mysql-test/t/sp-security.test:
        A test case for BUG#7787.
      sql/sp.cc:
        Reset errors after sp_find_routine().
      85e54a08
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · f0cff0f6
      unknown authored
      into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
      
      
      f0cff0f6
  5. 21 Feb, 2006 15 commits
  6. 20 Feb, 2006 7 commits
  7. 18 Feb, 2006 6 commits
    • unknown's avatar
      In previous push, a DROP TABLE at the end of test was missing. · 34d8c572
      unknown authored
      
      mysql-test/r/mix_innodb_myisam_binlog.result:
        result update
      mysql-test/t/mix_innodb_myisam_binlog.test:
        cleanup in the end
      34d8c572
    • unknown's avatar
      Fix for BUG#13897 "failure to do SET SQL_MODE=N where N is a number > 31" (the... · 8dc567db
      unknown authored
      Fix for BUG#13897 "failure to do SET SQL_MODE=N where N is a number > 31" (the original bug's title isn't the simplest
      symptom). sys_var::check_set() was wrong. mysqlbinlog makes use of such SET SQL_MODE=N
      (where N is interpreted like if SQL_MODE was a field of type SET), so
      this bug affected recovery from binlogs if the server was running with certain SQL_MODE values,
      for example the default values on Windows (STRICT_TRANS_TABLES); to work around this bug people
      had to edit mysqlbinlog's output.
      
      
      mysql-test/r/sql_mode.result:
        result update
      mysql-test/t/sql_mode.test:
        test for various numeric SQL_MODE values
      sql/set_var.cc:
        For a set, it does not make sense to test if the supplied argument exceeds the number of elements in the set
        (such test would make sense for an enum), but rather to check if it exceeds 2^this (to verify
        that only reasonable bits are set).
      8dc567db
    • unknown's avatar
      Fix for BUG#14769 "Function fails to replicate if fails half-way (slave stops)": · 8470ae9c
      unknown authored
      if the function, invoked in a non-binlogged caller (e.g. SELECT, DO), failed half-way on the master,
      slave would stop and complain that error code between him and master mismatch. 
      To solve this, when a stored function is invoked in a non-binlogged caller (e.g. SELECT, DO), we binlog the function
      call as SELECT instead of as DO (see revision comment of sp_head.cc for more).
      And: minor wording change in the help text.
      This cset will cause conflicts in 5.1, I'll merge.
      
      
      mysql-test/r/rpl_sp.result:
        result update
      mysql-test/t/rpl_sp-slave.opt:
        bug just fixed so option not needed
      mysql-test/t/rpl_sp.test:
        test for more half-failed functions with DO and SELECT, to test the bug of this changeset.
        cleanup at the end.
      sql/mysqld.cc:
        function -> stored function (change suggested by Paul)
      sql/sp_head.cc:
        When a function updates data and is called from a non-binlogged statement (SELECT, DO), we binlog it 
        as SELECT myfunc(), and not DO myfunc() like before.
      8470ae9c
    • unknown's avatar
      Fix for BUG#16559 "Replication Problems with Non transactional tables inside... · cefc0b6d
      unknown authored
      Fix for BUG#16559 "Replication Problems with Non transactional tables inside an interrupted trans.":
      problem was: when a connection disconnects having an open transaction affecting MyISAM and InnoDB, the ROLLBACK event stored in the binary log
      contained a non-zero error code (1053 because of the disconnection), so when slave applied the transaction, slave complained that its ROLLBACK succeeded
      (error_code=0) while master's had 1053, so slave stopped. But internally generated binlog events such as this ROLLBACK
      should always have 0 as error code, as is true in 4.1 and was accidentally broken in 5.0,
      so that there is no false alarm.
      
      
      mysql-test/r/mix_innodb_myisam_binlog.result:
        result update
      mysql-test/t/mix_innodb_myisam_binlog.test:
        test for BUG#16559
      sql/log.cc:
        Internally generated binlog events should always have an error code of zero (like in 4.1; in 5.0 this was accidentally broken).
      cefc0b6d
    • unknown's avatar
      --help option added to mysql_upgrade script · 1d96eadd
      unknown authored
      
      scripts/mysql_upgrade.sh:
        --help option implemented
      1d96eadd
    • unknown's avatar
      Add a shift in the parser. Forgotten in the previous commit. · 187aab97
      unknown authored
      
      server-tools/instance-manager/parse.cc:
        shift the second value for the log
      187aab97