1. 27 Aug, 2003 2 commits
    • unknown's avatar
      Fixed unlikely stack bug when having a BIG expression of type 1+1-1+1-1... in... · b33893b2
      unknown authored
      Fixed unlikely stack bug when having a BIG expression of type 1+1-1+1-1... in certain combinations. Bug #871
      
      
      sql-bench/limits/mysql.cfg:
        Updated limits
      sql/item_cmpfunc.cc:
        Test for stack checking
      sql/item_func.cc:
        Test for stack checking
      b33893b2
    • unknown's avatar
      Add column names for metadata when running mysql with -T · 1ede6749
      unknown authored
      Change metadata info so that that MIN() and code MAX() reports that they can return NULL. Bug #324
      
      
      client/mysql.cc:
        Add column names for metadata when running with -T
      mysql-test/r/show_check.result:
        test case for bug fix
      mysql-test/t/show_check.test:
        test case for bug fix
      sql/item_sum.cc:
        Change metadata info so that that MIN() and code MAX() reports that they can return NULL. Bug #324
      sql/sql_load.cc:
        Removed not needed line
      1ede6749
  2. 26 Aug, 2003 7 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · bf39622f
      unknown authored
      into narttu.mysql.fi:/my/mysql-4.0
      
      bf39622f
    • unknown's avatar
      vio ssl structure renames (to get rid of ending _) · 5e3979fb
      unknown authored
      Added TCP/IP read/write timeout for windows
      Check on windows if second server is started with same TCP/IP port
      
      
      BitKeeper/deleted/.del-have_openssl_2.inc~8c9f1a45676b698f:
        Delete: mysql-test/include/have_openssl_2.inc
      BitKeeper/deleted/.del-have_openssl_2.require~53bbdfc136fb514:
        Delete: mysql-test/r/have_openssl_2.require
      BitKeeper/deleted/.del-openssl_2.test~f2dfa927f19d14f8:
        Delete: mysql-test/t/openssl_2.test
      BitKeeper/etc/ignore:
        added libmysql/vio_priv.h libmysql_r/vio_priv.h
      client/mysql.cc:
        vio ssl structure renames
      include/violite.h:
        Cleanup violite.h interface (move things to vio_priv.h)
      libmysql/Makefile.am:
        Use vio_priv.h
      libmysql/Makefile.shared:
        Use vio_priv.h
      libmysqld/lib_vio.c:
        Added timeout for windows
      mysys/my_getopt.c:
        Indentaion cleanup
      sql/item_cmpfunc.cc:
        Remove compiler warnings
      sql/item_func.cc:
        Remove compiler warnings
      sql/mini_client.cc:
        vio ssl structure renames
      sql/mysqld.cc:
        Check on windows if second server is started with same TCP/IP port
      sql/net_serv.cc:
        Add read/write timeouts for windows
      sql/sql_acl.cc:
        vio ssl structure renames
      sql/sql_show.cc:
        vio ssl structure renames
      vio/vio.c:
        Added timeouts for windows
      vio/viosocket.c:
        Added timeouts for windows
      vio/viossl.c:
        Added timeouts for windows
        Cleaned up structure element names
      vio/viosslfactories.c:
        Added timeouts for windows
        Cleaned up structure element names
      5e3979fb
    • unknown's avatar
      do not try to "analyze" or "sort index" in the table that has no indexes or no... · 49c17f9f
      unknown authored
      do not try to "analyze" or "sort index" in the table that has no indexes or no records if --check-only-changed option is used.
      It's because such a table is never marked as "analyzed" or "sorted", so --check-only-changed doesn't work
      
      
      49c17f9f
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.0/ · 38014ae9
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.0
      
      
      myisam/mi_check.c:
        Auto merged
      38014ae9
    • unknown's avatar
      fix ANALYZE TBALE to never generate rec_per_key_part < 1, as it prevent the... · f309432a
      unknown authored
      fix ANALYZE TBALE to never generate rec_per_key_part < 1, as it prevent the table from being marked as analyzed (and the value is meaningless anyway)
      
      
      f309432a
    • unknown's avatar
    • unknown's avatar
      - Reverted a fix for bug#897, as it broke the installation on some · d11680b9
      unknown authored
         other operating systems - some implementations of "hostname" simply set
         the host name to "-f" instead of giving an error about an unkown option
      
      d11680b9
  3. 25 Aug, 2003 7 commits
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · cb692da4
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      cb692da4
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 8a01c653
      unknown authored
      into narttu.mysql.fi:/my/mysql-4.0
      
      
      sql/log_event.cc:
        Auto merged
      8a01c653
    • unknown's avatar
      comments about mutexes in replication. · 2dc7a5ba
      unknown authored
      Don't start the SQL slave thread with SQL_BIG_SELECTS;
      it's better to inhibate max_join_size instead.
      
      
      sql/slave.cc:
        OPTION_BIG_SELECTS does more than ignoring max_join_size (talks to the optimiser),
        just ignore max_join_size.
      sql/slave.h:
        comments
      2dc7a5ba
    • unknown's avatar
      Better fix for myisamchk --sort-index on windows · 37ed6ce6
      unknown authored
      Fixed deadlock bug when doing resize of key buffer while key buffer was in active use
      
      
      myisam/mi_locking.c:
        Better fix for myisamchk --sort-index on windows
      mysql-test/r/symlink.result:
        Update results
      mysql-test/t/symlink.test:
        Update results
      mysys/mf_keycache.c:
        Fixed deadlock bug when doing resize of key buffer while key buffer was in active use
      sql/ha_myisam.cc:
        simple optimization
      sql/sql_show.cc:
        Fixed theoretical buffer overrun
        Reset variable properly before calling update_create_info()
      37ed6ce6
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · 30fdf291
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      30fdf291
    • unknown's avatar
      Clearer states in SHOW PROCESSLIST for replication threads. · 972a33ae
      unknown authored
      For example the Binlog_dump thread (on the master) sometimes showed "Slave:".
      And there were confusing messages where "binlog" was employed instead
      of "relay log".
      
      
      sql/log.cc:
        MYSQL_LOG::wait_for_update() is used by the binlog_dump and I/Oslave threads,
        and it updates thd->proc_info, so we need a bool to not show the same
        proc_info for 2 different things (previously we showed "Slave: etc" and that's
        bad for a binlog_dump thread).
      sql/slave.cc:
        Clearer thd-proc_info for slave threads.
      sql/sql_class.h:
        prototype change
      sql/sql_repl.cc:
        clearer thd->proc_info for binlog_dump thread
      972a33ae
    • unknown's avatar
      Update of VC++ project files (to remove link warnings) · 8ee6bd91
      unknown authored
      Fix unlock error in myisamchk on windows when doing --sort-index
      Use SetFilePointer instead of SetFilePointerEx
      
      
      VC++Files/client/mysql.dsp:
        Update of project files
      VC++Files/client/mysqladmin.dsp:
        Update of project files
      VC++Files/client/mysqlclient.dsp:
        Update of project files
      VC++Files/client/mysqldump.dsp:
        Update of project files
      VC++Files/client/mysqlimport.dsp:
        Update of project files
      VC++Files/client/mysqlshow.dsp:
        Update of project files
      VC++Files/comp_err/comp_err.dsp:
        Update of project files
      VC++Files/innobase/innobase.dsp:
        Update of project files
      VC++Files/isamchk/isamchk.dsp:
        Update of project files
      VC++Files/libmysql/libmysql.dsp:
        Update of project files
      VC++Files/libmysqld/libmysqld.dsp:
        Update of project files
      VC++Files/libmysqltest/myTest.dsp:
        Update of project files
      VC++Files/my_print_defaults/my_print_defaults.dsp:
        Update of project files
      VC++Files/myisamlog/myisamlog.dsp:
        Update of project files
      VC++Files/mysql.dsw:
        Update of project files
      VC++Files/mysqlbinlog/mysqlbinlog.dsp:
        Update of project files
      VC++Files/mysqlcheck/mysqlcheck.dsp:
        Update of project files
      VC++Files/mysqldemb/mysqldemb.dsp:
        Update of project files
      VC++Files/mysqlmanager/MySqlManager.dsp:
        Update of project files
      VC++Files/mysqlserver/mysqlserver.dsp:
        Update of project files
      VC++Files/mysqlshutdown/mysqlshutdown.dsp:
        Update of project files
      VC++Files/mysys/mysys.dsp:
        Update of project files
      VC++Files/pack_isam/pack_isam.dsp:
        Update of project files
      VC++Files/perror/perror.dsp:
        Update of project files
      VC++Files/replace/replace.dsp:
        Update of project files
      VC++Files/sql/mysqld.dsp:
        Update of project files
      VC++Files/test1/test1.dsp:
        Update of project files
      VC++Files/thr_test/thr_test.dsp:
        Update of project files
      VC++Files/vio/vio.dsp:
        Update of project files
      VC++Files/zlib/zlib.dsp:
        Update of project files
      myisam/mi_check.c:
        Fix unlock error in myisamchk on windows when doing --sort-index
      myisam/mi_locking.c:
        Fix unlock error in myisamchk on windows when doing --sort-index
      myisam/myisamchk.c:
        New comment
      mysys/my_chsize.c:
        Use SetFilePointer instead of SetFilePointerEx, as the first is more portable
      sql/handler.cc:
        Fix compiler warning
      sql/log_event.cc:
        Fix compiler warning
      8ee6bd91
  4. 24 Aug, 2003 1 commit
    • unknown's avatar
      os0file.c: · ba60a9fa
      unknown authored
        strerror() does not work in Windows
      
      
      innobase/os/os0file.c:
        strerror() does not work in Windows
      ba60a9fa
  5. 23 Aug, 2003 5 commits
    • unknown's avatar
      The slave threads MUST not care about max_join_size, we start them with · e8a00277
      unknown authored
      OPTION_BIG_SELECTS.
      
      
      sql/slave.cc:
        The slave threads MUST not care about max_join_size.
        I can imagine the case of a slave where users can connect and do SELECTs, but
        DBA does not want them to issue crazy SELECTs, but he/she still wants replication
        to work.
        Before, this just printed a warning to the error log (not fatal) but that
        was still annoying.
      e8a00277
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · d1c23884
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      d1c23884
    • unknown's avatar
      * Fix for a potential bug: · a48480d7
      unknown authored
      when the SQL thread stops, set rli->inside_transaction to 0. This is needed if the user
      later restarts replication from a completely different place where there are only autocommit
      statements.
      * Detect the case where the master died while flushing the binlog cache to the binlog
      and stop with error. Cannot add a testcase for this in 4.0 (I tested it manually)
      as the slave always runs with --skip-innodb.
      
      
      sql/log_event.cc:
        Detect the case where the master died while flushing the binlog cache to the binlog:
        in that case, we have a BEGIN with no COMMIT/ROLLBACK in the relay log; we detect
        this with rli->inside_transaction in Rotate_log_event::exec_event() (which is the
        only right place to detect this, see comments). When we see it, we stop with error.
        In 4.1, I had put code in Start_log_event::exec_event(); I'll remove it next time
        I push in the 4.1 tree.
      sql/slave.cc:
        * Use slave_print_error instead of sql_print_error, to put the info in SHOW SLAVE STATUS too.
        * Fix for a potential bug:
        when the SQL thread stops, set rli->inside_transaction to 0. This is not needed if
        replication later restarts from the same position; but this is needed if the user
        restarts replication from a completely different place where there are only autocommit
        statements (in that case, if we didn't set to 0, the position would never increment in SHOW
        SLAVE STATUS, even if queries are processed well).
      a48480d7
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 4b2712cc
      unknown authored
      into narttu.mysql.fi:/my/mysql-4.0
      
      
      sql/mysql_priv.h:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      4b2712cc
    • unknown's avatar
      show symlinked directories in SHOW CREATE TABLE · 37fa48df
      unknown authored
      37fa48df
  6. 22 Aug, 2003 6 commits
    • unknown's avatar
      After merge fixes · 484a7f61
      unknown authored
      
      mysql-test/r/func_test.result:
        Auto merged
      mysql-test/r/grant.result:
        Auto merged
      mysql-test/t/func_test.test:
        Auto merged
      mysql-test/t/grant.test:
        Auto merged
      sql/ha_innodb.cc:
        Auto merged
      sql/item_cmpfunc.cc:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      484a7f61
    • unknown's avatar
      grant.result, grant.test, sql_acl.cc: · bd6347df
      unknown authored
        Fix for a bug #878
      
      
      sql/sql_acl.cc:
        Fix for a bug #878
      mysql-test/t/grant.test:
        Fix for a bug #878
      mysql-test/r/grant.result:
        Fix for a bug #878
      bd6347df
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · f300d40a
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      f300d40a
    • unknown's avatar
      2 minor edits, plus · 6a8158a9
      unknown authored
      fix for BUG#1113 "INSERT into non-trans table SELECT ; ROLLBACK" does not send warning"
      and
      fix for BUG#873 "In transaction, INSERT to non-trans table is written too early to binlog".
      Now we don't always write the non-trans update immediately to the binlog;
      if there is something in the binlog cache we write it to the binlog cache
      (because the non-trans update could depend on a trans table which was modified
      earlier in the transaction); then in case of ROLLBACK, we write the binlog
      cache to the binlog, wrapped with BEGIN/ROLLBACK.
      This guarantees that the slave does the same updates.
      For ROLLBACK TO SAVEPOINT: when we execute a SAVEPOINT command we write it
      to the binlog cache. At ROLLBACK TO SAVEPOINT, if some non-trans table was updated,
      we write ROLLBACK TO SAVEPOINT to the binlog cache; when the transaction
      terminates (COMMIT/ROLLBACK), the binlog cache will be flushed to the binlog
      (because of the non-trans update) so we'll have SAVEPOINT and ROLLBACK TO
      SAVEPOINT in the binlog.
      
      Apart from this rare case of updates of mixed table types in transaction, the
      usual way is still clear the binlog cache at ROLLBACK, or chop it at
      ROLLBACK TO SAVEPOINT (meaning the SAVEPOINT command is also chopped, which
      is fine).
      Note that BUG#873 encompasses subbugs 1) and 2) of BUG#333 "3 binlogging bugs when doing INSERT with mixed InnoDB/MyISAM".
      
      
      client/mysqldump.c:
        Minor edit: one CHANGE MASTER with 2 arguments instead of 2 CHANGE MASTER with one argument each.
      mysql-test/r/rpl_loaddata.result:
        result update
      mysql-test/t/rpl_loaddata.test:
        minor edit: simplifying the test.
      sql/handler.cc:
        Fix for BUG#873. See comments in code, and the description of the changeset.
      sql/log.cc:
        * Previously, if a query updated a non-transactional table we wrote it immediately
        to the real binlog. This causes a bug when the update is done inside a transaction
        and uses the content of an updated transactional table (because this makes
        a wrong order of queries in the binlog). So if the binlog cache is not empty,
        we write the query to the binlog cache; otherwise we can write it to the binlog.
        * Previously, when we flushed the binlog cache to the binlog, we wrapped it
        with BEGIN/COMMIT. Now it's also possible to wrap it with BEGIN/ROLLBACK, to handle
        transactions which update both transactional and non-transactional tables.
      sql/log_event.cc:
        The slave thread can leave a transaction if COMMIT or if ROLLBACK.
      sql/sql_class.h:
        prototype
      sql/sql_insert.cc:
        Fix for BUG#1113:
        this was because the INSERT SELECT code did not set OPTION_STATUS_NO_TRANS_UPDATE.
      sql/sql_parse.cc:
        Don't send ER_WARNING_NOT_COMPLETE_ROLLBACK if this is the SQL slave thread (see comments).
      6a8158a9
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 3f1d97a7
      unknown authored
      into narttu.mysql.fi:/my/mysql-4.0
      
      
      client/mysqltest.c:
        Auto merged
      sql/sql_load.cc:
        Auto merged
      3f1d97a7
    • unknown's avatar
      Move test that uses many tables (in query_cache.test) to separate test so that... · 21a2b74b
      unknown authored
      Move test that uses many tables (in query_cache.test) to separate test so that we can get it 'skipped' instead of 'failed' on system where we can't open many files.
      
      
      client/mysqltest.c:
        Fix that LET can be used with queries that return multiple columns
      libmysql/errmsg.c:
        Extend socket name to 100 characters in error messages
      libmysql/libmysql.c:
        Reset some variables to make ensure that we can call mysql_server_init()/mysql_server_end() many times
      mysql-test/mysql-test-run.sh:
        Set open-files-limit to 1024
      mysql-test/r/loaddata.result:
        Add test case for LOAD DATA bug report (was not a bug)
      mysql-test/r/query_cache.result:
        Move test with many tables to separate test
      mysql-test/r/select_safe.result:
        Make test repeatable
      mysql-test/t/loaddata.test:
        Add test case for LOAD DATA bug report (was not a bug)
      mysql-test/t/query_cache.test:
        Move test with many tables to separate test
      mysql-test/t/select_safe.test:
        Make test repeatable
      sql/field.cc:
        Portability fix for gcc 3.3
      sql/mysqld.cc:
        Store in open_files_limit the true number of files we can open (if system supports it)
      sql/sql_load.cc:
        Safety fix
      21a2b74b
  7. 21 Aug, 2003 10 commits
  8. 20 Aug, 2003 2 commits
    • unknown's avatar
      Result updates after Dmitri's and my changes to logging with --log-slave-updates. · 1f280ec4
      unknown authored
      Since my changes, rpl_log.test, whose result file depends on file_id, became
      non-repeatable, i.e. file_id on slave in SHOW BINLOG EVENTS
      changed depending on the order of tests (sometimes 1, sometimes 5).
      Which is logical: as now the slave does not copy Create_file and Exec_load from
      the relay log (i.e from the master's binlog) to the slave's binlog, but
      instead lets mysql_load() do the logging, the file_id is now the one whic
      was used on the slave. Before it was the one which was used on the master,
      and by chance the master was always restarted for this test because there's
      a -master.opt file, so file_id on the master is always 1. But now file_id is
      from the slave so we need to restart the slave. That's why I add an (empty)
      -slave.opt file. I could have used 'server_stop/start slave', but this
      would have required the manager, so most of the time mysql-test-run silently
      skip the test which makes it useless. And I want this test to be run !
      
      
      mysql-test/r/rpl_loaddata.result:
        Orig_log_pos is like Pos since Dmitri's good change for BUG#1086
      mysql-test/r/rpl_log.result:
        Orig_log_pos is like Pos now, because Exec_load events are not directly copied
        by the slave from the relay log to the slave's binary log (these events
        are written by mysql_load() now).
      mysql-test/t/rpl_log.test:
        A comment
      1f280ec4
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · 1ea162d8
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      
      sql/log.cc:
        Auto merged
      sql/log_event.cc:
        Auto merged
      sql/slave.cc:
        Auto merged
      1ea162d8