1. 01 Apr, 2004 1 commit
    • unknown's avatar
      WL#775 "Add status variable identifying binlog_cache_size shortage" · 210871ee
      unknown authored
      Added two status variables: 
        binlog_cache_use - counts number of transactions that used somehow
          transaction temporary binary log.
        binlog_cache_disk_use - counts number of transactions that required
          disk I/O for storing info in this this binary log.
      
      
      include/my_sys.h:
        Added disk_writes member to the IO_CACHE structure for counting number
        of times when IO_CACHE was forced to write to disk.
      mysql-test/r/rpl_relayrotate.result:
        Fixed test result since added test for binlog_cache_use and 
        binlog_cache_disk_use status variables.
      mysql-test/t/rpl_relayrotate.test:
        Added test for binlog_cache_use and binlog_cache_disk_use status 
        variables.
        Now dropping t1 table on master too.
      mysys/mf_iocache.c:
        Added disk_writes member to the IO_CACHE structure for counting number
        of times when IO_CACHE was forced to write to disk.
      sql/handler.cc:
        Added support for binlog_cache_use and binlog_cache_disk_use status
        variable. First one is incremented if transaction used somehow 
        transaction temporary binary log (doesn't matter in memory only or 
        with writes to disk), the second one is incremented if this binary 
        log was flushed to disk at some point.
      sql/mysql_priv.h:
        Added declaration of status variables binlog_cache_use and 
        binlog_cache_disk_use.
      sql/mysqld.cc:
        Added status variables binlog_cache_use and binlog_cache_disk_use.
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      210871ee
  2. 31 Mar, 2004 9 commits
    • unknown's avatar
      c51e7f3a
    • unknown's avatar
      Merge of fix for bug #2050 and bug #3307 · 80d68d44
      unknown authored
      
      BitKeeper/etc/logging_ok:
        auto-union
      sql/item.cc:
        Auto merged
      sql/item.h:
        Auto merged
      sql/mysql_priv.h:
        Auto merged
      sql/sql_acl.cc:
        Auto merged
      sql/sql_base.cc:
        Manual merge
      80d68d44
    • unknown's avatar
      Fix for Bug #3307 "FLUSH TABLES sometimes breaks prepared statement · ca25de03
      unknown authored
      table resolution".
      Added members to Item_ident for storing original db, table and field
      names since those that set later from Field have shorter life-time 
      than required by prep. stmt. So we need to restore original names in 
      Item_ident::cleanup(). Also now using special construnctor for creation
      of Item_field from Field object that ensures that table and field name 
      have big enough life-time.
      
      "Fix" for bug #2050 "10 to 1 performance drop with server 4.1.1"
      Clean ups in implementation of caching of field number in table.
      Added caching of table in which field is found in find_field_in_tables(). 
      
      
      sql/item.cc:
        Added members to Item_ident for storing original db, table and field
        names since those that set later from Field have shorter life-time 
        than required by prep. stmt. So we need to restore original names in 
        Item_ident::cleanup().
        Added Item_ident::cached_table for caching table there we found 
        our field.
        Added special constructor for creation of Item_field from Field object
        that ensures that table and field name have big enough life-time.
      sql/item.h:
        Added members to Item_ident for storing original db, table and field
        names since those that set later from Field have shorter life-time 
        than required by prep. stmt. So we need to restore original names in 
        Item_ident::cleanup().
        Changed type of Item_ident::cached_field_index from int to uint
        (and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
        save one comparison in find_field_in_table().
        Added Item_ident::cached_table for caching table there we found 
        our field.
        Added special constructor for creation of Item_field from Field object
        that ensures that table and field name have big enough life-time.
      sql/mysql_priv.h:
        Changed type of cached_field_index_ptr from int* to uint*
        (and so NO_CACHED_FIELD_INDEX is UINT_MAX now) because we want to
        save one comparison in find_field_in_table().
      sql/sql_acl.cc:
        Changed type of find_field_in_table() paremeter to make it 
        faster.
      sql/sql_base.cc:
        find_field_in_table(): small optimization and soime clean ups in 
         caching of field index.
        find_field_in_tables(): added aggresive caching of table in which
         field is found in Item_ident::cached_table.
        insert_fields():
         using special construnctor for creation of Item_field from Field 
         object that ensures that table and field name have big enough life-time.
      ca25de03
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.1 · 8a2c9074
      unknown authored
      into gluh.mysql.r18.ru:/home/gluh/Bugs/mysql-4.1
      
      8a2c9074
    • unknown's avatar
    • unknown's avatar
      Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1 · 1ad8a8df
      unknown authored
      into sanja.is.com.ua:/home/bell/mysql/bk/work-qc-4.1
      
      1ad8a8df
    • unknown's avatar
      Added option --set-charset (disable with --skip-set-charset) to mysqldump. · 193a10fe
      unknown authored
      Marked --no-set-names as deprecated, the name is misleading and --no- in front
      makes it cumbersome to use with --disable or --skip prefixes.
      The old option will still work for the time being.
      
      
      client/client_priv.h:
        Added option --set-charset (disable with --skip-set-charset) to mysqldump.
      193a10fe
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 2fd95f96
      unknown authored
      into mysql.com:/home/my/mysql-4.1
      
      2fd95f96
    • unknown's avatar
      simple optimzation · 58402416
      unknown authored
      Portability fixes
      
      
      client/mysqltest.c:
        Fixed that if error number 0 is included in --error, we will not generate an error message
      include/mysql.h:
        Portability fix
      mysql-test/mysql-test-run.sh:
        Portability fix
      mysql-test/r/heap_btree.result:
        Portability fix
      mysql-test/r/rpl_error_ignored_table.result:
        Portability fix
      mysql-test/t/heap_btree.test:
        Portability fix
      mysql-test/t/rpl_error_ignored_table.test:
        Portability fix
      sql/sql_base.cc:
        simple optimzation
      sql/sql_yacc.yy:
        simple optimzation
      58402416
  3. 30 Mar, 2004 11 commits
  4. 29 Mar, 2004 14 commits
    • unknown's avatar
      false/true -> FALSE/TRUE · a0354729
      unknown authored
      Fixes after last merge
      
      
      mysql-test/r/bdb-crash.result:
        fixed bad merge
      mysql-test/r/myisam.result:
        after merge fix
      mysql-test/r/order_by.result:
        fixed bad merge
      mysql-test/t/order_by.test:
        after merge fix
      sql/field_conv.cc:
        false/true -> FALSE/TRUE
      sql/handler.cc:
        false/true -> FALSE/TRUE
      sql/item.cc:
        false/true -> FALSE/TRUE
      sql/item_cmpfunc.cc:
        false/true -> FALSE/TRUE
      sql/item_sum.cc:
        false/true -> FALSE/TRUE
      sql/slave.cc:
        false/true -> FALSE/TRUE
      sql/sql_acl.cc:
        false/true -> FALSE/TRUE
      sql/sql_cache.cc:
        after merge fix
      sql/sql_help.cc:
        false/true -> FALSE/TRUE
      sql/sql_olap.cc:
        false/true -> FALSE/TRUE
      sql/sql_parse.cc:
        false/true -> FALSE/TRUE
      sql/sql_select.cc:
        fix after bad merge
      sql/sql_table.cc:
        fix after bad merge
      sql/sql_test.cc:
        false/true -> FALSE/TRUE
      a0354729
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 5161094a
      unknown authored
      into mysql.com:/home/my/mysql-4.1
      
      5161094a
    • unknown's avatar
      Better comment. · 7ce716e3
      unknown authored
      
      sql/sql_prepare.cc:
        While reviewing Sanja's patch finally understood what is going one here
        (previously marked as 'safety - nasty init' :-) ).
      7ce716e3
    • unknown's avatar
      Merge mysql.com:/home/my/mysql-4.0 into mysql.com:/home/my/mysql-4.1 · 3264eb22
      unknown authored
      
      mysql-test/t/timezone.test:
        Auto merged
      3264eb22
    • unknown's avatar
      Fix test results when you are in daylight saving time · c8164922
      unknown authored
      
      mysql-test/t/timezone.test:
        Fix results when you are in daylight saving time
      c8164922
    • unknown's avatar
      Merge with 4.0 to get lastest bug fixes · 8fa4af59
      unknown authored
      
      include/m_string.h:
        Auto merged
      myisam/mi_create.c:
        Auto merged
      mysql-test/r/bdb-crash.result:
        Auto merged
      sql/handler.h:
        Auto merged
      mysql-test/r/grant_cache.result:
        Auto merged
      mysql-test/t/grant_cache.test:
        Auto merged
      sql/sql_cache.cc:
        Auto merged
      sql/sql_table.cc:
        Auto merged
      innobase/mem/mem0dbg.c:
        Merge with 4.0
      mysql-test/r/myisam.result:
        Merge with 4.0
      mysql-test/r/order_by.result:
        Merge with 4.0
      mysql-test/t/bdb-crash.test:
        Merge with 4.0
      mysql-test/t/myisam.test:
        Merge with 4.0
      mysql-test/t/order_by.test:
        Merge with 4.0
      sql/ha_berkeley.cc:
        Merge with 4.0 (use local code)
      sql/sql_select.cc:
        Merge with 4.0 to get fix for FORCE INDEX ... ORDER BY
      8fa4af59
    • unknown's avatar
      Fixed wrong assert (Got failure in ctype_tis620) · 68e2aa13
      unknown authored
      68e2aa13
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 501312e3
      unknown authored
      into mysql.com:/home/my/mysql-4.1
      
      
      sql/sql_insert.cc:
        Auto merged
      501312e3
    • unknown's avatar
      Disable INSERT DELAYED for embedded library · 33c669fd
      unknown authored
      
      sql-bench/crash-me.sh:
        Fixed typo
      sql/mysql_priv.h:
        Moved things for embedded library into one section
      sql/sql_string.cc:
        Simple optimization
      33c669fd
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 6548e332
      unknown authored
      into mysql.com:/home/my/mysql-4.0
      
      6548e332
    • unknown's avatar
      Better error messages for not nullable · 345a0e5a
      unknown authored
      SET character_set_xxx=NULL
      and
      SET collation_xxx=NULL
      
      345a0e5a
    • unknown's avatar
      Better tests for BINARY · f8d9645d
      unknown authored
      f8d9645d
    • unknown's avatar
      d282feee
    • unknown's avatar
      sql_db.cc: · 4caccf38
      unknown authored
        More clear error message.
      
      
      sql/sql_db.cc:
        More clear error message.
      4caccf38
  5. 28 Mar, 2004 2 commits
    • unknown's avatar
      Simplification: MYSQL_RES *result replaced with MYSQL_DATA result; · e1b45818
      unknown authored
      No need to check for result existence any more, store_result functions
      now are shorter.
      cli_read_binary_rows rewritten to handle MYSQL_DATA directly.
      
      
      include/mysql.h:
        MYSQL_RES * pointer replaced with MYSQL_DATA: it saves us at least 2 mallocs
        per store_result and simplifies stored result handling.
        Plus it's done with cursor fetch in mind: cursor fetch will use this
        structure to buffer fetched rows.
      libmysql/client_settings.h:
        signature of cli_read_binary_rows changed
      libmysql/libmysql.c:
        MYSQL_DATA is now used to handle result.
        cli_read_binary_rows rewritten to use MYSQL_DATA directly.
      libmysql/libmysql.def:
        declarations of new calls in the library
      libmysqld/lib_sql.cc:
        MYSQL_DATA is now used to handle result.
        cli_read_binary_rows rewritten to use MYSQL_DATA directly.
      e1b45818
    • unknown's avatar
      "Fix" for BUG #2050 "10 to 1 performance drop with server 4.1.1". · 12dd5008
      unknown authored
      Actually it is not a bug but right behavior observed as pefomance 
      degradation after we have forced Item_field::fix_fields() to 
      re-execute each time when we are executing prep stmt.
      
      This patch implements small optimization which heals this bad 
      behavior. We are caching field position in TABLE::field array in
      Item's member and are using this position for speeding up field
      lookups in fix_fields() in case of its re-execution.
      
      
      sql/item.cc:
        Added cached_field_index member to Item_ident for caching field
        position in TABLE::field array for quicker field lookup in case 
        fix_fields() is executed twice.
      sql/item.h:
        Added cached_field_index member to Item_ident for caching field
        position in TABLE::field array for quicker field lookup in case 
        fix_fields() is executed twice.
      sql/mysql_priv.h:
        Now find_field_in_table has one more in-out parameter which is used
        for caching field index in TABLE::field array stored for quicker
        field look up.
      sql/sql_acl.cc:
        Now find_field_in_table has one more in-out parameter which is used
        for caching field index in TABLE::field array stored for quicker
        field look up.
      sql/sql_base.cc:
        Optimization: Now when we are looking up Field by its name we are 
        caching its position in TABLE::field array in Item_ident::cached_field_index,
        so when we will call fix_fields() second time for this item (e.g.
        when we are re-executing prep statement) we can reuse this index
        to speed up this lookup.
      sql/table.cc:
        Now we storing in TABLE::name_hash pointers to elements of 
        TABLE::field array, because this allows easily retrieve index
        of field in this array when it is looked up by its name.
      sql/table.h:
        Added comment claryfying what we store in TABLE::name_hash.
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      12dd5008
  6. 27 Mar, 2004 3 commits