1. 16 Jul, 2003 1 commit
    • unknown's avatar
      - fixed the automatic generation of support-files/MacOSX/ReadMe.txt - · 30abe0b7
      unknown authored
         a node name was changed in manual.texi which resulted in a very large
         ReadMe.txt file, as the generating script could not find the (renamed)
         ending node. Fixed the ending node name in Docs/Makefile.am and the 
         Docs/Support/generate-text-files.pl Perl script to make sure this does
         not happen again (I only discovered this because the Do-pkg script was
         not able to add the ReadMe.txt to the Apple Disk image because it ran out
         of disk space due to the size of the file)
      
      
      Docs/Makefile.am:
         - Fixed a node name that was changed in manual.texi and resulted in
           the generation of a _very_ large ReadMe.txt file (down to the very end
           of the manual, since the ending node was not found)
      Docs/Support/generate-text-files.pl:
         - added a safeguard: if the ending node was not found, abort with an error
           to indicate that the generated text file might be too large (as it would
           contain the whole manual, down from the starting node)
         - made some cosmetical changes
      30abe0b7
  2. 15 Jul, 2003 4 commits
  3. 14 Jul, 2003 12 commits
    • unknown's avatar
      merge · 21721b97
      unknown authored
      
      mysql-test/r/rpl_max_relay_size.result:
        Auto merged
      21721b97
    • unknown's avatar
      Fixed wrong test in LOG::close · 462b47e2
      unknown authored
      Fixed test for binary build
      
      
      mysql-test/r/rpl_max_relay_size.result:
        Fixed test for binary build
      mysql-test/t/rpl_max_relay_size.test:
        Fixed test for binary build
      sql/log.cc:
        Fixed wrong test in close
      462b47e2
    • unknown's avatar
      Added missing --replace_result for ports in SHOW SLAVE STATUS. · ca7418c7
      unknown authored
      
      mysql-test/r/rpl_max_relay_size.result:
        result update
      mysql-test/t/rpl_max_relay_size.test:
        port-independent test
      ca7418c7
    • unknown's avatar
      errmsg.txt: · 792d66df
      unknown authored
        Correct a misleading error message about max row length
      
      
      sql/share/english/errmsg.txt:
        Correct a misleading error message about max row length
      792d66df
    • unknown's avatar
      ha_innodb.h: · 12ada73a
      unknown authored
        Revert the previous patch: MySQL would not allow creation of VARCHAR columns whose total max length is > 8000 bytes, though InnoDB can easily store them as trailing spaces are removed
      
      
      sql/ha_innodb.h:
        Revert the previous patch: MySQL would not allow creation of VARCHAR columns whose total max length is > 8000 bytes, though InnoDB can easily store them as trailing spaces are removed
      12ada73a
    • unknown's avatar
      ha_innodb.h: · 84c7130f
      unknown authored
        Fix wrong error message: If one tried to create table with a very big row len, MySQL claimed the max len is 64 kB for InnoDB, while it normally is 8000 bytes
      
      
      sql/ha_innodb.h:
        Fix wrong error message: If one tried to create table with a very big row len, MySQL claimed the max len is 64 kB for InnoDB, while it normally is 8000 bytes
      84c7130f
    • unknown's avatar
      Better fix for bug #791: At binlog rotation, INSERTs may not find their way into the binlog · 467e193a
      unknown authored
      
      mysql-test/t/rpl_flush_log_loop.test:
        Add timer to avoid problem when 'flush logs' is executed before we have read all data from master
      sql/log.cc:
        Better fix for bug #791:
        Mark log as LOG_TO_BE_OPENED instead of LOG_CLOSED when it's closed and opened.
      sql/mysqld.cc:
        Better startup message
      sql/slave.cc:
        Fix argument to close()
      sql/sql_class.h:
        Better handling of log.close()
      467e193a
    • unknown's avatar
      Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.0 · c5a45c1c
      unknown authored
      into mysql.r18.ru:/usr/home/ram/work/4.0
      
      c5a45c1c
    • unknown's avatar
      7ec4bd95
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · d2739887
      unknown authored
      into mashka.mysql.fi:/home/my/mysql-4.0
      
      d2739887
    • unknown's avatar
      Safety and speedup fixes: · 852e2b0f
      unknown authored
      Changed is_open() to work as before.
      Added back inited argument to LOG
      
      
      mysql-test/r/rpl_flush_log_loop.result:
        Fixed results (probably bug in previous rpatch)
      sql/handler.cc:
        Changed is_open() to work as before
      sql/item_func.cc:
        Changed is_open() to work as before
      sql/log.cc:
        Part revert of previous patch.
        The reason for adding back 'inited' is that is that we can't be 100 % sure that init_pthread_objects() is called before mysqld dies (for example on windows)
        I removed mutex lock handling in is_open() as the new code didn't have ANY affect except beeing slower.
        Added back checking of is_open() to some functions as we don't want to do a mutex lock when we are not using logging.
        Indentation/comment fixes
      sql/log_event.cc:
        Changed is_open() to work as before
      sql/repl_failsafe.cc:
        Changed is_open() to work as before
      sql/sql_base.cc:
        Changed is_open() to work as before
      sql/sql_class.h:
        Changed is_open() to work as before. Added back 'inited' variable
      sql/sql_db.cc:
        Changed is_open() to work as before
      sql/sql_delete.cc:
        Changed is_open() to work as before
      sql/sql_insert.cc:
        Changed is_open() to work as before
      sql/sql_load.cc:
        Changed is_open() to work as before
      sql/sql_parse.cc:
        Changed is_open() to work as before
      sql/sql_rename.cc:
        Changed is_open() to work as before
      sql/sql_repl.cc:
        Changed is_open() to work as before
      sql/sql_table.cc:
        Changed is_open() to work as before
      sql/sql_update.cc:
        Changed is_open() to work as before
      852e2b0f
    • unknown's avatar
      Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.0 · f3b5cbcb
      unknown authored
      into mysql.r18.ru:/usr/home/ram/work/4.0
      
      f3b5cbcb
  4. 13 Jul, 2003 2 commits
    • unknown's avatar
      srv0srv.c: · 78f1ee24
      unknown authored
        Put back a 50 millisecond sleep in too high concurrency situations which I removed in the previous push; count also such sleeping threads to the InnoDB queue in SHOW INNODB STATUS
      
      
      innobase/srv/srv0srv.c:
        Put back a 50 millisecond sleep in too high concurrency situations which I removed in the previous push; count also such sleeping threads to the InnoDB queue in SHOW INNODB STATUS
      78f1ee24
    • unknown's avatar
      srv0srv.c: · 0e0cb1f3
      unknown authored
        Fix a benign bug introduced in 4.0.14: InnoDB could complain 'Error: trying to declare trx to enter InnoDB' if several threads tried to init the auto-inc counter for the same table at the same time; in theory, the bug could even lead to a hang of the server, but that shuld be extremely improbable
      
      
      innobase/srv/srv0srv.c:
        Fix a benign bug introduced in 4.0.14: InnoDB could complain 'Error: trying to declare trx to enter InnoDB' if several threads tried to init the auto-inc counter for the same table at the same time; in theory, the bug could even lead to a hang of the server, but that shuld be extremely improbable
      0e0cb1f3
  5. 12 Jul, 2003 6 commits
    • unknown's avatar
      srv0start.c, srv0srv.h, os0file.h, os0file.c: · f177b92f
      unknown authored
        Allow also O_DIRECT as innodb_flush_method; it only affects writing to data files
      
      
      innobase/os/os0file.c:
        Allow also O_DIRECT as innodb_flush_method; it only affects writing to data files
      innobase/include/os0file.h:
        Allow also O_DIRECT as innodb_flush_method; it only affects writing to data files
      innobase/include/srv0srv.h:
        Allow also O_DIRECT as innodb_flush_method; it only affects writing to data files
      innobase/srv/srv0start.c:
        Allow also O_DIRECT as innodb_flush_method; it only affects writing to data files
      f177b92f
    • unknown's avatar
      perror.c: · e542d8a1
      unknown authored
        fix typo.
      
      
      extra/perror.c:
        fix typo.
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      e542d8a1
    • unknown's avatar
      Cleaning after removing LOG_INFO_PURGE_NO_ROTATE. · b6ad6d5c
      unknown authored
      
      sql/sql_repl.cc:
        In my previous change I removed 'no_rotate' from MYSQL_LOG, so this made
        LOG_INFO_PURGE_NO_ROTATE useless (an error code which was never returned),
        so I remove it of the 'switch'.
      b6ad6d5c
    • unknown's avatar
      Member no_rotate in MYSQL_LOG was always 0, I delete it. · a0a2be1d
      unknown authored
      
      sql/log.cc:
        Member no_rotate of MYSQL_LOG is useless; this shows it for sure:
        [guilhem@gbichot2 mysql-4.0]$ bk -r grep no_rotate
        sql/log.cc      1.83       no_rotate(0), need_start_event(1)
        sql/log.cc      1.75      if (no_rotate)
        sql/log.cc      1.89      if (!no_rotate)
        sql/sql_class.h 1.119     bool no_rotate;
        i.e. no_rotate is 0 all the time. So we don't need it.
        Biggest part of the patch is indentation change.
      sql/sql_class.h:
        suppress no_rotate
      a0a2be1d
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · 835dabd9
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      835dabd9
    • unknown's avatar
      removed 2 small useless if(). · 9b8f7a09
      unknown authored
      
      sql/log.cc:
        a comment for the future.
      sql/mysqld.cc:
        if (p) is not needed: fn_ext() always returns a valid pointed; the way
        to test if an extension was found is if (*p), not if (p).
        But here even if there's no extension, we still want to truncate opt_name
        to FN_REFLEN, so we always execute the code.
        By design, the test was always 'false' (because we strip the extension before
        testing if there's an extension) so log->set_no_rotate never executed.
      sql/sql_class.h:
        remove set_no_rotate as we don't need it.
      9b8f7a09
  6. 11 Jul, 2003 6 commits
    • unknown's avatar
      - fixed an error in the rpl_error_ignored_table test suite: the master · dd2d33d7
      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".
      dd2d33d7
    • unknown's avatar
      - fixed a typo in previous push · bfe3dba9
      unknown authored
      
      Build-tools/Bootstrap:
         - duh!
      bfe3dba9
    • unknown's avatar
      - fixed a bug in Bootstrap script: simply searching for the last tagged · 43b22490
      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.
      43b22490
    • unknown's avatar
      Fix for BUG#791: · 917b4fb0
      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
      917b4fb0
    • unknown's avatar
    • unknown's avatar
      Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.0 · 397f5143
      unknown authored
      into mysql.r18.ru:/usr/home/ram/work/4.0
      
      397f5143
  7. 10 Jul, 2003 2 commits
    • unknown's avatar
      Fix for BUG#812 · 92fd3249
      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.
      92fd3249
    • unknown's avatar
      Fix for the bug #803. · f9625482
      unknown authored
      Now INTERVAL(NULL, N1, N2, ...) returns NULL.
      
      f9625482
  8. 09 Jul, 2003 2 commits
    • unknown's avatar
      Merge mysql.com:/space/my/mysql-4.0 · 95971ba6
      unknown authored
      into mysql.com:/space/my/mysql-4.0-build
      
      95971ba6
    • unknown's avatar
      - enhanced the RPM spec file (use more RPM macros, cleanups, allow to · 87826743
      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)
      87826743
  9. 08 Jul, 2003 5 commits