1. 02 Apr, 2004 4 commits
  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