1. 03 Nov, 2003 4 commits
    • unknown's avatar
      Merge mysql.com:/home/kostja/mysql/mysql-4.0-root · bc296f94
      unknown authored
      into mysql.com:/home/kostja/mysql/mysql-4.0-1724
      
      
      bc296f94
    • unknown's avatar
      Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0 · fdd0e707
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.0
      
      
      fdd0e707
    • unknown's avatar
      When we delete the slave's temp tables from memory, we reset · 5ec3a671
      unknown authored
      rli->save_temporary_tables and slave_open_temp_tables
      (in old 4.0 you could make "SHOW STATUS LIKE 'slave_open_temp_tables'" grow
      indefinitely by doing RESET SLAVE and replicating always the same CREATE
      TEMPORARY TABLE).
      It's critical to reset save_temporary_tables to 0 (otherwise you may later
      read memory which has been freed) so this changeset should go into 4.1.
      
      
      mysql-test/r/rpl_reset_slave.result:
        result update
      mysql-test/t/rpl_reset_slave.test:
        test for RESET SLAVE and creating twice the same temp table in the slave.
      sql/slave.cc:
        when we delete the slave's temp tables (when slave server shuts down and when
        RESET SLAVE), we reset 2 variables: rli->save_temporary_tables & slave_open_temp_tables.
      5ec3a671
    • unknown's avatar
      fix for bug #1724 'WHERE ... IN() optimizer behaviour · 22bc137c
      unknown authored
      has changed since 4.0.14'
      We need to calculate cost of RANGE
      scan if it is present instead of cost of 
      FULL scan.
      
      
      mysql-test/r/order_by.result:
        more accurate row estimation
        for RANGE scan
      mysql-test/r/range.result:
        added test case for bug #1724
        'WHERE ... IN() optimizer behaviour has changed since 4.0.14'
      mysql-test/r/select.result:
        please ignore
      mysql-test/t/range.test:
        added test case for bug #1724
        'WHERE ... IN() optimizer behaviour has changed since 4.0.14'
      sql/sql_select.cc:
        fix for bug #1724 'WHERE ... IN() optimizer behaviour 
        has changed since 4.0.14'
        We need to calculate cost of RANGE
        scan instead of cost of FULL scan
        if RANGE is present
        Few comments cleaned up.
      22bc137c
  2. 02 Nov, 2003 3 commits
    • unknown's avatar
      Portability fix · 15cc0ad2
      unknown authored
      15cc0ad2
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 7960f2c4
      unknown authored
      into mysql.com:/my/mysql-4.0
      
      
      7960f2c4
    • unknown's avatar
      Call my_sync() after all data is written to .frm file · c97a38c4
      unknown authored
      Added my_sync() to mysys which will do fsync/fdatasync/_commit() on a file.
      
      
      VC++Files/mysys/mysys.dsp:
        Added my_sync.c
      configure.in:
        Added testing of fsync and fdatasync
      include/my_sys.h:
        Added my_sync()
      include/mysys_err.h:
        Added my_sync()
      isam/extra.c:
        Added my_sync()
      myisam/mi_extra.c:
        Added my_sync()
      myisam/mi_locking.c:
        Added my_sync()
      mysql-test/mysql-test-run.sh:
        Added option --valgrind-all
      mysys/Makefile.am:
        Added my_sync.c
      mysys/errors.c:
        Added my_sync()
      mysys/my_symlink.c:
        Removed compiler warning
      mysys/thr_alarm.c:
        Fix for link error on windows
      sql/unireg.cc:
        Call my_sync() after all data is written to .frm file
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      c97a38c4
  3. 31 Oct, 2003 3 commits
    • unknown's avatar
      4 small items in this: · b920ab26
      unknown authored
      - when we don't have in_addr_t, use uint32.
      - a forgotten initialization of slave_proxy_id in sql/log_event.cc (was not really "forgot", was
      "we needn't init it there", but there was one case where we needed...).
      - made slave_proxy_id always meaningful in THD and Log_event, so we can
      rely more on it (no need to test if it's meaningful). THD::slave_proxy_id
      is equal to THD::thread_id except for the slave SQL thread.
      - clean up the slave's temporary table (i.e. free their memory) when slave
      server shuts down.
      
      
      extra/resolveip.c:
        removed #define as it is simpler to put it in my_net.h
        (because we need the #define elsewhere)
      include/my_net.h:
        When in_addr_t is not defined, use uint32.
      libmysql/libmysql.c:
        using in_addr_t is more generic.
      libmysql/manager.c:
        using in_addr_t is more generic.
      mysql-test/t/rpl_chain_temp_table.test:
        comments
      sql/log_event.cc:
        * Had forgot to initialize slave_proxy_id in the event constructor (char* buf...).
        Initializing is in fact only needed for Create_file_log_event, because
        it uses slave_proxy_id even if it does not write an event to the binlog
        (it uses slave_proxy_id to write it to SQL-LOAD.info).
        * When we write events we now always write slave_proxy_id, which is now always
        meaningful (as thd->slave_proxy_id is now always meaningful, see change in
        sql_class.cc).
      sql/mini_client.cc:
        in_addr_t is more generic.
      sql/slave.cc:
        A RELAY_LOG_INFO method to free the slave's temporary tables from memory
        at slave's server shutdown.
        It is called by end_slave(), which is called by close_connections(),
        which is called when the server terminates
        (close_connections() is just before clean_up(); putting the call in 
        clean_up() was buggy, as active_mi is already deleted by close_connections().
      sql/slave.h:
        new method
      sql/sql_class.cc:
        By default we set THD::slave_proxy_id to THD::thread_id,
        so THD::slave_proxy_id is always meaningful (not 0).
        It's always the same as the thread id except for the slave
        SQL thread.
      b920ab26
    • unknown's avatar
      minor fix in rm · 40ed42e1
      unknown authored
      
      libmysqld/Makefile.am:
        minor fix for rm
      40ed42e1
    • unknown's avatar
      thd->query assignment moved out · 9396db01
      unknown authored
      of lock scope
      
      
      9396db01
  4. 30 Oct, 2003 6 commits
  5. 29 Oct, 2003 5 commits
    • unknown's avatar
      cee3ddb4
    • unknown's avatar
      Change back service name to MySQL · 7da08881
      unknown authored
      Don't add service name to read config file segments if it's "MySQL"
      Fixed possible memory leak when CHANGE USER failed.
      
      
      include/mysql_com.h:
        Change back service name to MySQL (With new, better spelling)
      myisam/myisamchk.c:
        Improved --help
      sql/mysqld.cc:
        Don't add service name to read config file segments if it's "MySQL"
      sql/sql_parse.cc:
        Fixed possible memory leak when CHANGE USER failed.
      7da08881
    • unknown's avatar
      Fix for BUG#1686 · 03dbf8cc
      unknown authored
      "If 2 master threads with same-name temp table, slave makes bad binlog"
      and (two birds with one stone) for
      BUG#1240 "slave of slave breaks when STOP SLAVE was issud on parent slave
      and temp tables".
      
      Here is the design change:
      in a slave running with --log-slave-updates, events are now logged with the
      thread id they had on the master. So no more id conflicts between master threads,
      but introduces id conflicts between one master thread and one normal 
      client thread connected to the slave. This is solved by storing the server id
      in the temp table's name.
      
      New test which requires mysql-test-run to be run with --manager,
      otherwise it will be skipped.
      
      Undoing a Monty's change (hum, a chill runs down my spine ;) which was
      "Cleanup temporary tables when slave ends" in ChangeSet 1.1572.1.1.
      
      
      mysql-test/mysql-test-run.sh:
        One new test which needs more than one slave so must be hardcoded in mysql-test-run.sh.
      sql/log_event.cc:
        The event needs to carry a slave_proxy_id (which is set at event's creation
        and used at event's logging).
        This is used for events created by ::exec_event() in the slave SQL thread:
        now we want to log these events with the thread id they had on the master.
        This is so that several same-name temp tables simultaneously created on
        the master end up with not the same thread id in the slave's binlog.
      sql/log_event.h:
        Query and Load need to carry a slave_proxy_id, like they carried a thread_id
        (to replicate temp tables well).
      sql/slave.cc:
        Do not free temp tables in the slave SQL thread. Or they will be lost when
        one does STOP SLAVE / START SLAVE.
        We even save them in rli->save_temporary_tables and set thd->temporary_tables=0
        to prevent them to be freed.
      sql/sql_base.cc:
        Put the server id in the table cache key name for temp tables
        (we already put the slave_proxy_id, but we also need the server id
        in case normal clients (not slave threads) are using temp tables
        on the slave).
      sql/unireg.h:
        4 more bytes, to store the server id.
      03dbf8cc
    • unknown's avatar
      Merge bk-internal:/home/bk/mysql-4.0/ · a483fd21
      unknown authored
      into serg.mylan:/usr/home/serg/Abk/mysql-4.0
      
      
      a483fd21
    • unknown's avatar
  6. 28 Oct, 2003 3 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · efd5a55f
      unknown authored
      into narttu.mysql.fi:/my/mysql-4.0
      
      
      efd5a55f
    • unknown's avatar
      Fix for problem of installing MySQL as a service with · b11f9c10
      unknown authored
      mysql --install mysql --defualts-file=path-to-file
      (Bug #1643)
      
      
      include/mysql_com.h:
        MySQL should install as default service "mysqld"
      sql/mysqld.cc:
        Fix for problem of installing MySQL as a service with
        mysql --install mysql --defualts-file=path-to-file
      b11f9c10
    • unknown's avatar
      row0sel.c: · 710418eb
      unknown authored
        If innodb_force_recovery >= 5, do not try to fetch an old version of a clustered index record: this reduces crashes when dumping tables from a corrupt database
      
      
      innobase/row/row0sel.c:
        If innodb_force_recovery >= 5, do not try to fetch an old version of a clustered index record: this reduces crashes when dumping tables from a corrupt database
      710418eb
  7. 27 Oct, 2003 2 commits
  8. 25 Oct, 2003 4 commits
  9. 24 Oct, 2003 3 commits
  10. 23 Oct, 2003 4 commits
  11. 22 Oct, 2003 3 commits