1. 10 Jun, 2004 7 commits
    • unknown's avatar
      WL#1595 "Optionally fsync() the binlog after every statement": · 7ece3c74
      unknown authored
      New option --sync-binlog=x (and global settable variable) which will fsync the binlog
      after every x-th disk write to it. That is, if in autocommit mode, after every x-th statement
      written to the binlog; if using transactions, after every x-th transaction written to the binlog.
      x==0 means no fsync. x==1 is the slowest.
      There is no test added for this, I have just checked that it works as --sync-binlog=1 dramatically
      slows down mysqld.
      Made sync-frm a global settable variable.
      
      
      sql/log.cc:
        every sync_binlog_period-th disk binlog write, we fsync the binlog
      sql/mysql_priv.h:
        new option sync_binlog
      sql/mysqld.cc:
        new option sync_binlog
      sql/set_var.cc:
        Making sync-frm a settable global option.
        New settable global option sync-binlog.
      sql/set_var.h:
        new global settable variable sync_binlog needs a specific ::update because it needs to take LOCK_log
      7ece3c74
    • unknown's avatar
      Merge gbichot@213.136.52.20:/home/bk/mysql-4.1 · 7f440220
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.1-1595
      
      
      7f440220
    • unknown's avatar
      don't need to tag the slave SQL thread as "bootstrap". It causes duplicate · 0e6b9457
      unknown authored
      error messages when a query goes wrong.
      Note that from now on, if you run with --slave-skip-error=xx, then nothing will
      be printed to the error log when the slave is having this error xx and
      skipping it (but you don't care as you want to skip it).
      
      
      sql/repl_failsafe.cc:
        a comment about the use of thd->bootstrap in failsafe (unused code)
      0e6b9457
    • unknown's avatar
      · 378761c1
      unknown authored
      Added function 
      
      /***********************************************************************
      This function stores binlog offset and flushes logs */
      
      
      void innobase_store_binlog_offset_and_flush_log(char *binlog_name,longlong offset) 
      requested by Guilhem to ha_innodb.cc and ha_innodb.h. 
      
      Change made by Jan.Lindstrom@innodb.com
      
      
      378761c1
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 1a520c7a
      unknown authored
      into mysql.com:/home/pem/work/mysql-4.1
      
      
      1a520c7a
    • unknown's avatar
      ec923b80
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1 · d1cb8d6d
      unknown authored
      into mc05.(none):/space2/tomas/mysql-4.1-ndb-test
      
      
      d1cb8d6d
  2. 09 Jun, 2004 5 commits
    • unknown's avatar
      Fix for Bug#3904 "COUNT DISTINCT performance anomaly in 4.1" · f468b91f
      unknown authored
      The bug was caused by error in hash calculation function: it
      always returned hash value for last field in a composite key, so 
      for keys like (a text, b char(1)) we were always
      getting bad hash values.
       
      
      
      myisam/mi_unique.c:
        Fix for bug #3904:
        We should take into account existing hash value when calculating hash for
        next key in a composite unique index.
      f468b91f
    • unknown's avatar
      Merge gbichot@213.136.52.20:/home/bk/mysql-4.1 · 350ad500
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.1-874
      
      
      350ad500
    • unknown's avatar
      Making DROP TABLE IF EXISTS, DROP DATABASE IF EXISTS, DELETE FROM, UPDATE be logged to · 43489240
      unknown authored
      binlog even if they changed nothing, and a test for this.
      This is useful when users use these commands to clean up their master and slave by issuing
      one command on master (assume master and slave have slightly different data for some
      reason and you want to clean up both).
      Note that I have not changed multi-table DELETE and multi-table UPDATE because their
      error-reporting mechanism is more complicated.
      
      
      mysql-test/r/mysqlbinlog.result:
        result update
      mysql-test/r/rpl_charset.result:
        result update
      mysql-test/r/rpl_flush_log_loop.result:
        result update
      mysql-test/r/rpl_replicate_do.result:
        result update
      mysql-test/r/rpl_temporary.result:
        result update
      mysql-test/t/mysqlbinlog.test:
        moving SET TIMESTAMP up as DROP shows up in binlog
      sql/sql_db.cc:
        DROP DATABASE IF EXISTS is now always logged to binlog, even if db did not exist
      sql/sql_delete.cc:
        DELETE FROM t is now always logged to binlog even if no rows deleted (but in this case, only if really no error).
      sql/sql_table.cc:
        DROP TABLE IF EXISTS is now always logged to binlog even if table did not exist
      sql/sql_update.cc:
        UPDATE is now always logged to binlog even if no rows updated (but in this case, only if really no error).
      43489240
    • unknown's avatar
      charset.c: · 5304a03e
      unknown authored
        Fix to be ANSI C complient
        ,
      
      
      mysys/charset.c:
        Fix to be ANSI C complient
        ,
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      5304a03e
    • unknown's avatar
      3 retries for wait started · 35602052
      unknown authored
      35602052
  3. 08 Jun, 2004 19 commits
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 19a5cf93
      unknown authored
      into mysql.com:/home/kostja/mysql/mysql-4.1-4026
      
      
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/sql_prepare.cc:
        Auto merged
      19a5cf93
    • unknown's avatar
      Proposed fix for Bug#4026 "Microseconds part of TIME/DATETIME types · 27eda712
      unknown authored
      is broken (prepared statements)": fixed date handling in many places 
      of prepared statements code.
      
      
      libmysql/libmysql.c:
        Fix for Bug#4026:
        - now buffer_length is defined for any buffer type. Network buffer 
          preallocation cleaned up.
        - added constants for maximum buffer sizes necessary for MYSQL_TYPE_DATE,
          MYSQL_TYPE_TIME, MYSQL_TYPE_DATETIME types.
        - TIME/DATETIME packing/unpacking functions fixed 
        - now result set metadata is always updated from fields sent to COM_EXECUTE.
          This is necessary to make 'SELECT ?' queries work without conversions.
      sql/item.cc:
        - added implementatoin of Item_param::get_date
      sql/item.h:
        - added enum_field_types Item_param::param_type. First step for proper
          handling of placeholders.
        - added get_date() implementation to prevent date -> string -> date 
          conversions when MYSQL_TYPE_DATE/DATETIME parameter is used in temporal 
          context.
      sql/protocol.cc:
        Fix for Bug#4026:
        - PACKET_BUFFET_EXTRA_ALLOC -> PACKET_BUFFER_EXTRA_ALLOC.
          The define itself was moved to .cc as it's used only in protocol.cc
        - fixed Protocol_prep::store_time() call.
      sql/protocol.h:
        - PACKET_BUFFER_EXTRA_ALLOC moved to protocol.cc
      sql/sql_prepare.cc:
        Fix for Bug#4026:
        - MYSQL_TYPE_TIME/DATETIME handling fixed.
        - added initialization for Item_param::param_type in 
          setup_one_conversion_function
      tests/client_test.c:
        Test case for Bug#4026
      27eda712
    • unknown's avatar
      Merge gbichot@213.136.52.20:/home/bk/mysql-4.1 · ee401045
      unknown authored
      into mysql.com:/home/mysql_src/mysql-4.1-874
      
      
      ee401045
    • unknown's avatar
      Correction to replication of charsets in 4.1: · 7bd8167f
      unknown authored
      In mysqlbinlog, there was a problem with how we escaped the content of a string user variable.
      To be perfect, we should have escaped with character_set_client. But this charset is unknown
      to mysqlbinlog. So the simplest is to print the string in hex. This is unreadable but
      100% safe with any charset (checked with Bar), no more need to bother with character_set_client.
      
      
      mysql-test/r/rpl_charset.result:
        hex strings
      mysql-test/r/rpl_user_variables.result:
        hex strings
      mysql-test/r/user_var.result:
        hex strings
      sql/log_event.cc:
        In mysqlbinlog, there was a problem with how we escaped the content of a string user variable.
        To be perfect, we should have escaped with character_set_client. But this charset is unknown
        to mysqlbinlog. So the simplest is to print the string in hex. This is unreadable but
        100% safe with any charset (checked with Bar), no more need to bother with character_set_client.
      7bd8167f
    • unknown's avatar
      Use LOGNAME instead of USER · 3feecf82
      unknown authored
      3feecf82
    • unknown's avatar
      Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1 · 789135dd
      unknown authored
      into sanja.is.com.ua:/home/bell/mysql/bk/work-4.1
      
      
      789135dd
    • unknown's avatar
      WL#916: Unicode collations for some languages · 8ab01b33
      unknown authored
      8ab01b33
    • unknown's avatar
      Added function innobase_store_binlog_offset_and_flush_log requested by Guilhem · 19480ed6
      unknown authored
      to ha_innodb.cc and ha_innodb.h
      
      
      sql/ha_innodb.cc:
        /***********************************************************************
        This function stores binlog offset and flushes logs */
        
        void
        innobase_store_binlog_offset_and_flush_log(
        /*=============================*/
            char *binlog_name,          /* in: binlog name   */
            longlong offset             /* in: binlog offset */
        );
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      19480ed6
    • unknown's avatar
    • unknown's avatar
      Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1 · 5cf5e43f
      unknown authored
      into bar.intranet.mysql.r18.ru:/usr/home/bar/mysql-4.1
      
      
      5cf5e43f
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1 · c47ec308
      unknown authored
      into mc05.(none):/space2/tomas/mysql-4.1-ndb-test
      
      
      c47ec308
    • unknown's avatar
      fix for automake-1.5 · 283e8156
      unknown authored
      283e8156
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb · bd3de2b1
      unknown authored
      into poseidon.ndb.mysql.com:/home/tomas/mysql-4.1-ndb
      
      
      bd3de2b1
    • unknown's avatar
    • unknown's avatar
      ha_innodb.cc: · b2ab6644
      unknown authored
        Fix Bug #4047: remove the improvement ported from 4.0 that made InnoDB to remember the original select_lock_type inside LOCK TABLES
      
      
      sql/ha_innodb.cc:
        Fix Bug #4047: remove the improvement ported from 4.0 that made InnoDB to remember the original select_lock_type inside LOCK TABLES
      b2ab6644
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1 · 742ca412
      unknown authored
      into mc05.(none):/space2/tomas/mysql-4.1-ndb-test
      
      
      742ca412
    • unknown's avatar
    • unknown's avatar
      Merge tulin@bk-internal.mysql.com:/home/bk/mysql-4.1-ndb · 3b1a93bf
      unknown authored
      into poseidon.bredbandsbolaget.se:/home/tomas/mysql-4.1-ndb
      
      
      3b1a93bf
    • unknown's avatar
      some ndb printout cleanup · 80213d66
      unknown authored
      
      ndb/src/ndbapi/NdbDictionary.cpp:
        Print cleanup
      ndb/test/src/NDBT_ResultRow.cpp:
        Print error
      ndb/test/src/NDBT_Table.cpp:
        Print cleanup
      80213d66
  4. 07 Jun, 2004 9 commits