1. 01 Apr, 2004 1 commit
    • unknown's avatar
      First commit of the skeleton storage engine. Use this example as a template to... · bf3f491e
      unknown authored
      First commit of the skeleton storage engine. Use this example as a template to build storage engines. Also includes a new degine for marking storage engine methods as not being implemented.
      
      
      sql/examples/ha_example.h:
        First commit of example storage engine.
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      bf3f491e
  2. 31 Mar, 2004 9 commits
    • unknown's avatar
      dead6301
    • unknown's avatar
      Merge of fix for bug #2050 and bug #3307 · e6d76615
      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
      e6d76615
    • unknown's avatar
      Fix for Bug #3307 "FLUSH TABLES sometimes breaks prepared statement · d2906f0e
      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.
      d2906f0e
    • unknown's avatar
      Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-4.1 · 0dd6f77d
      unknown authored
      into gluh.mysql.r18.ru:/home/gluh/Bugs/mysql-4.1
      
      
      0dd6f77d
    • unknown's avatar
    • unknown's avatar
      Merge sanja.is.com.ua:/home/bell/mysql/bk/mysql-4.1 · 9c2e4b03
      unknown authored
      into sanja.is.com.ua:/home/bell/mysql/bk/work-qc-4.1
      
      
      9c2e4b03
    • unknown's avatar
      Added option --set-charset (disable with --skip-set-charset) to mysqldump. · 4cd406a9
      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.
      4cd406a9
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 0005e266
      unknown authored
      into mysql.com:/home/my/mysql-4.1
      
      
      0005e266
    • unknown's avatar
      simple optimzation · 93c70c07
      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
      93c70c07
  3. 30 Mar, 2004 11 commits
  4. 29 Mar, 2004 14 commits
    • unknown's avatar
      false/true -> FALSE/TRUE · ceeaa24d
      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
      ceeaa24d
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · db9fde08
      unknown authored
      into mysql.com:/home/my/mysql-4.1
      
      
      db9fde08
    • unknown's avatar
      Better comment. · 989756ab
      unknown authored
      
      sql/sql_prepare.cc:
        While reviewing Sanja's patch finally understood what is going one here
        (previously marked as 'safety - nasty init' :-) ).
      989756ab
    • unknown's avatar
      Merge mysql.com:/home/my/mysql-4.0 into mysql.com:/home/my/mysql-4.1 · 619e9cba
      unknown authored
      
      mysql-test/t/timezone.test:
        Auto merged
      619e9cba
    • unknown's avatar
      Fix test results when you are in daylight saving time · 6b16bf4f
      unknown authored
      
      mysql-test/t/timezone.test:
        Fix results when you are in daylight saving time
      6b16bf4f
    • unknown's avatar
      Merge with 4.0 to get lastest bug fixes · ff908d18
      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
      ff908d18
    • unknown's avatar
      Fixed wrong assert (Got failure in ctype_tis620) · 501c3e7a
      unknown authored
      501c3e7a
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.1 · 88321595
      unknown authored
      into mysql.com:/home/my/mysql-4.1
      
      
      sql/sql_insert.cc:
        Auto merged
      88321595
    • unknown's avatar
      Disable INSERT DELAYED for embedded library · 1cff3d98
      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
      1cff3d98
    • unknown's avatar
      Merge bk-internal.mysql.com:/home/bk/mysql-4.0 · 063eeb7e
      unknown authored
      into mysql.com:/home/my/mysql-4.0
      
      
      063eeb7e
    • unknown's avatar
      Better error messages for not nullable · 399845ae
      unknown authored
      SET character_set_xxx=NULL
      and
      SET collation_xxx=NULL
      
      
      399845ae
    • unknown's avatar
      Better tests for BINARY · 5babbd23
      unknown authored
      5babbd23
    • unknown's avatar
      0d47f003
    • unknown's avatar
      sql_db.cc: · e43ad539
      unknown authored
        More clear error message.
      
      
      sql/sql_db.cc:
        More clear error message.
      e43ad539
  5. 28 Mar, 2004 2 commits
    • unknown's avatar
      Simplification: MYSQL_RES *result replaced with MYSQL_DATA result; · 7e5cd910
      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.
      7e5cd910
    • unknown's avatar
      "Fix" for BUG #2050 "10 to 1 performance drop with server 4.1.1". · f6a8ec5f
      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
      f6a8ec5f
  6. 27 Mar, 2004 3 commits