1. 11 Jul, 2003 4 commits
    • unknown's avatar
      - fixed an error in the rpl_error_ignored_table test suite: the master · 1c5773ad
      unknown authored
         port number can be different from 3306 when doing the release builds
         with Do-compile, therefore it has to be replaced with the correct
         value during the test run using the "--replace_result" function.
      
      
      mysql-test/r/rpl_error_ignored_table.result:
         - replaced hard-coded master port number with MASTER_PORT variable, since
           the port number is different when running the test suite during the 
           release builds with "Do-compile".
      mysql-test/t/rpl_error_ignored_table.test:
         - replaced hard-coded master port number with MASTER_PORT variable, since
           the port number is different when running the test suite during the 
           release builds with "Do-compile".
      1c5773ad
    • unknown's avatar
      - fixed a typo in previous push · aa28da79
      unknown authored
      
      Build-tools/Bootstrap:
         - duh!
      aa28da79
    • unknown's avatar
      - fixed a bug in Bootstrap script: simply searching for the last tagged · 762b1346
      unknown authored
         ChangeSet was not sufficient to get the full ChangeLog between two
         released versions (when using "--changelog=last") as merging between 
         trees also merges the BK tags. Now we explicitely search for the last
         tagged ChangeSet that matches our major+minor version number, which 
         should match the last ChangeSet used for the previous release.
      
      
      Build-tools/Bootstrap:
         - fixed a bug: simply searching for the last tagged ChangeSet was not
           sufficient to get the full ChangeLog between two released versions
           (when using "--changelog=last") as merging between trees also merges
           the BK tags. Now we explicitely search for the last tagged ChangeSet
           that matches our major+minor version number, which should match the
           last ChangeSet used for the previous release.
      762b1346
    • unknown's avatar
      Fix for BUG#791: · d974959b
      unknown authored
      a safer way of initing the mutexes in MYSQL_LOG.
      is_open() is now always thread-safe.
      See each file for details.
      
      
      sql/handler.cc:
        is_open() with locks
      sql/item_func.cc:
        is_open() with locks
      sql/log.cc:
        No more 'inited'.
        We now always use is_open() in a thread-safe manner.
        This simplifies some functions (no more need to test is_open() twice).
      sql/log_event.cc:
        is_open() with locks
      sql/mysqld.cc:
        Init mutexes for the global MYSQL_LOG objects.
        We care about no_rotate, because we can't do it in open() anymore (because
        we don't have 'inited' anymore).
      sql/repl_failsafe.cc:
        is_open() with locks
      sql/slave.cc:
        init pthread objects (mutexes, conds) in the constructor of st_relay_log_info.
        Some better locking in rotate_relay_log().
      sql/sql_base.cc:
        is_open() with locks
      sql/sql_class.h:
        Before, we inited LOCK_log in MYSQL_LOG::open(), so in other places of the code
        when we were never 100% sure that it had been inited. For example, if the server
        was running without --log-bin, ::open() was not called so the mutex was not
        inited. We could detect it with !inited, but not safely as 'inited' was not
        protected by any mutex.
        So now:
        we *always* init the LOCK_log mutex, even if the log is not used. We can't init
        the mutex in MYSQL_LOG's constructor, because for global objects like
        mysql_bin_log, mysql_log etc, the constructor is called before MY_INIT(), but
        safe_mutex depends on MY_INIT(). So we have a new function MYSQL_LOG::init_pthread_objects
        which we call in main(), after MY_INIT().
        For the relay log, we call this function in the constructor of
        st_relay_log_info, which is called before any function tries to
        use the relay log (the relay log is always invoked as rli.relay_log).
        So now we should be safe in all cases and we don't need 'inited'.
      sql/sql_db.cc:
        is_open() with locks
      sql/sql_delete.cc:
        is_open() with locks
      sql/sql_insert.cc:
        is_open() with locks
      sql/sql_load.cc:
        is_open() with locks
      sql/sql_parse.cc:
        is_open() with locks
      sql/sql_rename.cc:
        is_open() with locks
      sql/sql_repl.cc:
        is_open() with locks
      sql/sql_table.cc:
        is_open() with locks
      sql/sql_update.cc:
        is_open() with locks
      d974959b
  2. 10 Jul, 2003 1 commit
    • unknown's avatar
      Fix for BUG#812 · f200fa15
      unknown authored
      "mysqlhotcopy fails to copy tables but does not indicate a failure"
      ("does not indicate a failure");
      this is about "mysqlhotcopy fails to copy tables".
      
      
      mysql-test/t/rpl_error_ignored_table-slave.opt:
        added a missing newline
      scripts/mysqlhotcopy.sh:
        Fix for BUG#812.
        The problem was that with many tables to copy (10000 in the bug's example),
        the generated 'cp' command line was 1MB long, whereas (at least on my Linux) it
        should not exceed 128 kB. Testing the 'cp' in a shell terminal gives
        "arguments list too long".
        So we issue several small (100 kB) 'cp' command lines instead of a big one.
        Of course, this will still fail on systems where the limit is below 100 kB.
        We now have safe_system() which cuts the command line in pieces,
        and calls safe_simple_system() (execution) for each piece.
      f200fa15
  3. 09 Jul, 2003 2 commits
    • unknown's avatar
      Merge mysql.com:/space/my/mysql-4.0 · 8a1a63de
      unknown authored
      into mysql.com:/space/my/mysql-4.0-build
      
      
      8a1a63de
    • unknown's avatar
      - enhanced the RPM spec file (use more RPM macros, cleanups, allow to · a71c2b3b
      unknown authored
         override CC/CXX when using a special compiler)
       - the RPM should now build on AMD64 and IA64, too
      
      
      support-files/MySQL-shared-compat.spec.sh:
         - use %_libdir macro instead of hardcoded value (required on AMD64,
           where %_libdir is /usr/lib64 instead)
      support-files/mysql.spec.sh:
         - removed the GIF Icon (file was not included in the sources anyway)
         - removed unused variable %shared_lib_version
         - do not run automake before building the standard binary
           (should not be necessary)
         - add server suffix '-standard' to standard binary (to be in line
           with the binary tarball distributions)
         - Use more RPM macros (_exec_prefix, _sbindir, _libdir, _sysconfdir,
           _datadir, _includedir) throughout the spec file (using _libdir was
           required to be used anyway to be able to build on AMD64).
         - allow overriding CC and CXX (required when building with other compilers)
      a71c2b3b
  4. 08 Jul, 2003 14 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 08843dd1
      unknown authored
      into mashka.mysql.fi:/home/my/mysql-4.0
      
      
      08843dd1
    • unknown's avatar
      Cleanups · 3c268e59
      unknown authored
      
      mysql-test/t/distinct.test:
        Cleanup
      sql/log.cc:
        Cleanup
      sql/slave.cc:
        Cleanup
      sql/sql_delete.cc:
        Cleanup
      sql/sql_parse.cc:
        Simple optimization
      3c268e59
    • unknown's avatar
      Merge lgrimmer@build.mysql.com:/home/bk/mysql-4.0 · 075fd01f
      unknown authored
      into mysql.com:/space/my/mysql-4.0
      
      
      075fd01f
    • unknown's avatar
      - Fixed mysqlhotcopy to actually abort if copying the tables failed. · b5b61594
      unknown authored
         (BUG#812)
      
      
      scripts/mysqlhotcopy.sh:
         - Actually die if copying the tables fails instead of going on as if
           nothing was wrong (BUG#812)
      b5b61594
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 5e817c53
      unknown authored
      into mashka.mysql.fi:/home/my/mysql-4.0
      
      
      sql/mysqld.cc:
        Auto merged
      5e817c53
    • unknown's avatar
      Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS · e13e857c
      unknown authored
      Removed double my_thread_end() which caused fatal error on windows if mysqld died on startup
      
      
      myisam/mi_extra.c:
        Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
      mysql-test/r/alter_table.result:
        Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
      mysql-test/t/alter_table.test:
        Test DISABLE/ENABLE KEY
      sql/ha_myisam.cc:
        Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
      sql/mysqld.cc:
        Removed double my_thread_end() which caused fatal error on windows if mysqld died on startup
      sql/sql_table.cc:
        Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
      sql/table.cc:
        Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
      sql/table.h:
        Fixed bug in ALTER TABLE ... DISABLE/ENABLE KEYS
      e13e857c
    • unknown's avatar
      ha_innodb.cc: · f0f7eccc
      unknown authored
        Prevent the user from creating InnoDB tables with > 1000 columns
      
      
      sql/ha_innodb.cc:
        Prevent the user from creating InnoDB tables with > 1000 columns
      f0f7eccc
    • unknown's avatar
      No commit message · eb271ef8
      unknown authored
      No commit message
      eb271ef8
    • unknown's avatar
      mysqlhotcopy.sh: · 48b88d1a
      unknown authored
        Undo serg's patch that used my_print_defaults,
        and instead simply do not define $opt{user}.
        This allows the script to use option files properly.
      
      
      scripts/mysqlhotcopy.sh:
        Undo serg's patch that used my_print_defaults,
        and instead simply do not define $opt{user}.
        This allows the script to use option files properly.
      48b88d1a
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.0/ · d99608d2
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.0
      
      
      d99608d2
    • unknown's avatar
      072162df
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · 5efab3ea
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      
      5efab3ea
    • unknown's avatar
      Fix for · eed62d99
      unknown authored
      BUG#797 "If query ignored on slave (replicate-ignore-table) the slave still checks if
      the returned error (0) is the same as the one on the master, whereas it shouldn't
      test this.
      Plus a new test for BUG#797.
      
      
      include/mysqld_error.h:
        New error code (can be sent only to the slave thread, not to normal clients).
      sql/log.cc:
        removed comment from a previous debugging.
      sql/log_event.cc:
        ER_SLAVE_IGNORED_TABLE is an ignorable error.
      sql/share/czech/errmsg.txt:
        for BUG#797
      sql/share/danish/errmsg.txt:
        for BUG#797
      sql/share/dutch/errmsg.txt:
        for BUG#797
      sql/share/english/errmsg.txt:
        for BUG#797
      sql/share/estonian/errmsg.txt:
        for BUG#797
      sql/share/french/errmsg.txt:
        for BUG#797
      sql/share/german/errmsg.txt:
        for BUG#797
      sql/share/greek/errmsg.txt:
        for BUG#797
      sql/share/hungarian/errmsg.txt:
        for BUG#797
      sql/share/italian/errmsg.txt:
        for BUG#797
      sql/share/japanese/errmsg.txt:
        for BUG#797
      sql/share/korean/errmsg.txt:
        for BUG#797
      sql/share/norwegian-ny/errmsg.txt:
        for BUG#797
      sql/share/norwegian/errmsg.txt:
        for BUG#797
      sql/share/polish/errmsg.txt:
        for BUG#797
      sql/share/portuguese/errmsg.txt:
        for BUG#797
      sql/share/romanian/errmsg.txt:
        for BUG#797
      sql/share/russian/errmsg.txt:
        for BUG#797
      sql/share/slovak/errmsg.txt:
        for BUG#797
      sql/share/spanish/errmsg.txt:
        for BUG#797
      sql/share/swedish/errmsg.txt:
        for BUG#797
      sql/share/ukrainian/errmsg.txt:
        for BUG#797
      sql/sql_parse.cc:
        when in sql_parse in the slave thread we ignore the query because of replicate-do
        and replicate-ignore options, we return a specific error to the slave thread,
        so that it knows that the query has been ignored (which is different from a
        successful query).
        A small cleanup (test was done twice).
      eed62d99
    • unknown's avatar
      trx0trx.c: · e8d5bb18
      unknown authored
        A cosmetic change: set trx id to zero at creation so that SHOW INNODB STATUS does not print a random value for the id of a transaction object for which the transaction has never been started yet (for example, running SHOW INNODB STATUS as the first command from a mysql prompt printed a random id for the trx object associated with the session itself running the SHOW INNODB STATUS command)
      
      
      innobase/trx/trx0trx.c:
        A cosmetic change: set trx id to zero at creation so that SHOW INNODB STATUS does not print a random value for the id of a transaction object for which the transaction has never been started yet (for example, running SHOW INNODB STATUS as the first command from a mysql prompt printed a random id for the trx object associated with the session itself running the SHOW INNODB STATUS command)
      e8d5bb18
  5. 07 Jul, 2003 5 commits
  6. 06 Jul, 2003 5 commits
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · 964c2fe0
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      
      sql/mysql_priv.h:
        Auto merged
      sql/slave.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      964c2fe0
    • unknown's avatar
      WL#912 (more user control on relay logs): · 27601fc5
      unknown authored
      FLUSH LOGS now rotates relay logs,
      and a new variable max_relay_log_size.
      Plus a very small bit of code cleaning.
      
      
      libmysqld/lib_sql.cc:
        open_log has no default arguments anymore.
      mysql-test/r/rpl_flush_log_loop.result:
        result update now that FLUSH LOGS rotates relay logs.
      mysql-test/r/rpl_log.result:
        result update now that FLUSH LOGS rotates relay logs.
      mysql-test/r/rpl_rotate_logs.result:
        result update now that max_binlog_size is 4096.
      mysql-test/t/rpl_rotate_logs-master.opt:
        now max_binlog_size must be a multiple of 4096 (see change in mysqld.cc)
      sql/log.cc:
        Got rid of default arguments of various MYSQL_LOG methods (the default arguments
        made code reading uneasy).
        Set max_size in ::init().
        New function set_max_size() to set max_size of a MYSQL_LOG on-the-fly.
        More DBUG info.
      sql/mysql_priv.h:
        no defaults in open_log().
        New variables max_relay_log_size.
      sql/mysqld.cc:
        New variable and option max_relay_log_size.
        max_binlog_size and max_relay_log_size are multiples of IO_SIZE.
        No more default arguments for log functions.
      sql/set_var.cc:
        New variable max_relay_log_size.
        If it is 0, then max_binlog_size will apply to relay logs.
        When one of these variables is changed, fix_max_%log_size is called
        to update max_size of the binary and/or relay logs.
      sql/slave.cc:
        New function rotate_relay_log().
      sql/slave.h:
        New function rotate_relay_log().
      sql/sql_class.h:
        New member max_size of MYSQL_LOG (for automatic rotation).
        New method set_max_size() for setting on-the-fly.
      sql/sql_parse.cc:
        Flush the relay log in FLUSH LOGS.
      27601fc5
    • unknown's avatar
      row0mysql.c: · da1be35b
      unknown authored
        Fix performance bug: if there were thousands of tables, DROP TABLE could take as much as a second CPU time
      
      
      innobase/row/row0mysql.c:
        Fix performance bug: if there were thousands of tables, DROP TABLE could take as much as a second CPU time
      da1be35b
    • unknown's avatar
      Merge heikki@build.mysql.com:/home/bk/mysql-4.0 · ad720a28
      unknown authored
      into hundin.mysql.fi:/home/heikki/mysql-4.0
      
      
      ad720a28
    • unknown's avatar
      srv0srv.c: · 38c9d9fd
      unknown authored
        In background loop run purge to completion before doing other background operations: it does not make sense to flush buffer pool pages if they are soon modified again by purge
      trx0purge.c:
        Increase purge_sys->n_pages_handled for every undo log we purge, even if that log would be only a hundred bytes: that way we get the purge batches of 20 pages to set a fresh purge view (limit) more often, and we can reduce the number of old row versions purge has to look at when it decides if it can remove some delete-marked index record
      
      
      innobase/trx/trx0purge.c:
        Increase purge_sys->n_pages_handled for every undo log we purge, even if that log would be only a hundred bytes: that way we get the purge batches of 20 pages to set a fresh purge view (limit) more often, and we can reduce the number of old row versions purge has to look at when it decides if it can remove some delete-marked index record
      innobase/srv/srv0srv.c:
        In background loop run purge to completion before doing other background operations: it does not make sense to flush buffer pool pages if they are soon modified again by purge
      38c9d9fd
  7. 05 Jul, 2003 1 commit
  8. 04 Jul, 2003 8 commits