1. 02 Aug, 2007 3 commits
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0-build · 6e20710c
      unknown authored
      into  mysql.com:/home/kent/bk/cmake-tls/mysql-5.0-build
      
      
      6e20710c
    • unknown's avatar
      CMakeLists.txt (several), make_win_bin_dist: · def8d6b3
      unknown authored
        Aligned client library build and use with the Unix version when it
        comes to what source to include directly in the builds, and what
        libraries to link with (bug#30118).
      
        Also reviewed, corrected and made more clear when static or dynamic
        Thread Local Storage is to be used. Some code duplication was removed,
        and some redundant library usage were removed, reducing the risk of
        incorrect TLS usage.
      
      
      client/CMakeLists.txt:
        - Removed code duplication by moving build of "mysqlclient" to
          the "libmysql" directory
        - Link clients with the new "mysqlclient_notls", to protect for
          the case the clients use more than the client API, and access
          thread data directly.
        - Synced explicit target addition of sources with Unix.
      dbug/CMakeLists.txt:
        No need to set CXX flags, no C++ code
      libmysql/CMakeLists.txt:
        - Aligned more with Unix version when it comes to included source files
        - Build both DLL and static library in this directory
        - Produce separe static TLS version of the static client library, for
           use when building clients in this build that might access TLS
           storage directly.
      mysys/CMakeLists.txt:
        We only have to build the static TLS version, as no clients are
        linking directly with the "mysys" library.
      scripts/make_win_bin_dist:
        Ajusted paths to new "mysqlclient.lib" location in source tree
      sql/CMakeLists.txt:
        Removed duplicate "ha_blackhole.cc" in file listing
        Removed explicit link to "dbug.lib" not needed
        Link with the static TLS "mysqlclient_notls"
      tests/CMakeLists.txt:
        Removed explicit link to "dbug", "mysys", "yassl", "taocrypt" and
        "zlib" not needed.
        Added explicit source addition "../mysys/my_memmem.c".
        No need for setting CXX flags, no C++ code.
        Use the static TLS "mysqlclient_notls" for linkage.
      zlib/CMakeLists.txt:
        No need for a dynamic TLS version of this library, no access to thread
        storage is done from it. Also no need to define MYSQL_CLIENT, not used,
        or __WIN32__ that is handled by the library header without this define.
      def8d6b3
    • unknown's avatar
      Merge trift2.:/MySQL/M50/mysql-5.0 · 4fa1ad31
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      4fa1ad31
  2. 01 Aug, 2007 1 commit
    • unknown's avatar
      Fix an unstable test. It was reliant on the current time. · 25723542
      unknown authored
      
      mysql-test/r/func_time.result:
        Update results (use fixed datetime values instead of NOW()).
      mysql-test/t/func_time.test:
        Use fixed datetime values instead of NOW(): the test would have a sporadic
        failure when current day changed between two consequtive calls to
        NOW(). The test actually tests FROM_DAYS/TO_DAYS functions, 
        so use of NOW() is not necessary.
      25723542
  3. 31 Jul, 2007 1 commit
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-5.0 · 91f54bf1
      unknown authored
      into  bodhi.(none):/opt/local/work/mysql-5.0-runtime
      
      
      client/mysqldump.c:
        Auto merged
      mysql-test/r/mysqldump.result:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      mysql-test/r/innodb_mysql.result:
        Manual merge.
      mysql-test/t/innodb_mysql.test:
        Manual merge.
      sql/sql_table.cc:
        Manual merge.
      91f54bf1
  4. 30 Jul, 2007 7 commits
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0-build · 46d5ebb1
      unknown authored
      into  mysql.com:/home/kent/bk/config_h/mysql-5.0-build
      
      
      46d5ebb1
    • unknown's avatar
      Generate "config.h" directly into the "include" directory, later copied · 16ff419b
      unknown authored
      to "my_config.h". Not to pollute the top directory, and to get more control
      over what is included. Made the include path for "libedit" pick up its own
      "config.h" first.
      
      
      config/ac-macros/misc.m4:
        aclocal in automake 1.8 can't handle AC_REQUIRE on
        a user macro defined in the same included file.
      cmd-line-utils/libedit/Makefile.am:
        Changed include path so that current directory is taken first, as there
        is a "config.h" there with the same name as the one in top "include".
      configure.in:
        Generate "config.h" directly into "include", don't pollute top directory
      include/Makefile.am:
        Copy "config.h" from current directory to "my_config.h", added note in
        the make file why there are two identical files with different name.
      scripts/make_binary_distribution.sh:
        Removed copy of "config.h" from top directory, it is in "include" in a
        source tree.
      16ff419b
    • unknown's avatar
      Merge mysql.com:/home/kent/bk/config_h/mysql-4.1-build · c7e8135d
      unknown authored
      into  mysql.com:/home/kent/bk/config_h/mysql-5.0-build
      
      
      mysys/my_pthread.c:
        Auto merged
      c7e8135d
    • unknown's avatar
      my_pthread.c: · 8d0526a8
      unknown authored
        Backport of correction for Mac OS X build problem, global variable not
        initiated is "common" and can't be used in shared libraries, unless
        special flags are used (bug#26218)
      
      
      mysys/my_pthread.c:
        Backport of correction for Mac OS X build problem, global variable not
        initiated is "common" and can't be used in shared libraries, unless
        special flags are used (bug#26218)
      8d0526a8
    • unknown's avatar
      Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0-build · 06d4636b
      unknown authored
      into  mysql.com:/home/kent/bk/tmp3/mysql-5.0-build
      
      
      06d4636b
    • unknown's avatar
      Fix a compilation warning. · eb6c85e7
      unknown authored
      
      sql/handler.h:
        Fix a warning.
      eb6c85e7
    • unknown's avatar
      Merge trift2.:/MySQL/M50/mysql-5.0 · 113229b3
      unknown authored
      into  trift2.:/MySQL/M50/push-5.0
      
      
      113229b3
  5. 29 Jul, 2007 1 commit
    • unknown's avatar
      Clean up patch · 151e6aba
      unknown authored
      - Removed unused variable.
      
      
      sql/sql_lex.cc:
        - Removed unused variable
      151e6aba
  6. 27 Jul, 2007 9 commits
    • unknown's avatar
      Merge jperkin@bk-internal.mysql.com:/home/bk/mysql-5.0-build · 6bd095a6
      unknown authored
      into  production.mysql.com:/usersnfs/jperkin/bk/mysql-5.0
      
      
      6bd095a6
    • unknown's avatar
      Merge jperkin@bk-internal.mysql.com:/home/bk/mysql-5.0-build · 53c3bbd3
      unknown authored
      into  production.mysql.com:/usersnfs/jperkin/bk/mysql-5.0
      
      
      53c3bbd3
    • unknown's avatar
      SSL/Makefile.am mysql-test/Makefile.am: · 987ef940
      unknown authored
        Moved CERT files to where they are used, avoids conflict
        between two make files trying to install the same CERTs
      SSL/*.pem, 
        Move: SSL/*.pem -> mysql-test/std_data/
      
      
      mysql-test/std_data/cacert.pem:
        Rename: SSL/cacert.pem -> mysql-test/std_data/cacert.pem
      mysql-test/std_data/client-cert.pem:
        Rename: SSL/client-cert.pem -> mysql-test/std_data/client-cert.pem
      mysql-test/std_data/client-key.pem:
        Rename: SSL/client-key.pem -> mysql-test/std_data/client-key.pem
      mysql-test/std_data/server-cert.pem:
        Rename: SSL/server-cert.pem -> mysql-test/std_data/server-cert.pem
      mysql-test/std_data/server-key.pem:
        Rename: SSL/server-key.pem -> mysql-test/std_data/server-key.pem
      SSL/Makefile.am:
        Moved CERT files to where they are used, avoids conflict
        between two make files trying to install the same CERTs
      987ef940
    • unknown's avatar
      Merge adventure.(none):/home/thek/Development/cpp/bug29929/my50-bug29929 · 421fa784
      unknown authored
      into  adventure.(none):/home/thek/Development/cpp/mysql-5.0-runtime
      
      
      421fa784
    • unknown's avatar
      Bug #29929 LOCK TABLES does not pre-lock tables used in triggers of the locked tables · 07955aea
      unknown authored
      When a table was explicitly locked with LOCK TABLES no associated
      tables from any related trigger on the subject table were locked.
      As a result of this the user could experience unexpected locking
      behavior and statement failures similar to "failed: 1100: Table'xx'
      was not locked with LOCK TABLES".
      
      This patch fixes this problem by making sure triggers are
      pre-loaded on any statement if the subject table was explicitly
      locked with LOCK TABLES.
      
      
      mysql-test/r/sp-prelocking.result:
        Added test case
      mysql-test/t/sp-prelocking.test:
        Added test case
      sql/sql_lex.cc:
        - Moved some conditional logic out of the table iteration.
        - Added event map values for LOCK TABLE command.
      sql/table.cc:
        - Refactored set_trg_event_tpye into the two simpler functions set_trg_event_map
          and set_trg_event_map as methods for manipulating the table event map.
          The original function was only called from st_lex::set_trg_event_type_for_tables
          so it was possible to move the event map creation logic to this function as
          a loop optimization.
      sql/table.h:
        - Refactored set_trg_event_tpye into the two simpler functions set_trg_event_map
          and set_trg_event_map as methods for manipulating the table event map.
          The original function was only called from st_lex::set_trg_event_type_for_tables
          so it was possible to move the event map creation logic to this function as
          a loop optimization.
      07955aea
    • unknown's avatar
      More fixes and cleanups for bug#28585: · aad42dc7
      unknown authored
        - make the 'dist-hook' from top-level Makefile work again.
        - we can find my_print_defaults from --basedir by parsing command
          line arguments prior to running my_print_defaults.
        - take advantage of additional command line parsing and allow the
          --no-defaults etc arguments to work anywhere rather than having
          to be the first argument.
        - find SQL files either from binary archive or source install.
        - consolidate and tidy code and error messages.
      
      
      scripts/mysql_install_db.sh:
        Consolidate error messages.
      aad42dc7
    • unknown's avatar
      A fix and a test case for Bug#24918 drop table and lock / inconsistent · 0936976e
      unknown authored
      between perm and temp tables. Review fixes.
      
      The original bug report complains that if we locked a temporary table
      with LOCK TABLES statement, we would not leave LOCK TABLES mode
      when this temporary table is dropped.
      
      Additionally, the bug was escalated when it was discovered than
      when a temporary transactional table that was previously
      locked with LOCK TABLES statement was dropped, futher actions with
      this table, such as UNLOCK TABLES, would lead to a crash.
      
      The problem originates from incomplete support of transactional temporary
      tables. When we added calls to handler::store_lock()/handler::external_lock()
      to operations that work with such tables, we only covered the normal
      server code flow and did not cover LOCK TABLES mode. 
      In LOCK TABLES mode, ::external_lock(LOCK) would sometimes be called without
      matching ::external_lock(UNLOCK), e.g. when a transactional temporary table
      was dropped. Additionally, this table would be left in the list of LOCKed 
      TABLES.
      
      The patch aims to address this inadequacy. Now, whenever an instance
      of 'handler' is destroyed, we assert that it was priorly
      external_lock(UNLOCK)-ed. All the places that violate this assert
      were fixed.
      
      This patch introduces no changes in behavior -- the discrepancy in
      behavior will be fixed when we start calling ::store_lock()/::external_lock()
      for all tables, regardless whether they are transactional or not, 
      temporary or not.
      
      
      mysql-test/r/innodb_mysql.result:
        Update test results (Bug#24918)
      mysql-test/t/innodb_mysql.test:
        Add a test case for Bug#24918
      sql/handler.h:
        Make handler::external_lock() a protected method. Backport from 5.1 its
        public wrapper handler::ha_external_lock().
        Assert that the handler is not closed if it is still locked.
      sql/lock.cc:
        In mysql_lock_tables only call lock_external() for the list of tables that
        we called store_lock() for. 
        E.g. get_lock_data() does not add non-transactional temporary tables to the
        lock list, so lock_external() should not be called for them.
        
        Use handler::ha_external_lock() instead of handler::external_lock().
        
        Add comments for mysql_lock_remove(), parameterize one strange
        side effect that it has. At least in one place where mysql_lock_remove
        is used, this side effect is not desired (DROP TABLE). The parameter
        will be dropped in 5.1, along with the side effect.
      sql/mysql_priv.h:
        Update declaration of mysql_lock_remove().
      sql/opt_range.cc:
        Deploy handler::ha_external_lock() instead of handler::external_lock()
      sql/sql_base.cc:
        When closing a temporary table, remove the table from the list of LOCKed 
        TABLES of this thread, in case it's there. 
        It's there if it is a transactional temporary table.
        Use a new declaration of mysql_lock_remove().
      sql/sql_class.h:
        Extend the comment for THD::temporary_tables.
      sql/sql_table.cc:
        Deploy handler::ha_external_lock() instead of handler::external_lock()
      0936976e
    • unknown's avatar
      Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0-engines · 766725c5
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/BUG29957/mysql-5.0-engines
      
      
      766725c5
    • unknown's avatar
      BUG#29957 - alter_table.test fails · e92ce5d5
      unknown authored
      INSERT/DELETE/UPDATE followed by ALTER TABLE within LOCK TABLES
      may cause table corruption on Windows.
      
      That happens because ALTER TABLE writes outdated shared state
      info into index file.
      
      Fixed by removing obsolete workaround.
      
      Affects MyISAM tables on Windows only.
      
      
      myisam/mi_extra.c:
        On windows when mi_extra(HA_EXTRA_PREPARE_FOR_DELETE) is called,
        we release external lock and close index file. If we're in LOCK
        TABLES, MyISAM state info doesn't get updated until UNLOCK TABLES.
        
        That means when we release external lock and we're in LOCK TABLES,
        we may write outdated state info.
        
        As SQL layer closes all table instances, we do not need this
        workaround anymore.
      mysql-test/r/alter_table.result:
        A test case for BUG#29957.
      mysql-test/t/alter_table.test:
        A test case for BUG#29957.
      e92ce5d5
  7. 26 Jul, 2007 13 commits
    • unknown's avatar
      Merge debian.(none):/M50/rowlock-5.0 · e1feaa84
      unknown authored
      into  debian.(none):/M50/push-5.0
      
      
      e1feaa84
    • unknown's avatar
      Remove the "row_lock" suite from the sources. · d8c8c343
      unknown authored
      For more information, see WL#3866 and the bugs numbered 28685 and 20390.
      
      
      BitKeeper/deleted/.del-readme.txt:
        Delete: mysql-test/suite/row_lock/readme.txt
      BitKeeper/deleted/.del-summary_of_sel_test.txt:
        Delete: mysql-test/suite/row_lock/summary_of_sel_test.txt
      BitKeeper/deleted/.del-innodb_row_lock_1.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_1.result
      BitKeeper/deleted/.del-innodb_row_lock_2.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_2.result
      BitKeeper/deleted/.del-innodb_row_lock_3.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_3.result
      BitKeeper/deleted/.del-innodb_row_lock_4.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_4.result
      BitKeeper/deleted/.del-innodb_row_lock_5.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_5.result
      BitKeeper/deleted/.del-innodb_row_lock_big_tab.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_big_tab.result
      BitKeeper/deleted/.del-innodb_row_lock_big_tab_1.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_big_tab_1.result
      BitKeeper/deleted/.del-innodb_row_lock_big_tab_2.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_big_tab_2.result
      BitKeeper/deleted/.del-innodb_row_lock_trig_1.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_trig_1.result
      BitKeeper/deleted/.del-innodb_row_lock_trig_2.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_trig_2.result
      BitKeeper/deleted/.del-innodb_row_lock_view_1.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_view_1.result
      BitKeeper/deleted/.del-row_lock.inc:
        Delete: mysql-test/suite/row_lock/include/row_lock.inc
      BitKeeper/deleted/.del-row_lock_big_tab.inc:
        Delete: mysql-test/suite/row_lock/include/row_lock_big_tab.inc
      BitKeeper/deleted/.del-row_lock_big_tab_1.inc:
        Delete: mysql-test/suite/row_lock/include/row_lock_big_tab_1.inc
      BitKeeper/deleted/.del-row_lock_big_tab_2.inc:
        Delete: mysql-test/suite/row_lock/include/row_lock_big_tab_2.inc
      BitKeeper/deleted/.del-row_lock_trig.inc:
        Delete: mysql-test/suite/row_lock/include/row_lock_trig.inc
      BitKeeper/deleted/.del-row_lock_view.inc:
        Delete: mysql-test/suite/row_lock/include/row_lock_view.inc
      BitKeeper/deleted/.del-row_lock_view_mix.inc:
        Delete: mysql-test/suite/row_lock/include/row_lock_view_mix.inc
      BitKeeper/deleted/.del-row_lock_view_storedp.inc:
        Delete: mysql-test/suite/row_lock/include/row_lock_view_storedp.inc
      BitKeeper/deleted/.del-row_lock_view_trig.inc:
        Delete: mysql-test/suite/row_lock/include/row_lock_view_trig.inc
      BitKeeper/deleted/.del-innodb_row_lock_view_2.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_view_2.result
      BitKeeper/deleted/.del-innodb_row_lock_view_mix_1.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_view_mix_1.result
      BitKeeper/deleted/.del-innodb_row_lock_view_mix_2.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_view_mix_2.result
      BitKeeper/deleted/.del-innodb_row_lock_view_storedp_1.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_view_storedp_1.result
      BitKeeper/deleted/.del-innodb_row_lock_view_storedp_2.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_view_storedp_2.result
      BitKeeper/deleted/.del-innodb_row_lock_view_trig_1.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_view_trig_1.result
      BitKeeper/deleted/.del-innodb_row_lock_view_trig_2.result:
        Delete: mysql-test/suite/row_lock/r/innodb_row_lock_view_trig_2.result
      BitKeeper/deleted/.del-ndb_row_lock_1.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_1.result
      BitKeeper/deleted/.del-ndb_row_lock_2.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_2.result
      BitKeeper/deleted/.del-ndb_row_lock_3.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_3.result
      BitKeeper/deleted/.del-ndb_row_lock_4.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_4.result
      BitKeeper/deleted/.del-ndb_row_lock_5.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_5.result
      BitKeeper/deleted/.del-ndb_row_lock_big_tab.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_big_tab.result
      BitKeeper/deleted/.del-ndb_row_lock_big_tab_1.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_big_tab_1.result
      BitKeeper/deleted/.del-ndb_row_lock_big_tab_2.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_big_tab_2.result
      BitKeeper/deleted/.del-ndb_row_lock_trig_1.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_trig_1.result
      BitKeeper/deleted/.del-ndb_row_lock_trig_2.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_trig_2.result
      BitKeeper/deleted/.del-ndb_row_lock_view_1.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_view_1.result
      BitKeeper/deleted/.del-ndb_row_lock_view_2.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_view_2.result
      BitKeeper/deleted/.del-innodb_row_lock_1.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_1.test
      BitKeeper/deleted/.del-innodb_row_lock_2.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_2.test
      BitKeeper/deleted/.del-innodb_row_lock_3.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_3.test
      BitKeeper/deleted/.del-innodb_row_lock_4.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_4.test
      BitKeeper/deleted/.del-innodb_row_lock_5.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_5.test
      BitKeeper/deleted/.del-innodb_row_lock_big_tab.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_big_tab.test
      BitKeeper/deleted/.del-innodb_row_lock_big_tab_1.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_big_tab_1.test
      BitKeeper/deleted/.del-innodb_row_lock_big_tab_2.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_big_tab_2.test
      BitKeeper/deleted/.del-innodb_row_lock_trig_1.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_trig_1.test
      BitKeeper/deleted/.del-innodb_row_lock_trig_2.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_trig_2.test
      BitKeeper/deleted/.del-innodb_row_lock_view_1.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_view_1.test
      BitKeeper/deleted/.del-innodb_row_lock_view_2.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_view_2.test
      BitKeeper/deleted/.del-innodb_row_lock_view_mix_1.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_view_mix_1.test
      BitKeeper/deleted/.del-ndb_row_lock_view_mix_1.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_view_mix_1.result
      BitKeeper/deleted/.del-ndb_row_lock_view_mix_2.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_view_mix_2.result
      BitKeeper/deleted/.del-ndb_row_lock_view_storedp_1.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_view_storedp_1.result
      BitKeeper/deleted/.del-ndb_row_lock_view_storedp_2.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_view_storedp_2.result
      BitKeeper/deleted/.del-ndb_row_lock_view_trig_1.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_view_trig_1.result
      BitKeeper/deleted/.del-ndb_row_lock_view_trig_2.result:
        Delete: mysql-test/suite/row_lock/r/ndb_row_lock_view_trig_2.result
      BitKeeper/deleted/.del-innodb_row_lock_view_mix_2.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_view_mix_2.test
      BitKeeper/deleted/.del-innodb_row_lock_view_storedp_1.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_view_storedp_1.test
      BitKeeper/deleted/.del-innodb_row_lock_view_storedp_2.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_view_storedp_2.test
      BitKeeper/deleted/.del-innodb_row_lock_view_trig_1.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_view_trig_1.test
      BitKeeper/deleted/.del-innodb_row_lock_view_trig_2.test:
        Delete: mysql-test/suite/row_lock/t/innodb_row_lock_view_trig_2.test
      BitKeeper/deleted/.del-ndb_row_lock_1.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_1.test
      BitKeeper/deleted/.del-ndb_row_lock_2.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_2.test
      BitKeeper/deleted/.del-ndb_row_lock_3.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_3.test
      BitKeeper/deleted/.del-ndb_row_lock_4.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_4.test
      BitKeeper/deleted/.del-ndb_row_lock_5.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_5.test
      BitKeeper/deleted/.del-ndb_row_lock_big_tab.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_big_tab.test
      BitKeeper/deleted/.del-ndb_row_lock_big_tab_1.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_big_tab_1.test
      BitKeeper/deleted/.del-ndb_row_lock_big_tab_2.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_big_tab_2.test
      BitKeeper/deleted/.del-ndb_row_lock_trig_1.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_trig_1.test
      BitKeeper/deleted/.del-ndb_row_lock_trig_2.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_trig_2.test
      BitKeeper/deleted/.del-ndb_row_lock_view_1.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_view_1.test
      BitKeeper/deleted/.del-ndb_row_lock_view_2.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_view_2.test
      BitKeeper/deleted/.del-ndb_row_lock_view_mix_1.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_view_mix_1.test
      BitKeeper/deleted/.del-ndb_row_lock_view_mix_2.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_view_mix_2.test
      BitKeeper/deleted/.del-ndb_row_lock_view_storedp_1.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_view_storedp_1.test
      BitKeeper/deleted/.del-ndb_row_lock_view_storedp_2.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_view_storedp_2.test
      BitKeeper/deleted/.del-ndb_row_lock_view_trig_1.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_view_trig_1.test
      BitKeeper/deleted/.del-ndb_row_lock_view_trig_2.test:
        Delete: mysql-test/suite/row_lock/t/ndb_row_lock_view_trig_2.test
      Makefile.am:
        Remove the "row_lock" suite from the "test-bt" target.
        
        Also, a formatting change: empty line for better readability.
      d8c8c343
    • unknown's avatar
      Merge xiphis.org:/anubis/antony/work/mysql-5.0-engines · b7eca8bc
      unknown authored
      into  xiphis.org:/anubis/antony/work/mysql-5.0-engines.merge
      
      
      b7eca8bc
    • unknown's avatar
      Merge debian.(none):/M41/push-4.1 · bd0b7c1c
      unknown authored
      into  debian.(none):/M50/push-5.0
      
      
      bd0b7c1c
    • unknown's avatar
      Merge debian.(none):/M50/bug16635-5.0 · 734ebd28
      unknown authored
      into  debian.(none):/M50/push-5.0
      
      
      734ebd28
    • unknown's avatar
      Merge debian.(none):/M50/mysql-5.0 · 690f0df5
      unknown authored
      into  debian.(none):/M50/push-5.0
      
      
      690f0df5
    • unknown's avatar
      Merge debian.(none):/M41/bug16635-4.1 · 947e42af
      unknown authored
      into  debian.(none):/M41/push-4.1
      
      
      947e42af
    • unknown's avatar
      Merge debian.(none):/M41/bug16635-4.1 · cc93da0a
      unknown authored
      into  debian.(none):/M50/bug16635-5.0
      
      
      BitKeeper/deleted/.del-errmsg.txt~f96b7055cac394e:
        Auto merged
      cc93da0a
    • unknown's avatar
      mysql_install_db.sh: · 8f5b0254
      unknown authored
        Fix error in previous change, correct --language argument.
      
      
      scripts/mysql_install_db.sh:
        Fix error in previous change, correct --language argument.
      8f5b0254
    • unknown's avatar
      Apply a few more cleanups to improve the robustness of mysql_install_db · 82bbaaf6
      unknown authored
      
      scripts/mysql_install_db.sh:
        Put back variable initialisation for those which could be passed
        in via the environment and confuse the script.
      82bbaaf6
    • unknown's avatar
      Clean up the mysql_install_db script to ensure that a sane environment is · 17136906
      unknown authored
      available and reduce the chance of failure.  This should fix bug#28585
      which is caused by the script being quite random in how it finds files it
      requires and not giving very good feedback to the user about what went
      wrong.
      
      Also update make_binary_distribution so that it provides the correct path
      to the required SQL scripts when generating mysql_install_db.  The script
      only previously worked because of the permissive behaviour which looked
      around the current working directory before the "correct" location.  This
      could lead to severe problems if the user happened to run the script from
      a location which contained older or even broken copies of the SQL scripts.
      
      We now require either a complete binary release (and the mysql_install_db
      script ran from inside the extracted archive), or an installed compiled
      tree, as this is the only way we can be sure everything that we need is
      available and ready to run.
      
      While working on this fix, also clean up the mysql_install_db script a lot
      to make it simpler, easier to read, and hopefully less prone to bugs in
      the future.
      
      
      scripts/make_binary_distribution.sh:
        SQL files live in ./share not ./support-files in binary distribution.
      scripts/mysql_install_db.sh:
        Use a consistent shell indentation style.
      17136906
    • unknown's avatar
      Raise the 64 character limit for path names in the error messages · 00d694a9
      unknown authored
      to 150 or 107 characters for those messages which are generated
      by the embedded server during release builds.
      
      This fixes bug#16635:
         Error messages wrong: absolute path names, "%s" format code
      
      See the bug report or the changelog for "sql/share/english/errmsg.txt"
      for instructions how to do that with other languages, 
      even at the customer site, and for the restrictions to keep.
      
      
      sql/share/english/errmsg.txt:
        The embedded server uses absolute path names in its error messages,
        in the release build environment these exceed the 64 character limit
        which the format strings for the error messages impose (bug#16635).
        
        But when the messages are output, the server does the "printf()" 
        internally in a 256 character buffer; the constant text and the
        expanded variables (strings, error number) must fit into this.
        
        (If the buffer would overflow, a format specification will not be
        expanded but just copied with its code, and the message output
        will just contain '%s' or '%d' where a value is expected.)
        
        So the string lengths are increased to 150 characters in those messages
        which are issued by the embedded server during release tests
        and contain 1 (one) path name,
        but only to 107 in the "rename" message which contains 2 (two).
        
        This solves bug#16635 for the release builds.
        
        For other languages used by OEM customers, similar fixes may be needed,
        but we cannot test them.
        
        These fixes can be done even in a binary installation at the customer site
        by following these steps:
           cd <<install-root>>/share
           $EDITOR <<lang>>/errmsg.txt
           ../../bin/comp_err -C./charsets/ <<lang>>/errmsg.txt <<lang>>/errmsg.sys
        and then restarting the server.
      00d694a9
    • unknown's avatar
      fix pushbuild failures · 85af6ba9
      unknown authored
      
      sql/ha_federated.cc:
        remote_error_number is set to -1 when an error was already reported
        with my_error(). ER(-1) will also cause a crash on 64bit arch and only
        worked on 32bit arch by luck
      85af6ba9
  8. 25 Jul, 2007 5 commits
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/5.0 · 2df3b7b0
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      
      mysql-test/t/create.test:
        Auto merged
      sql/field.cc:
        Auto merged
      sql/sql_base.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      mysql-test/r/create.result:
        Merge with 5.0 (main).
      2df3b7b0
    • unknown's avatar
      Bug#25679 · b42247bc
      unknown authored
        "Federated Denial of Service"
        Federated storage engine used to attempt to open connections within
        the ::create() and ::open() methods which are invoked while LOCK_open
        mutex is being held by mysqld. As a result, no other client sessions
        can open tables while Federated is attempting to open a connection.
        Long DNS lookup times would stall mysqld's operation and a rogue
        connection string which connects to a remote server which simply
        stalls during handshake can stall mysqld for a much longer period of
        time.
        This patch moves the opening of the connection much later, when the
        federated actually issues queries, by which time the LOCK_open mutex is
        no longer being held.
      
      
      mysql-test/r/federated.result:
        change of test/results due to patch for bug25679
      mysql-test/t/federated.test:
        change of test/results due to patch for bug25679
      sql/ha_federated.cc:
        bug25679
          remove function check_foreign_fata_source()
          ha_federated::open() no longer opens the federated connection.
          ha_federated::create() no longer opens and tests connection.
          ha_federated::real_connect() opens connection and tests presence of table.
          ha_federated::real_query() sends query, calling real_connect() if neccessary.
      sql/ha_federated.h:
        bug25679
          new methods real_query() and real_connect()
      b42247bc
    • unknown's avatar
      Merge gleb.loc:/home/uchum/work/bk/4.1-opt · 0784d924
      unknown authored
      into  gleb.loc:/home/uchum/work/bk/5.0-opt
      
      
      0784d924
    • unknown's avatar
      Patch inspired by BUG#10491: Server returns data as charset · 2612fc43
      unknown authored
      binary SHOW CREATE TABLE or SELECT FROM I_S.
      
      The problem is that mysqldump generates incorrect dump for a table
      with non-ASCII column name if the mysqldump's character set is
      ASCII.
      
      The fix is to:
        1. Switch character_set_client for the mysqldump's connection
        to binary before issuing SHOW CREATE TABLE statement in order
        to avoid conversion.
        
        2. Dump switch character_set_client statements to UTF8 and back
        for CREATE TABLE statement.
      
      
      client/mysqldump.c:
        1. Switch character_set_client for the mysqldump's connection
        to binary before issuing SHOW CREATE TABLE statement in order
        to avoid conversion.
        
        2. Dump switch character_set_client statements to UTF8 and back
        for CREATE TABLE statement.
      mysql-test/r/mysqldump-max.result:
        Update result file.
      mysql-test/r/mysqldump.result:
        Update result file.
      mysql-test/r/openssl_1.result:
        Update result file.
      mysql-test/r/show_check.result:
        Update result file.
      mysql-test/t/show_check.test:
        Test case:
          - create a table with non-ASCII column name;
          - dump the database by mysqldump using ASCII character set;
          - drop the database;
          - load the dump;
          - check that the table has been re-created properly.
      2612fc43
    • unknown's avatar
      Allow mysql.proc to have extra (unknown) fields. · 48e879f9
      unknown authored
      This allows 5.0 to work with 5.1 databases.
      
      
      48e879f9