1. 25 Aug, 2003 2 commits
    • unknown's avatar
      Better fix for myisamchk --sort-index on windows · 413b57e1
      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()
      413b57e1
    • unknown's avatar
      Update of VC++ project files (to remove link warnings) · e8007ae7
      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
      e8007ae7
  2. 23 Aug, 2003 2 commits
  3. 22 Aug, 2003 6 commits
    • unknown's avatar
      After merge fixes · 2d2f5765
      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
      2d2f5765
    • unknown's avatar
      grant.result, grant.test, sql_acl.cc: · 11fbbe44
      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
      11fbbe44
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · e3563c79
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      
      e3563c79
    • unknown's avatar
      2 minor edits, plus · fdfb10f2
      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).
      fdfb10f2
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · e3ceec71
      unknown authored
      into narttu.mysql.fi:/my/mysql-4.0
      
      
      client/mysqltest.c:
        Auto merged
      sql/sql_load.cc:
        Auto merged
      e3ceec71
    • unknown's avatar
      Move test that uses many tables (in query_cache.test) to separate test so that... · 64393d7e
      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
      64393d7e
  4. 21 Aug, 2003 10 commits
  5. 20 Aug, 2003 12 commits
    • unknown's avatar
      Result updates after Dmitri's and my changes to logging with --log-slave-updates. · eb1fb900
      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
      eb1fb900
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · d52145da
      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
      d52145da
    • unknown's avatar
      First commit for fixing BUG#1100 · 1542fffb
      unknown authored
      "LOAD DATA INFILE is badly filtered by binlog-*-db rules".
      There will probably be a second final one to merge Dmitri's changes
      to rpl_log.result and mine.
      2 new tests:
      rpl_loaddata_rule_m : test of logging of LOAD DATA INFILE when the master has binlog-*-db rules,
      rpl_loaddata_rule_s : test of logging of LOAD DATA INFILE when the slave has binlog-*-db rules and --log-slave-updates.
      
      
      mysql-test/r/rpl_loaddata.result:
        Test that logging of LOAD DATA INFILE is done on the slave
      mysql-test/t/rpl_loaddata.test:
        Test that logging of LOAD DATA is done on the slave
      sql/log.cc:
        debug info
      sql/log_event.cc:
        * Append_block, Exec_load and Delete_file now have a member 'db' like Create_file.
        This member is filled by mysql_load(). It is used for filtering by binlog-*-db rules,
        that's all. It's not written to the binlog, and so can't be read from the binlog.
        In other words, that's temporary info which is stored in the event and lost when
        it is written and deleted.
        * Better error messages in Append_block et al. events.
        * The slave now logs (log-slave-updates) the Create_file et al. events in mysql_load()
        (they are not directly copied from the events in the relay log, because this
        prevented filtering by binlog-*-db rules). Before, mysql_load() in the slave
        did no logging, now it does the logging, as in any regular thread.
      sql/log_event.h:
        New member 'db' for Append_block et al. events.
      sql/slave.cc:
        Removed useless code. Why was it useless:
        - CREATE_FILE_EVENT is not defined in 3.23. It appeared in 4.0.
        - in queue_old_event(), which is called only if the master is 3.23, we had a
        case CREATE_FILE_EVENT:
        so this case can be removed.
        - this case was the only caller of process_io_create_file() so this function
        can be removed.
      sql/sql_load.cc:
        Pass the db to events, so that they can be well filtered.
      sql/sql_repl.cc:
        Pass the db to events so that they can be well filtered.
      1542fffb
    • unknown's avatar
      sql_union.cc: · c1e6d2d1
      unknown authored
        Merge fix
      
      
      sql/sql_union.cc:
        Merge fix
      c1e6d2d1
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 7b901892
      unknown authored
      into mysql.com:/home/dlenev/src/mysql-4.0-bg-1086
      
      
      7b901892
    • unknown's avatar
      Fixed problem with undefined assert symbol · 83374580
      unknown authored
      83374580
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 924a9708
      unknown authored
      into mysql.com:/home/dlenev/src/mysql-4.0-bg-1086
      
      
      924a9708
    • unknown's avatar
      Fixed some varnings from valgrind · de5d47c3
      unknown authored
      Set min value of max_allowed_packet to 1024
      Fixed problem with UNION's without braces and SQL_CALC_FOUND_ROWS, LIMIT #,#
      and ORDER BY...LIMIT
      
      
      include/m_string.h:
        Added memcpy_overlap() to avoid warnings when using valgrind on memcpy(A,A,...)
      myisam/mi_create.c:
        Fixed comment
      myisam/mi_search.c:
        Fix warning from valgrind
      myisam/mi_write.c:
        Indentation fix
      mysql-test/mysql-test-run.sh:
        Add options handled by general skip- option
      mysql-test/r/packet.result:
        Update results after change to mysqld (min max_allowed_packet length is now 1024)
      mysql-test/r/union.result:
        Added testing of UNION with SQL_CALC_FOUND_ROWS
      mysql-test/t/packet.test:
        Update results after change to mysqld (min max_allowed_packet length is now 1024)
      mysql-test/t/union.test:
        Added testing of UNION with SQL_CALC_FOUND_ROWS
      sql/field.cc:
        Fix to remove waarning from valgrind
      sql/ha_innodb.cc:
        Remove wrong include file
      sql/item_cmpfunc.cc:
        Safety fix to handle EOM conditions in IN
      sql/item_sum.cc:
        Fixed prototype for update_field() (argument was alwys 0)
      sql/item_sum.h:
        Fixed prototype for update_field() (argument was alwys 0)
      sql/item_uniq.h:
        Fixed prototype for update_field() (argument was alwys 0)
      sql/log.cc:
        Indentation fix
      sql/mysqld.cc:
        Set min value of max_allowed_packet to 1024 (to avoid it getting set to 0)
      sql/net_serv.cc:
        Indentation changes + trivial optimization
      sql/sql_select.cc:
        Fixed prototype for update_field() (argument was alwys 0)
      sql/sql_union.cc:
        Fixed problem with UNION's without braces and
        - SQL_CALC_FOUND_ROWS
        - LIMIT #,#
        - ORDER BY ... LIMIT
      de5d47c3
    • unknown's avatar
      sql_union.cc: · db2b279f
      unknown authored
        Fix for SQL_CALC_FOUND_ROWS in UNION's
      
      
      sql/sql_union.cc:
        Fix for SQL_CALC_FOUND_ROWS in UNION's
      db2b279f
    • unknown's avatar
      func_test.result, func_test.test: · d140ed2d
      unknown authored
        Test case for the LEAST() bug in LEFT JOIN
      
      
      mysql-test/t/func_test.test:
        Test case for the LEAST() bug in LEFT JOIN
      mysql-test/r/func_test.result:
        Test case for the LEAST() bug in LEFT JOIN
      d140ed2d
    • unknown's avatar
      item_func.h: · 22ad5163
      unknown authored
        Fix for a bug with LEAST() in WHERE clause
      ha_innodb.cc:
        Fix for a configure bug
      multi_update.result, multi_update.test:
        Fix for the update with NULL's in the result set
      sql_update.cc:
        Fix for the update with NULL's in the result set
         Fix for the update with NULL's in the result set
         Fix for the update with NULL's in the result set
      
      
      sql/sql_update.cc:
        Fix for the update with NULL's in the result set
         Fix for the update with NULL's in the result set
         Fix for the update with NULL's in the result set
      mysql-test/t/multi_update.test:
        Fix for the update with NULL's in the result set
      mysql-test/r/multi_update.result:
        Fix for the update with NULL's in the result set
      sql/ha_innodb.cc:
        Fix for a configure bug
      sql/item_func.h:
        Fix for a bug with LEAST() in WHERE clause
      22ad5163
    • unknown's avatar
      comment added · 2d2db894
      unknown authored
      2d2db894
  6. 19 Aug, 2003 8 commits
    • unknown's avatar
      Fix for BUG#1086. Now we don't preserve event's log_pos through · e3541b8a
      unknown authored
      log-slave-updates since this causes unexpected values in 
      Exec_master_log_pos in A->B->C replication setup, synchronization
       problems in master_pos_wait()... 
      Still this brokes some functionality in sql/repl_failsafe.cc 
      (but this file is not used now)
      
      
      mysql-test/r/rpl_log.result:
        SHOW BINLOG EVENTS for binlog on slave should give the same 
        Orig_log_pos and Pos values
      sql/log_event.cc:
        Do not propagate our master's log pos to our bin log
      sql/repl_failsafe.cc:
        Added comment about broken SHOW NEW MASTER
      sql/slave.cc:
        Do not propagate our master's log pos to our bin log
      sql/sql_class.cc:
        THD::log_pos is no longer needed
      sql/sql_class.h:
        THD::log_pos is no longer needed
      sql/sql_parse.cc:
        Added comment about broken SHOW NEW MASTER
      e3541b8a
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.0/ · 9c5c6daf
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.0
      
      
      9c5c6daf
    • unknown's avatar
      FT-NL bugfix - ignore words that appear more than in 2mio rows to avoid tree overflow. · 018e7524
      unknown authored
      optimization: abort search for common (>50% rows) words earlier.
      
      
      018e7524
    • unknown's avatar
      Merge mysql.com:/space/my/mysql-4.0 · 67301c60
      unknown authored
      into mysql.com:/space/my/mysql-4.0-build
      
      
      67301c60
    • unknown's avatar
      - Added a missing directory variable definition to the Bootstrap script. · be974481
      unknown authored
      
      Build-tools/Bootstrap:
         - defined $opt_directory to be the present working directory. No clue how
           this worked before...
      be974481
    • unknown's avatar
      Use my_b_append instead of my_b_write on a SEQ_READ_APPEND cache, when we write · d43a347d
      unknown authored
      the first 4 bytes of the relay log. Indeed comments in mysys/mf_iocache.c 
      say we must always use my_b_append for such a cache.
      This *could* avoid a very rare assertion failure which is: 
      030524 19:32:38  Slave SQL thread initialized, starting replication in log 'FIRST' at position 0, relay log '/
      users/gbichot/4.1.1/mysql-test/var/log/slave-relay-bin.000001' position: 4
      030524 19:32:38  next log '/users/gbichot/4.1.1/mysql-test/var/log/slave-relay-bin.000002' is currently active
      mysqld: mf_iocache.c:701: _my_b_seq_read: Assertion `pos_in_file == info->end_of_file' failed.
      and which seemed to happen always when the SQL thread and/or the I/O thread
      were at position 4 in a relay log.
      
      
      include/my_sys.h:
        moving a function from log_event.cc so that it can be widely used
      mysys/mf_iocache.c:
        moving a function from log_event.cc so that it can be widely used
      sql/log.cc:
        my_b_write should not be used on a SEQ_READ_APPEND cache, one should use my_b_append
        (otherwise there could be some locking problems).
      sql/log_event.cc:
        moved to mysys/mf_iocache.c for wider use.
        A typo.
      d43a347d
    • unknown's avatar
      Fix for BUG#1096 which is: · fe0e5464
      unknown authored
      "mysqlbinlog does not comment the original LOAD DATA INFILE if it has a "use xx""
      
      
      client/mysqlbinlog.cc:
        a comment
      sql/log_event.cc:
        in mysqlbinlog we want to have a leading '#' before LOAD DATA INFILE when we
        print a Create_file event.
        This was not done properly when the query had *2* lines: only the "use db" got
        commented.
        To fix this I had to add an argument to Load_log_event::print, it could not be
        handled in Create_file_log_event::print alone.
      sql/log_event.h:
        prototype
      fe0e5464
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · 4392456b
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      
      4392456b