An error occurred fetching the project authors.
  1. 08 Feb, 2005 1 commit
    • unknown's avatar
      Fix for BUG#8371: wrong rec_per_key value for hash index on temporary table · 37e2873f
      unknown authored
      mysql-test/r/heap_hash.result:
        Testcase for BUG#8371: wrong rec_per_key value for hash index on temporary table
      mysql-test/t/heap_hash.test:
        Testcase for BUG#8371: wrong rec_per_key value for hash index on temporary table
      sql/ha_heap.cc:
        Fix for BUG#8371: wrong rec_per_key value for hash index on temporary table:
        Don't assume that table->rec_per_key==NULL if table->tmp_table != NO_TMP_TABLE, 
        this is not true for tables created with "CREATE TEMPORARY TABLE" (while it holds
        for temporary tables created during query execution)
      sql/sql_select.cc:
        Initialize rec_per_key for all keys in temporary table.
      37e2873f
  2. 14 Jan, 2005 1 commit
  3. 06 Jan, 2005 1 commit
    • unknown's avatar
      First stage of table definition cache · acf76e3b
      unknown authored
      Split TABLE to TABLE and TABLE_SHARE (TABLE_SHARE is still allocated as part of table, will be fixed soon)
      Created Field::make_field() and made Field_num::make_field() to call this
      Added 'TABLE_SHARE->db' that points to database name; Changed all usage of table_cache_key as database name to use this instead
      Changed field->table_name to point to pointer to alias. This allows us to change alias for a table by just updating one pointer.
      Renamed TABLE_SHARE->real_name to table_name
      Renamed TABLE->table_name to alias
      Renamed TABLE_LIST->real_name to table_name
      
      
      include/myisam.h:
        Added const before names
      mysql-test/r/group_min_max.result:
        Make results repeatable
      mysql-test/t/group_min_max.test:
        Make results repeatable
      sql/field.cc:
        Created Field::make_field() and made Field_num::make_field() to call this
        Use TABLE_SHARE
        Use sql_strmake() instead of sql_memdup() to simplify code
      sql/field.h:
        Changed table_name to be pointer to table_name. This allows us to change alias for all fields by just changing one pointer.
        Use TABLE_SHARE
      sql/field_conv.cc:
        Use TABLE_SHARE
      sql/filesort.cc:
        Use TABLE_SHARE
      sql/ha_berkeley.cc:
        Use TABLE_SHARE
      sql/ha_heap.cc:
        Use TABLE_SHARE
      sql/ha_innodb.cc:
        Use TABLE_SHARE
      sql/ha_myisam.cc:
        Use TABLE_SHARE
      sql/ha_myisammrg.cc:
        Use TABLE_SHARE
        Change some pointer handling to use const char*
      sql/ha_ndbcluster.cc:
        Use TABLE_SHARE
      sql/handler.cc:
        Use TABLE_SHARE
      sql/item.cc:
        Use TABLE_SHARE
      sql/item_func.cc:
        Use TABLE_SHARE
      sql/item_subselect.cc:
        Use TABLE_SHARE
      sql/item_sum.cc:
        Use TABLE_SHARE
      sql/key.cc:
        Use TABLE_SHARE
      sql/lock.cc:
        Use TABLE_SHARE
      sql/log_event.cc:
        real_name -> table_name
      sql/mysql_priv.h:
        Use TABLE_SHARE
      sql/opt_range.cc:
        Use TABLE_SHARE
      sql/opt_sum.cc:
        Use TABLE_SHARE
      sql/records.cc:
        Use TABLE_SHARE
      sql/repl_failsafe.cc:
        real_name -> table_name
      sql/slave.cc:
        Use TABLE_SHARE
      sql/sp.cc:
        Use TABLE_SHARE
      sql/sp_head.cc:
        real_name -> table_name
      sql/sql_acl.cc:
        Use TABLE_SHARE
        removed unnecessary assert
        fixed indentation
        changed some char * -> const char*
      sql/sql_acl.h:
        changed some char* -> const char*
      sql/sql_base.cc:
        Use TABLE_SHARE
      sql/sql_cache.cc:
        Use TABLE_SHARE
      sql/sql_class.cc:
        Use TABLE_SHARE
      sql/sql_db.cc:
        real_name -> table_name
      sql/sql_delete.cc:
        Use TABLE_SHARE
      sql/sql_derived.cc:
        Use TABLE_SHARE
      sql/sql_handler.cc:
        Use TABLE_SHARE
      sql/sql_help.cc:
        Use TABLE_SHARE
      sql/sql_insert.cc:
        Use TABLE_SHARE
      sql/sql_load.cc:
        Use TABLE_SHARE
      sql/sql_parse.cc:
        Use TABLE_SHARE
      sql/sql_rename.cc:
        real_name -> table_name
      sql/sql_select.cc:
        Use TABLE_SHARE
        table->blob_fields now points to field offsets, not fields
        tmp_table->table_name now points to alias name
      sql/sql_show.cc:
        Use TABLE_SHARE
      sql/sql_table.cc:
        Use TABLE_SHARE
      sql/sql_test.cc:
        Use TABLE_SHARE
      sql/sql_trigger.cc:
        Use TABLE_SHARE
      sql/sql_udf.cc:
        Use TABLE_SHARE
      sql/sql_union.cc:
        real_name -> table_name
      sql/sql_update.cc:
        Use TABLE_SHARE
      sql/sql_view.cc:
        Use TABLE_SHARE
      sql/table.cc:
        Split TABLE to TABLE and TABLE_SHARE
        Changed blob_field to be field offsets instead of pointer to fields
        Only initialize table->s->default_values with default record (not all table->record[#])
        Some indentation changes
      sql/table.h:
        Split TABLE to TABLE and TABLE_SHARE
      sql/tztime.cc:
        real_name -> table_name
      sql/unireg.cc:
        Use TABLE_SHARE
      sql/unireg.h:
        Use TABLE_SHARE
      acf76e3b
  4. 18 Dec, 2004 1 commit
    • unknown's avatar
      Add 0x before pointers (to help with debugging) · 8eaef91f
      unknown authored
      Add support for VARCHAR with 1 or 2 length bytes
      Enable VARCHAR packing in MyISAM files (previous patch didn't pack data properly)
      Give error if we got problems in temporary tables during a SELECT
      Don't use new table generated by ALTER TABLE if index generation fails
      Fixed wrong call by range_end() (Could cause an ASSERT in debug mode)
      
      
      BUILD/SETUP.sh:
        Add flags for Intel 64
      dbug/dbug.c:
        Add 0x before pointers (to help with debugging)
      heap/_check.c:
        Add 0x before pointers (to help with debugging)
      heap/hp_create.c:
        Add support for VARCHAR with 1 or 2 length bytes
      heap/hp_delete.c:
        Add 0x before pointers
      heap/hp_hash.c:
        Add support for VARCHAR with 1 or 2 length bytes
        Added more debugging
      heap/hp_open.c:
        Add 0x before pointers
      heap/hp_rkey.c:
        Add 0x before pointers
      heap/hp_rrnd.c:
        Add 0x before pointers
      heap/hp_write.c:
        Add 0x before pointers
      include/my_base.h:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/ft_static.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/ft_test1.c:
        Add support for VARCHAR with 1 or 2 length bytes
        Fixed indentation
        (This file should probably be deleted as it doesn't compile)
      myisam/ft_update.c:
        Add support for VARCHAR with 1 or 2 length bytes
        Fixed indentation
        Removed some not needed 'else'
      myisam/mi_check.c:
        Don't give an error for tables packed with myisampack
      myisam/mi_checksum.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_create.c:
        Add support for VARCHAR with 1 or 2 length bytes
        Store in number of pack-length-bytes in keyseg->bit_start
      myisam/mi_dbug.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_dynrec.c:
        Add support for VARCHAR with 1 or 2 length bytes
        (old code in _mi_rec_unpack() didn't really work with VARCHAR's)
      myisam/mi_key.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_open.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_packrec.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_search.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_test1.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_test3.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/mi_test_all.res:
        Update results
      myisam/mi_unique.c:
        Add support for VARCHAR with 1 or 2 length bytes
      myisam/myisampack.c:
        Add support for VARCHAR with 1 or 2 length bytes
      mysql-test/include/varchar.inc:
        Added more tests
      mysql-test/r/bdb.result:
        Update results after new tests
      mysql-test/r/information_schema.result:
        Update results
      mysql-test/r/innodb.result:
        Update results
      mysql-test/r/myisam.result:
        Update results after new tests
      mysql-test/r/ps_1general.result:
        Update results
      mysql-test/t/bdb.test:
        Shorter comments
      mysys/list.c:
        Add 0x before pointers
      mysys/my_handler.c:
        Add support for VARCHAR with 1 or 2 length bytes
      mysys/raid.cc:
        Add 0x before pointers
      sql/field.cc:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/field.h:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/field_conv.cc:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/ha_berkeley.cc:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/ha_heap.cc:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/ha_myisam.cc:
        Ensure that enable_indexes() will report an error if it fails
        Enable VARCHAR packing for MyISAM files
      sql/item_sum.cc:
        Change key_cmp -> cmp() as we are comparing fields, not key segements
      sql/opt_range.cc:
        Add support for VARCHAR with 1 or 2 length bytes
        Change range_end to call ha_index_or_rnd_end() as in some error cases we may be in rnd mode when we abort
      sql/sql_base.cc:
        Remove compiler warning
      sql/sql_parse.cc:
        Move length checking code to sql_table.cc (as we don't have character set for fields at this stage)
      sql/sql_select.cc:
        Add support for VARCHAR with 1 or 2 length bytes
        Ensure that we report an error if we get an error while writing to internal temporary tables
      sql/sql_select.h:
        Add support for VARCHAR with 1 or 2 length bytes
      sql/sql_show.cc:
        Fix typo in comment
      sql/sql_table.cc:
        Don't use new table generated by ALTER TABLE if index generation fails
      vio/vio.c:
        Fixed DBUG info
      vio/viosocket.c:
        Fixed DBUG info
      vio/viossl.c:
        Fixed DBUG info
      vio/viosslfactories.c:
        Fixed DBUG info
      8eaef91f
  5. 07 Dec, 2004 1 commit
    • unknown's avatar
      Update results for new varchar handling · 9ca50fe1
      unknown authored
      Fixed compiler warnings
      String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
      
      
      myisam/myisampack.c:
        Indentation cleanup
      mysql-test/r/analyse.result:
        Update results for new varchar handling
      mysql-test/r/case.result:
        Update results for new varchar handling
      mysql-test/r/cast.result:
        Update results for new varchar handling
      mysql-test/r/create.result:
        Update results for new varchar handling
      mysql-test/r/ctype_mb.result:
        Update results for new varchar handling
      mysql-test/r/ctype_ucs.result:
        Update results for new varchar handling
      mysql-test/r/ctype_utf8.result:
        Update results for new varchar handling
      mysql-test/r/func_group.result:
        Update results for new varchar handling
      mysql-test/r/func_str.result:
        Update results for new varchar handling
      mysql-test/r/func_system.result:
        Update results for new varchar handling
      mysql-test/r/heap.result:
        Update results for new varchar handling
      mysql-test/r/heap_hash.result:
        Update results for new varchar handling
      mysql-test/r/information_schema.result:
        Update results for new varchar handling
      mysql-test/r/metadata.result:
        Update results for new varchar handling
      mysql-test/r/null.result:
        Update results for new varchar handling
      mysql-test/r/ps_2myisam.result:
        Update results for new varchar handling
      mysql-test/r/ps_3innodb.result:
        Update results for new varchar handling
      mysql-test/r/ps_4heap.result:
        Update results for new varchar handling
      mysql-test/r/ps_5merge.result:
        Update results for new varchar handling
      mysql-test/r/ps_6bdb.result:
        Update results for new varchar handling
      mysql-test/r/subselect.result:
        Update results for new varchar handling
      mysql-test/r/type_ranges.result:
        Update results for new varchar handling
      mysql-test/r/union.result:
        Update results for new varchar handling
      mysql-test/t/heap.test:
        Update results for new varchar handling
      mysql-test/t/type_ranges.test:
        Added extra test to test generated type for string functions
      sql/field.cc:
        Update results for new varchar handling
      sql/field.h:
        Update results for new varchar handling
        We have to use orig_table instead of table as 'table' may point to a new field in the created table
      sql/field_conv.cc:
        Update results for new varchar handling
      sql/ha_heap.cc:
        Indentation fixes
      sql/ha_innodb.cc:
        Update results for new varchar handling
      sql/item.cc:
        Update results for new varchar handling
        Remove compiler warnings
        String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
      sql/item.h:
        Update results for new varchar handling
      sql/item_func.cc:
        Update results for new varchar handling
        String results in CREATE ... SELECT are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
      sql/item_func.h:
        ANALYZE now return VARCHAR columns
      sql/procedure.h:
        Update results for new varchar handling
      sql/sql_acl.cc:
        After merge fixes
      sql/sql_select.cc:
        Update results for new varchar handling
        String results in temporary tables are now created as CHAR(0), VARCHAR(X) or TEXT() depending on item->max_length
      sql/sql_show.cc:
        After merge fixes
      sql/sql_table.cc:
        After merge fixes
      strings/ctype-tis620.c:
        After merge fixes
      tests/client_test.c:
        Fixed results, as in MySQL 5.0 strings in CREATE ... SELECT are creates VARCHAR columns
      9ca50fe1
  6. 06 Dec, 2004 1 commit
    • unknown's avatar
      Add support for up to VARCHAR (size up to 65535) · a8ea31fa
      unknown authored
      Renamed HA_VAR_LENGTH to HA_VAR_LENGTH_PART
      Renamed in all files FIELD_TYPE_STRING and FIELD_TYPE_VAR_STRING to MYSQL_TYPE_STRING and MYSQL_TYPE_VAR_STRING to make it easy to catch all possible errors
      Added support for VARCHAR KEYS to heap
      Removed support for ISAM
      Now only long VARCHAR columns are changed to TEXT on demand (not CHAR)
      Internal temporary files can now use fixed length tables if the used VARCHAR columns are short
      
      
      BitKeeper/deleted/.del-ha_isam.cc~4dce65904db2675e:
        Delete: sql/ha_isam.cc
      BitKeeper/deleted/.del-_cache.c~b5d80b5c3ae233b1:
        Delete: isam/_cache.c
      BitKeeper/deleted/.del-_dbug.c~88d7964ae5e3c9bd:
        Delete: isam/_dbug.c
      BitKeeper/deleted/.del-_dynrec.c~48dd758f5a5450df:
        Delete: isam/_dynrec.c
      BitKeeper/deleted/.del-_key.c~ce62d47a6c681084:
        Delete: isam/_key.c
      BitKeeper/deleted/.del-_locking.c~dea4cdc6ea425c67:
        Delete: isam/_locking.c
      BitKeeper/deleted/.del-_packrec.c~47ae1b16c007e9be:
        Delete: isam/_packrec.c
      BitKeeper/deleted/.del-_page.c~148b1a613d052ee8:
        Delete: isam/_page.c
      BitKeeper/deleted/.del-_search.c~f509292aa1ff18ff:
        Delete: isam/_search.c
      BitKeeper/deleted/.del-_statrec.c~58d9263b3475d58b:
        Delete: isam/_statrec.c
      BitKeeper/deleted/.del-changed.c~d075de80a314b02d:
        Delete: isam/changed.c
      BitKeeper/deleted/.del-close.c~fd62629496ee5bcc:
        Delete: isam/close.c
      BitKeeper/deleted/.del-create.c~96cecc433c0c2242:
        Delete: isam/create.c
      BitKeeper/deleted/.del-delete.c~65ee8daaa75a14b6:
        Delete: isam/delete.c
      BitKeeper/deleted/.del-extra.c~706f29d72beb2565:
        Delete: isam/extra.c
      BitKeeper/deleted/.del-info.c~96cfb747af8da0d:
        Delete: isam/info.c
      BitKeeper/deleted/.del-isamchk.c~c0f59c2687d2248f:
        Delete: isam/isamchk.c
      BitKeeper/deleted/.del-isamlog.c~85b6b31c6e2b8519:
        Delete: isam/isamlog.c
      BitKeeper/deleted/.del-log.c~55a973013d55cade:
        Delete: isam/log.c
      BitKeeper/deleted/.del-open.c~95b3b75042fae00a:
        Delete: isam/open.c
      BitKeeper/deleted/.del-pack_isam.c~43801f0df7504834:
        Delete: isam/pack_isam.c
      BitKeeper/deleted/.del-panic.c~f7fd71605324f8f3:
        Delete: isam/panic.c
      BitKeeper/deleted/.del-range.c~142f1f8ac4948082:
        Delete: isam/range.c
      BitKeeper/deleted/.del-rfirst.c~66f494291dc005d3:
        Delete: isam/rfirst.c
      BitKeeper/deleted/.del-rkey.c~cc54c6498352f999:
        Delete: isam/rkey.c
      BitKeeper/deleted/.del-rlast.c~d1fe1866139e9866:
        Delete: isam/rlast.c
      BitKeeper/deleted/.del-rnext.c~b308eaa1e11ea7de:
        Delete: isam/rnext.c
      BitKeeper/deleted/.del-rprev.c~b359f71fdea4bbce:
        Delete: isam/rprev.c
      BitKeeper/deleted/.del-rrnd.c~7fcfcce88d4a5200:
        Delete: isam/rrnd.c
      BitKeeper/deleted/.del-rsame.c~75a62d5548103a15:
        Delete: isam/rsame.c
      BitKeeper/deleted/.del-rsamepos.c~5b5652dd2cda6d5d:
        Delete: isam/rsamepos.c
      BitKeeper/deleted/.del-sort.c~e2e56b5a37ce86f4:
        Delete: isam/sort.c
      BitKeeper/deleted/.del-static.c~3a1354b84f4a9cc7:
        Delete: isam/static.c
      BitKeeper/deleted/.del-test1.c~64d52e9412d457ed:
        Delete: isam/test1.c
      BitKeeper/deleted/.del-test2.c~2f9a632cab572958:
        Delete: isam/test2.c
      BitKeeper/deleted/.del-test3.c~e8a7a4afe8a087:
        Delete: isam/test3.c
      BitKeeper/deleted/.del-isamdef.h~ac8d49e7e2201c66:
        Delete: isam/isamdef.h
      BitKeeper/deleted/.del-update.c~670264f51dc44934:
        Delete: isam/update.c
      BitKeeper/deleted/.del-write.c~8f1918b1f6770e54:
        Delete: isam/write.c
      BitKeeper/deleted/.del-Makefile.am~6cfa0db5e7778d09:
        Delete: isam/Makefile.am
      BitKeeper/deleted/.del-make-ccc~3ee55391eda0b0ab:
        Delete: isam/make-ccc
      BitKeeper/deleted/.del-ChangeLog~208984fb7a51e568:
        Delete: isam/ChangeLog
      BitKeeper/deleted/.del-test_all.res~c2aafb49a3a77db7:
        Delete: isam/test_all.res
      BitKeeper/deleted/.del-test_all~93c701e44a9c5b65:
        Delete: isam/test_all
      BitKeeper/deleted/.del-.cvsignore~54f6f0f2d5012561:
        Delete: isam/.cvsignore
      BitKeeper/deleted/.del-ha_isammrg.cc~dc682e4755d77a2e:
        Delete: sql/ha_isammrg.cc
      BitKeeper/deleted/.del-ha_isam.h~bf53d533be3d3927:
        Delete: sql/ha_isam.h
      BitKeeper/deleted/.del-ha_isammrg.h~66fd2e5bfe7207dc:
        Delete: sql/ha_isammrg.h
      acinclude.m4:
        Remove ISAM
      client/mysqldump.c:
        FIELD_TYPE -> MYSQL_TYPE
      client/mysqltest.c:
        Add missing DBUG_RETURN
      configure.in:
        Remove ISAM
      heap/heapdef.h:
        Add support for VARCHAR
      heap/hp_create.c:
        Add support for VARCHAR
      heap/hp_delete.c:
        Add support for VARCHAR
      heap/hp_hash.c:
        Add support for VARCHAR
        (VARCHAR keys was not supported before)
      heap/hp_rkey.c:
        Add support for VARCHAR
      heap/hp_update.c:
        Add support for VARCHAR
      heap/hp_write.c:
        Add support for VARCHAR
        (Added flag SEARCH_UPDATE to mark that this is an update)
      include/decimal.h:
        Remove not needed my_global.h
      include/m_ctype.h:
        Add support for VARCHAR
      include/my_base.h:
        Add support for VARCHAR
      include/my_handler.h:
        Moved general purpose macro from MyISAM code
      include/mysql_com.h:
        Add support for VARCHAR
      libmysql/libmysql.c:
        Add support for VARCHAR
      libmysqld/Makefile.am:
        Removed ISAM
      myisam/ft_static.c:
        Add support for VARCHAR
      myisam/ft_test1.c:
        Add support for VARCHAR
      myisam/ft_update.c:
        Add support for VARCHAR
      myisam/mi_check.c:
        Add support for VARCHAR
      myisam/mi_create.c:
        Add support for VARCHAR
        - VARCHAR key segments are marked with HA_VAR_LENGTH_PART
      myisam/mi_key.c:
        Add support for VARCHAR
        Fixed bug in old VARCHAR code when reading index-only
      myisam/mi_range.c:
        Fixed comment style
      myisam/mi_rnext_same.c:
        Handle case where equal keys can be of different length
      myisam/mi_search.c:
        Add support for VARCHAR
      myisam/mi_test1.c:
        Add support for VARCHAR
      myisam/mi_unique.c:
        Add support for VARCHAR
        (Some new code to handle keys that are equal but have different lengths)
      myisam/mi_write.c:
        Fixed comment
      myisam/myisamchk.c:
        Better infotext if wrong type
      mysql-test/r/bdb.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/create.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ctype_tis620.result:
        Updated old result and new results for VARCHAR
        (Old code sorted tis620 wrong)
      mysql-test/r/ctype_ucs.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/endspace.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/func_like.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/heap.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/innodb.result:
        Updated old result. This will change a bit when also InnoDB supports VARCHAR
      mysql-test/r/merge.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/myisam.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/mysqldump.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/order_by.result:
        Updated old result and new results for VARCHAR
        (Key length is different for VARCHAR)
      mysql-test/r/ps.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_1general.result:
        Updated results for new .frm version
        Don't print seconds in show full process list as this may change
      mysql-test/r/ps_2myisam.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_3innodb.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_4heap.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_5merge.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/ps_6bdb.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/select.result.es:
        Updated results by hand
      mysql-test/r/select.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/select_found.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/show_check.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/strict.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/subselect.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/system_mysql_db.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/type_blob.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/type_ranges.result:
        Updated old result and new results for VARCHAR
      mysql-test/r/type_ranges.result.es:
        Updated some results by hand
      mysql-test/t/bdb.test:
        Test VARCHAR
      mysql-test/t/ctype_ucs.test:
        Some fixes related to VARCHAR
      mysql-test/t/endspace.test:
        Fixes to make it easier to compare columns with end space
      mysql-test/t/heap.test:
        Test VARCHAR
      mysql-test/t/innodb.test:
        Prepare for testing VARCHAR
      mysql-test/t/myisam.test:
        Test VARCHAR
      mysql-test/t/ps_1general.test:
        Don't show seconds for show processlist
      mysql-test/t/ps_4heap.test:
        Update for VARCHAR
      mysql-test/t/strict.test:
        Fix test for VARCHAR
      mysql-test/t/type_blob.test:
        Update test for VARCHAR
        Note that now you can't store 'a' and 'a ' in an unique varchar/text index if the column is not binary
      mysys/my_handler.c:
        Add support for VARCHAR
      ndb/src/common/util/NdbSqlUtil.cpp:
        Fix for usage of strnncollsp
      scripts/mysql_fix_privilege_tables.sh:
        Simple fix so that my_print_defaults works
      sql/Makefile.am:
        Remove ISAM
      sql/field.cc:
        Add support for VARCHAR
        Fixed the keys for blob's are compared with strnncollsp
        Ensure that old tables from MySQL 4.0 works as they did before.
        (Old VARCHAR will be converted to new VARCHAR on ALTER TABLE)
      sql/field.h:
        Add support for VARCHAR
      sql/field_conv.cc:
        Change FIELD_TYPE_VAR_STRING -> MYSQL_TYPE_VARCHAR
        Added usage of HA_KEY_BLOB_LENGTH
      sql/ha_berkeley.cc:
        Add support for VARCHAR
        Added usage of table->insert_or_update if we would ever want to know in key_cmp if we are changing keys
      sql/ha_heap.cc:
        Add support for VARCHAR
      sql/ha_innodb.cc:
        Changed MYSQL_TYPE_VAR_STRING to MYSQL_TYPE_VARCHAR.
        Waiting for Heikki to add full VARCHAR support
      sql/ha_innodb.h:
        InnoDB doesn't support full VARCHAR yet
      sql/ha_myisam.cc:
        Add support for VARCHAR
      sql/ha_ndbcluster.cc:
        Add support for VARCHAR
      sql/handler.h:
        Added HA_NO_VARCHAR for table handler that doesn't support VARCHAR. In this case MySQL will create a normal CHAR instead
      sql/item.cc:
        Fixed access of already freed memory
        Added support of VARCHAR
        - varchar length is now checked in mysql_prepare
      sql/item_cmpfunc.cc:
        Added new parameter to strncollsp
      sql/item_sum.cc:
        Added new parameter to strncollsp
        FIELD_TYPE -> MYSQL_TYPE
      sql/key.cc:
        Add support for VARCHAR
      sql/opt_range.cc:
        Remove character set parameter from set_key_image()
      sql/opt_sum.cc:
        Remove character set parameter from set_key_image()
      sql/protocol.cc:
        Return MYSQL_TYPE_VAR_STRING instead of MYSQL_TYPE_VARCHAR to clients (to not cause compatiblity problems)
      sql/sql_acl.cc:
        Change key handling code so that we can use CHAR or VARCHAR for the user table columns
      sql/sql_base.cc:
        Remove old, not used code
      sql/sql_help.cc:
        Remove charset from get_key_image
      sql/sql_parse.cc:
        Ensure that OPTION_TABLE_LOCK is cleared ASAP; This fixed a problem in BDB transaction code when one used LOCK TABLES on a BDB table
        Added support for VARCHAR
        Moved field length checking and VARCHAR -> TEXT convert to mysql_prepare (as we need the know the character set for the column)
      sql/sql_select.cc:
        Added support of VARCHAR
        Added heuristic to use fixed size rows for tmp tables if we are using only a few short VARCHAR's
      sql/sql_string.cc:
        Added extra argument to strnncollsp
      sql/sql_table.cc:
        Add support for VARCHAR
        Automaticly convert (with warning) big VARCHAR (but not CHAR) to TEXT
        If handler doesn't support VARCHAR convert VARCHAR to CHAR
      sql/sql_update.cc:
        Fixed compiler warning
      sql/sql_yacc.yy:
        Add support for VARCHAR
      sql/strfunc.cc:
        Fixed valgrind warning
      sql/structs.h:
        Added 'table' to KEY structure to make life easier for some handler functions
      sql/table.cc:
        Add support for VARCHAR
        - New .frm version
        - FIELD_TYPE -> MYSQL_TYPE
      sql/table.h:
        Added insert_or_update; A bool flag a handler can set/reset if needed (for handler internal usage)
      sql/unireg.h:
        Add support for VARCHAR
      strings/ctype-big5.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-bin.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-czech.c:
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-gbk.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-latin1.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-mb.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-simple.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-sjis.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-tis620.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-uca.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-ucs2.c:
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/ctype-utf8.c:
        Added new argument to strnncollsp() to allow one to define if end space are significant or not
      strings/ctype-win1250ch.c:
        Changed my_like_range... to correctly calculate min_length & max_length
      strings/decimal.c:
        Fixed include files usage
        Fixed some compiler warnings
      tests/client_test.c:
        Ensure tests works with VARCHAR
      a8ea31fa
  7. 17 Nov, 2004 1 commit
  8. 12 Nov, 2004 1 commit
  9. 23 Oct, 2004 1 commit
    • unknown's avatar
      Fixed wrong range test code for HEAP tables. This caused a crash when doing a... · 08c39dd2
      unknown authored
      Fixed wrong range test code for HEAP tables. This caused a crash when doing a range test with a key that didn't have lower or upper bound (Bug #6082)
      More test cases
      
      
      
      mysql-test/r/heap.result:
        Test for bug #6082 (delete with NOT NULL)
      mysql-test/r/key.result:
        More tests for BUG#6151 - myisam index corruption
      mysql-test/r/ps.result:
        Test of bug #6047 "Permission problem when executing mysql_stmt_execute with derived table"
      mysql-test/t/heap.test:
        Test for bug #6082 (delete with NOT NULL)
      mysql-test/t/key.test:
        More tests for BUG#6151 - myisam index corruption
      mysql-test/t/ps.test:
        Test of bug #6047 "Permission problem when executing mysql_stmt_execute with derived table"
      sql/ha_heap.cc:
        Fixed wrong range test code for HEAP tables. This caused a crash when doing a range test with a key that didn't have lower or upper bound
      08c39dd2
  10. 12 Oct, 2004 1 commit
    • unknown's avatar
      Fix for bug#5138 continued: added comments, removed extra debug printf calls,... · 612c83b8
      unknown authored
      Fix for bug#5138 continued: added comments, removed extra debug printf calls, changed ha_heap::records_in_range to use table->rec_per_key.
      
      
      heap/hp_block.c:
        Fix for bug#5138 continued: Added comments.
      heap/hp_delete.c:
        Fix for bug#5138 continued: Added comments.
      heap/hp_write.c:
        Fix for bug#5138 continued: Added comments, removed unneeded printf
      include/heap.h:
        Fix for bug#5138 continued: Added comments.
      mysql-test/r/heap_hash.result:
        Fix for bug#5138 continued: added FLUSH TABLES and rec_per_key estimates tests, updated test results
      mysql-test/t/heap_hash.test:
        Fix for bug#5138 continued: added FLUSH TABLES and rec_per_key estimates tests, updated test results
      sql/ha_heap.cc:
        Fix for bug#5138 continued: 
          fixed comments to be correct
          removed unneded printf
          use TABLE::rec_per_key for records_in_range statistics
      612c83b8
  11. 05 Oct, 2004 1 commit
  12. 01 Oct, 2004 1 commit
    • unknown's avatar
      Support for TIMESTAMP columns holding NULL values. Unlike all other · 7b511544
      unknown authored
      column types TIMESTAMP is NOT NULL by default, so in order to have 
      TIMESTAMP column holding NULL valaues you have to specify NULL as
      one of its attributes (this needed for backward compatibility).
      
      Main changes:
      Replaced TABLE::timestamp_default_now/on_update_now members with
      TABLE::timestamp_auto_set_type flag which is used everywhere
      for determining if we should auto-set value of TIMESTAMP field 
      during this operation or not. We are also use Field_timestamp::set_time()
      instead of handler::update_timestamp() in handlers.
      
      
      mysql-test/r/type_timestamp.result:
        Added test for TIMESTAMP columns which are able to store NULL values.
      mysql-test/t/type_timestamp.test:
        Added test for TIMESTAMP columns which are able to store NULL values.
      sql/field.cc:
        Added support for TIMESTAMP fields holding NULL values.
        We don't need Field_timestamp::set_timestamp_offsets() anymore.
        Instead we need Field_timestamp::get_auto_set_type() function
        which will convert TIMESTAMP auto-set type stored in Field in 
        unireg_check to value from timestamp_auto_set_type_enum.
        (We can't replace this function with additional Field_timestamp member
        and some code in constructor because then we will have troubles
        with Field::new_field() method).
        We should also set field to not null in Field_timestamp::set_time() now.
      sql/field.h:
        Added support for TIMESTAMP fields holding NULL values.
        We don't need Field_timestamp::set_timestamp_offsets() anymore.
        Instead we need Field_timestamp::get_auto_set_type() function,
        which will convert TIMESTAMP auto-set type stored in Field in 
        unireg_check to value from timestamp_auto_set_type_enum.
        We also have to support NULL values in Field_timestamp::get_timestamp()
        function.
      sql/field_conv.cc:
        Added comment clarifying behavior in case of TIMESTAMP fields which are
        able to store NULL values.
      sql/ha_berkeley.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_heap.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_innodb.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_isam.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_isammrg.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_myisam.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_myisammrg.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_ndbcluster.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/handler.cc:
        handler::update_timestamp() is no longer needed since now we use
        Field_timestamp::set_time() instead.
        (we can't use handler::update_timestamp() anyway since field position
        only is not enough for TIMESTAMP fields which are able to store NULLs)
      sql/handler.h:
        handler::update_timestamp() is no longer needed since now we use
        Field_timestamp::set_time() instead.
      sql/item_timefunc.cc:
        Since now TIMESTAMP fields can hold NULL values we should take this into
        account.
      sql/sql_base.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now. 
        (Here we use Field_timestamp::get_auto_set_type() to setup its value
         before further statement execution).
      sql/sql_insert.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_load.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_parse.cc:
        Added support for TIMESTAMP fields holding NULL values.
        We should distinguish NULL default values and non-specified default
        values for such fields (because latter could mean DEFAULT NOW()
        ON UPDATE NOW() in some cases).
      sql/sql_show.cc:
        Added support for TIMESTAMP fields holding NULL values.
        Unlike all other fields these are NOT NULL by default
        so we have to specify NULL attribute explicitly for them.
      sql/sql_table.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_update.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_yacc.yy:
        Added support for TIMESTAMP fields holding NULL values.
        Unlike all other fields these are NOT NULL by default
        (so we have to set NOT_NULL_FLAG properly for them).
      sql/table.h:
        Added timestamp_auto_set_type enum which values are used for indicating
        during which operations we should automatically set TIMESTAPM field
        value to current timestamp.
        TABLE: Replaced timestamp_default_now/on_update_now members with
        timestamp_auto_set_type flag (Now when TIMESTAMP field are able to 
        store NULL values, single position of field in record is not enough 
        for updating this field anyway).
      7b511544
  13. 15 Sep, 2004 1 commit
    • unknown's avatar
      Added options --auto-increment-increment and --auto-increment-offset. · ffc0d185
      unknown authored
      This allows one to setup a master <-> master replication with non conflicting auto-increment series.
      Cleaned up binary log code to make it easyer to add new state variables.
      Added simpler 'upper level' logic for artificial events (events that should not cause cleanups on slave).
      Simplified binary log handling.
      Changed how auto_increment works together with to SET INSERT_ID=# to make it more predictable: Now the inserted rows in a multi-row statement are set independent of the existing rows in the table. (Before only InnoDB did this correctly)
      
      
      
      
      mysql-test/r/mix_innodb_myisam_binlog.result:
        Disable End_log_pos column from 'show binlog events' as this is now different from before
      mysql-test/t/mix_innodb_myisam_binlog.test:
        Disable End_log_pos column from 'show binlog events' as this is now different from before
      sql/ha_berkeley.cc:
        Changed prototype for get_auto_increment()
      sql/ha_berkeley.h:
        Changed prototype for get_auto_increment()
      sql/ha_heap.cc:
        Changed prototype for get_auto_increment()
      sql/ha_heap.h:
        Changed prototype for get_auto_increment()
      sql/ha_innodb.cc:
        Change how auto-increment is calculated.
        Now the auto-increment logic is done in 'update_auto_increment()' to ensure that all handlers has the same auto-increment usage
      sql/ha_innodb.h:
        Changed prototype for get_auto_increment()
      sql/ha_myisam.cc:
        Changed prototype for get_auto_increment()
      sql/ha_myisam.h:
        Changed prototype for get_auto_increment()
      sql/ha_ndbcluster.cc:
        Changed prototype for get_auto_increment()
      sql/ha_ndbcluster.h:
        Changed prototype for get_auto_increment()
      sql/handler.cc:
        Remove some usage of current_thd
        Changed how auto_increment works with SET INSERT_ID to make it more predictable
        (Now we should generate same auto-increment serie on a slave, even if the table has rows that was not on the master.
        Use auto_increment_increment and auto_increment_offset
      sql/handler.h:
        Changed prototype for get_auto_increment()
      sql/log.cc:
        Remove usage of 'set_log_pos()' to make code simpler. (Now log_pos is set in write_header())
        Use 'data_written' instead of 'get_event_len()' to calculate how much data was written in the log
      sql/log_event.cc:
        Simple optimizations.
        Remove cached_event_len (not used variable)
        Made comments fit into 79 chars
        Removed Log_event::set_log_pos(). Now we calculate log_pos in write_header().
        Renamed write_data() to write() as the original write() function was not needed anymore.
        Call writing of event header from event::write() functions. This made it easier to calculate the length of an event.
        Simplified 'write_header' and remove 'switches' from it.
        Changed all write() functions to return 'bool'. (The previous return values where not consistent)
        Store auto_increment_increment and auto_increment_offset in binary log
        Simplified how Query_log_event's where written and read. Now it's much easier to add now status variables for a query event to the binary log.
        Removed some old MySQL 4.x code to make it easier to grep for functions used in 5.0
      sql/log_event.h:
        Changed return type of write() functions to bool. (Before we returned -1 or 1 for errors)
        write_data() -> write()
        Added 'data_written' member to make it easier to get length of written event.
        Removed 'cached_event_len' and 'get_event_len()'
        Added usage of auto_increment_increment and auto_increment_offset
        Added 'artifical_event' to Start_log_event_v3, to hide logic that we in the binary log use log_pos=0 as a flag for an artifical event.
      sql/mysqld.cc:
        Added options --auto-increment-increment and --auto-increment-offset
      sql/set_var.cc:
        Added variables auto_increment_increment and auto_increment_offset
      sql/slave.cc:
        Changed errors -> warnings & information (in error log)
      sql/sql_class.cc:
        Added THD::cleanup_after_query(). This makes some code simpler and allows us to clean up 'next_insert_id' after query
      sql/sql_class.h:
        Added new auto_increment_xxx variables
        Moved some functions/variables in THD class
      sql/sql_help.cc:
        Removed compiler warning
      sql/sql_insert.cc:
        Call 'restore_auto_increment()' if row was not inserted.
        This makes it easier for handler to reuse the last generated auto-incrment value that was not used (for example in case of duplicate key)
      sql/sql_parse.cc:
        Use cleanup_after_query()
      sql/sql_prepare.cc:
        Use cleanup_after_query()
      sql/sql_table.cc:
        R
      ffc0d185
  14. 13 Sep, 2004 1 commit
  15. 07 Sep, 2004 1 commit
    • unknown's avatar
      Fix for bug#5138: hash indexes on heap tables support statistics. · 99e1b817
      unknown authored
       KEY::rec_per_key is updated every time 1/HEAP_STATS_UPDATE_THRESHOLD part of table records has been changed.
      
      
      heap/_check.c:
        Hash indexes on heap tables now support statistics - number of hash buckets. The value is updated on any insert/delete operation.
      heap/hp_clear.c:
        Hash indexes on heap tables now support statistics - number of hash buckets. The value is updated on any insert/delete operation.
      heap/hp_create.c:
        Hash indexes on heap tables now support statistics - number of hash buckets. The value is updated on any insert/delete operation.
      heap/hp_delete.c:
        Hash indexes on heap tables now support statistics - number of hash buckets. The value is updated on any insert/delete operation.
      heap/hp_hash.c:
        Hash indexes on heap tables now support statistics - number of hash buckets. The value is updated on any insert/delete operation.
      heap/hp_write.c:
        Hash indexes on heap tables now support statistics - number of hash buckets. The value is updated on any insert/delete operation.
      include/heap.h:
        Hash indexes on heap tables now support statistics - number of hash buckets. The value is updated on any insert/delete operation.
      mysql-test/r/heap.result:
        Fix for bug#5138: store/use statistics for hash indexes on heap tables
      mysql-test/r/heap_hash.result:
        Fix for bug#5138: store/use statistics for hash indexes on heap tables
      mysql-test/r/myisam.result:
        Fix for bug#5138: store/use statistics for hash indexes on heap tables
      mysql-test/t/heap_hash.test:
        Fix for bug#5138: store/use statistics for hash indexes on heap tables
      sql/structs.h:
        Added comments
      99e1b817
  16. 19 Aug, 2004 1 commit
  17. 11 Aug, 2004 1 commit
  18. 23 Jun, 2004 1 commit
    • unknown's avatar
      handler interface cleanups: · 9a554b47
      unknown authored
        more logical table/index_flags
        return  HA_ERR_WRONG_COMMAND instead of abstract methods where appropriate
        max_keys and other limits renamed to max_supported_keys/etc
        max_keys/etc are now wrappers to max_supported_keys/etc 
        ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to real {index,rnd}_{init,end} to enforce strict pairing
      
      
      include/myisam.h:
        increasing myisam_max_temp_file_length
      include/my_base.h:
        handler interface cleanup
      myisam/mi_static.c:
        warning removed
      mysql-test/Makefile.am:
        followup
      mysql-test/r/fulltext.result:
        fulltext indexes are not ordered
      mysql-test/r/rpl_user_variables.result:
        followup
      sql/field.cc:
        index_flags
      sql/filesort.cc:
        rnd_init -> ha_rnd_init
        rnd_end -> ha_rnd_end
      sql/ha_berkeley.cc:
        cleanup
      sql/ha_berkeley.h:
        table/index_flags revamped
      sql/ha_heap.cc:
        ensure index is accessed only after index_init (esp. important for temp tables)
      sql/ha_heap.h:
        table/index_flags revamped
      sql/ha_innodb.cc:
        don't workaround MySQL sloppiness
      sql/ha_innodb.h:
        table/index_flags revamped
      sql/ha_isam.h:
        table/index_flags revamped
      sql/ha_isammrg.h:
        table/index_flags revamped
      sql/ha_myisam.cc:
        ensure index is accessed only after index_init (esp. important for temp tables)
      sql/ha_myisam.h:
        table/index_flags revamped
      sql/ha_myisammrg.h:
        table/index_flags revamped
      sql/handler.cc:
        handler interface cleanups
      sql/handler.h:
        handler interface cleanups:
          more logical table/index_flags
          return  HA_ERR_WRONG_COMMAND instead of abstract methods
          max_keys and other limits renamed to max_supported_keys/etc
          max_keys/etc are now wrappers to max_supported_keys/etc 
          ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to enforce strict pairing
      sql/item_subselect.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/lex.h:
        renamed to avoid conflicts
      sql/opt_range.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/opt_range.h:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/opt_sum.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/records.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_acl.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_cache.cc:
        cleanup
      sql/sql_delete.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_handler.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_help.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_insert.cc:
        table/index_flags cleanup
      sql/sql_select.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/sql_table.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/sql_update.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_yacc.yy:
        INDEX -> INDEX_SYM
      sql/table.cc:
        table/index_flags cleanup
      9a554b47
  19. 17 May, 2004 1 commit
  20. 16 May, 2004 1 commit
    • unknown's avatar
      key_cmp -> key_cmp_if_same · 70f79563
      unknown authored
      New records_in_range() interface (similar to read_range())
      Macros for faster bitmap handling
      Simplify read_range() code (#WL1786)
      New general key_cmp() function to compare keys
      
      
      
      
      heap/hp_hash.c:
        New records_in_range() interface
      include/heap.h:
        New records_in_range() interface
      include/my_base.h:
        Moved 'key_range' here so that all table handlers can use it
      include/my_bitmap.h:
        Make some bitmap functions inline for faster usage in one thread
      include/myisam.h:
        New records_in_range() interface
      include/myisammrg.h:
        New records_in_range() interface
      myisam/mi_range.c:
        New records_in_range() interface
      myisam/mi_test2.c:
        New records_in_range() interface
      myisam/rt_test.c:
        New records_in_range() interface
        Indentation fixes
      myisam/sp_test.c:
        New records_in_range() interface
        Indentation fixes
      myisammrg/myrg_range.c:
        New records_in_range() interface
      mysys/my_bitmap.c:
        Make some bitmap functions inline for faster usage in one thread
      sql/examples/ha_example.cc:
        New records_in_range() interface
      sql/field.cc:
        Fixed indentation
      sql/ha_berkeley.cc:
        New records_in_range() interface
      sql/ha_berkeley.h:
        New records_in_range() interface
      sql/ha_heap.cc:
        New records_in_range() interface
      sql/ha_heap.h:
        New records_in_range() interface
      sql/ha_innodb.cc:
        New records_in_range() interface
      sql/ha_innodb.h:
        New records_in_range() interface
      sql/ha_isam.cc:
        New records_in_range() interface
      sql/ha_isam.h:
        New records_in_range() interface
      sql/ha_myisam.cc:
        New records_in_range() interface
      sql/ha_myisam.h:
        New records_in_range() interface
      sql/ha_myisammrg.cc:
        New records_in_range() interface
      sql/ha_myisammrg.h:
        New records_in_range() interface
      sql/ha_ndbcluster.cc:
        New records_in_range() interface
      sql/ha_ndbcluster.h:
        New records_in_range() interface
      sql/handler.cc:
        Simplify read_range() interface:
        - Add 'eq_range' to read_range_first
        - Remove 'eq_range' parameer from read_range_next()
        - Trust values from index_next_same()
        - Simplfy compare_key() by moving key_comparision to key.cc (as this code can be reused from other places)
      sql/handler.h:
        Move key_range to my_base.h to be used by external table handlers
        Simplify read_range() interface
        New records_in_range() interface
      sql/key.cc:
        Rename key_cmp() to key_cmp_if_same() to make it more descriptive
        Add new key_cmp() function usable from range and handler code.
      sql/mysql_priv.h:
        Prototypes for new functions
      sql/opt_range.cc:
        New records_in_range() interface
        Simplify cmp_prev()
        (We can in 5.0 simplify cmp_next() the same way)
      sql/opt_range.h:
        Added key_part_info to QUICK_SELECT to be able to use key_cmp() in get_next()
      sql/opt_sum.cc:
        key_cmp -> key_cmp_if_same
      sql/sql_acl.cc:
        key_cmp -> key_cmp_if_same
      sql/sql_select.cc:
        key_cmp -> key_cmp_if_same
      70f79563
  21. 06 May, 2004 1 commit
    • unknown's avatar
      WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again). · bfe2425a
      unknown authored
      HEAP: Copies the key count to a backup variable and sets the key count to zero.
      That way, no HEAP function will ever try to touch any index.
      Re-enabling is done by copying back the backup variable.
      To avoid memory leak at table close, disable deletes all index trees.
      Re-enabling must be done with empty indexes and data anyway. Otherwise,
      the indexes would need to be repaired, wich HEAP is not capable of.
      MyISAM: Only the key_map is cleared and set.
      Re-enabling must be done with empty indexes and data. Otherwise, repair needs
      to be done which will enable all keys persistently.
      The former implementation disabled only non-unique keys and maked this persistent.
      The new implementation additionally can disable all keys, but only without
      making this persistent. Re-enabling all keys can be done without repair,
      if data file and indexes are empty.
      
      
      heap/heapdef.h:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Pulled hp_clear_keys() out of hp_clear().
      heap/hp_clear.c:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Pulled hp_clear_keys() out of hp_clear().
        Added the new functions for disabling and enabling keys and to ask for the key state.
      include/heap.h:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Added a new HP_SHARE element to save the key count while keys are disabled.
        Added declarations for the new functions.
      myisam/mi_open.c:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Added the new functions for disabling and enabling keys and to ask for the key state.
      myisam/myisamdef.h:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Added declarations for the new functions.
      sql/ha_heap.cc:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Pulled set_keys_for_scanning() out of open().
        Added the new functions for disabling and enabling keys and to ask for the key state.
      sql/ha_heap.h:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Added declarations for the new functions.
      sql/ha_myisam.cc:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Extended disable_indexes() for all keys and no save.
        The argument is now 'mode' as it must handle different cases.
        Extended enable_indexes() for no save.
        The new feature needs the new argument 'mode' with the same semantics as in disable_indexes().
        Added indexes_are_disabled() to ask for the key state.
        Extended the existing call to enable_indexes() by the new argument.
      sql/ha_myisam.h:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Modified the declarations of dis-/enable_indexes() for the new argument.
        Added the declaration of the new function to ask for the key state.
      sql/handler.h:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Added declarations for the operation modes for the key switching functions.
        Modified the declarations of dis-/enable_indexes() for the new argument.
        Added the declaration of the new function to ask for the key state.
      sql/sql_select.cc:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        In create_myisam_from_heap() take notice of disabled keys
        and disable them in the new table before copying the data.
      sql/sql_table.cc:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Modified the calls of dis-/enable_indexes() for the new argument.
      bfe2425a
  22. 06 Apr, 2004 1 commit
    • unknown's avatar
      ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(),... · c6270543
      unknown authored
      ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      Field::val_str simplification, comment
      
      
      include/my_base.h:
        typos fixed
      mysql-test/r/myisam.result:
        alter table enable/disable keys
      mysql-test/t/help.test:
        cleanup
      mysql-test/t/myisam.test:
        alter table enable/disable keys
      sql/field.cc:
        Field::val_str() simplification
      sql/field.h:
        Field::val_str() simplification and comment
      sql/field_conv.cc:
        Field::val_str() simplification
      sql/ha_berkeley.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_berkeley.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_heap.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_heap.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_innodb.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_innodb.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isam.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isam.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isammrg.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_isammrg.h:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_myisam.cc:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/ha_myisam.h:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/ha_myisammrg.cc:
        ::reset(), HA_FAST_KEY_READ
      sql/ha_myisammrg.h:
        ::reset(), HA_FAST_KEY_READ
      sql/handler.h:
        ::reset(), HA_FAST_KEY_READ, disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/item.cc:
        Field::val_str() simplification
      sql/item_sum.cc:
        Field::val_str() simplification
      sql/key.cc:
        Field::val_str() simplification
      sql/opt_range.cc:
        Field::val_str() simplification
      sql/protocol.cc:
        Field::val_str() simplification
      sql/records.cc:
        HA_FAST_KEY_READ
      sql/sql_acl.cc:
        Field::val_str() simplification
      sql/sql_base.cc:
        ::reset
      sql/sql_insert.cc:
        ::reset(), start_bulk_insert(), end_bulk_insert()
      sql/sql_load.cc:
        start_bulk_insert(), end_bulk_insert()
      sql/sql_show.cc:
        Field::val_str() simplification
      sql/sql_table.cc:
        disable_indexes(), enable_indexes(), start_bulk_insert(), end_bulk_insert()
      sql/table.cc:
        Field::val_str() simplification
      c6270543
  23. 02 Apr, 2004 1 commit
    • unknown's avatar
      WL#1266 "Separate auto-set logic from TIMESTAMP type." · 32b28f92
      unknown authored
      Final version of patch.
      
      Adds support for specifying of DEFAULT NOW() and/or ON UPDATE NOW()
      clauses for TIMESTAMP field definition.
      Current implementation allows only one such field per table and
      uses several unireg types for storing info about this properties of
      field. It should be replaced with better implementation when new
      .frm format is introduced.
      
      
      include/mysqld_error.h:
        Added error codes for case when we have more than one column with NOW()
        in DEFAULT or ON UPDATE clauses and for case when we are using ON UPDATE
        clause with wrong type.
      mysql-test/r/create.result:
        Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
        non-TIMESTAMP fields.
      mysql-test/r/show_check.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW CREATE TABLE.
      mysql-test/r/system_mysql_db.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW CREATE TABLE.
      mysql-test/r/type_ranges.result:
        Updated test results to reflect new default look of TIMESTAMP fields
        in SHOW COLUMNS.
      mysql-test/r/type_timestamp.result:
        Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
        fields definitions.
      mysql-test/t/create.test:
        Added tests for using of DEFAULT NOW() and ON UPDATE NOW() with
        non-TIMESTAMP fields.
      mysql-test/t/type_timestamp.test:
        Added tests for various DEFAULT and ON UPDATE clauses for TIMESTAMP
        fields definitions.
      sql/field.cc:
        Added support for various combinations of DEFAULT and ON UPDATE clauses
        for TIMESTAMP field. 
        
        Setting TABLE::timestamp* members for TIMESTAMP fields with auto-set 
        option taking into account their unireg type (which corresponds to 
        various DEFAULT/ON UPDATE values combinations). Replaced 
        TABLE::time_stamp with TABLE::timestamp_default_now/on_update_now
        couple moved their setup to separate method set_timestamp_offsets(),
        which now is called from  open_table instead of Field_timestamp cons.
      sql/field.h:
        Added more unireg types for handling of DEFAULT NOW() and ON UPDATE
        NOW() for TIMESTAMP fields.
        Fixed value corresponding to DEFAULT item for TIMESTAMP field.
      sql/ha_berkeley.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_heap.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_innodb.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_isam.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_isammrg.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_myisam.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/ha_myisammrg.cc:
        Now TIMESTAMP column with auto-set property could be updated during
        INSERT or/and UPDATE independently.
      sql/item_func.h:
        We need to distinguish NOW() from other function for using in 
        DEFAULT and in ON UPDATE clauses.
      sql/item_timefunc.h:
        We need to distinguish NOW() from other function for using in 
        DEFAULT and in ON UPDATE clauses.
      sql/mysql_priv.h:
        Added parameter for ON UPDATE value to add_field_to_list() function.
      sql/share/czech/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/danish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/dutch/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/english/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/estonian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/french/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/german/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/greek/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/hungarian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/italian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/japanese/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/korean/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/norwegian-ny/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/norwegian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/polish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/portuguese/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/romanian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/russian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/serbian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/slovak/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/spanish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/swedish/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/share/ukrainian/errmsg.txt:
        Added error messages for case when we have more than one column with
        NOW() (CURRENT_TIMESTAMP is just more standard alias) in DEFAULT or 
        ON UPDATE clauses and for case when we are using ON UPDATE clause with
        wrong type.
      sql/sql_base.cc:
        Added setup of TABLE::timestamp_default_now/on_update_now pair
        for each statement to open_table().
      sql/sql_insert.cc:
        Using TABLE::timestamp_default_now/on_update_now pair instead of
        old TABLE::time_stamp. Added check for case then REPLACE could not
        be converted to UPDATE because of different DEFAULT/ON UPDATE values
        for TIMESTAMP field.
      sql/sql_lex.h:
        Added member for value used in ON UPDATE clause to st_lex.
      sql/sql_load.cc:
        Using TABLE::timestamp_default_now/on_update_now pair instead of
        old TABLE::time_stamp. We don't need to restore these members
        since they are set up for each statement in open_table().
      sql/sql_parse.cc:
        Added handling of DEFAULT NOW() and ON UPDATE NOW() clauses for
        TIMESTAMP fields to add_field_to_list() function.
      sql/sql_show.cc:
        Added support for DEFAULT CURRENT_TIMESTAMP (aka NOW() ) and 
        ON UPDATE CURRENT_TIMESTAMP to SHOW CREATE TABLE and SHOW COLUMNS.
      sql/sql_table.cc:
        mysql_create_table() function - added check for number of TIMESTAMP 
          fields with auto-set values and replacing of old style TIMESTAMPs
          with their newer analogs.
        mysql_alter_table(): Using TABLE::timestamp_default_now/on_update_now 
          pair instead of old TABLE::time_stamp. We don't need to restore these
          members since they are set up for each statement in open_table().
      sql/sql_update.cc:
        Left only setting of TABLE::timestamp_default_now/on_update_now
        to 0 since they should be already set up in open_table().
      sql/sql_yacc.yy:
        Added support for DEFAULT NOW() and ON UPDATE NOW() in field
        definitions.
      sql/table.h:
        Replaced TABLE::time_stamp withTABLE::timestamp_default_now/timestamp_on_update_now
        pair which allows to distinguish TIMESTAMP's with various DEFAULT/ON UPDATE
        clauses and optimize checks if TIMESTAMP field should be set to NOW()
        in handlers.
      sql/unireg.cc:
        Now we are marking only TIMESTAMP fields with NOW() as default or
        as on update value as special field for unireg.
      32b28f92
  24. 25 Mar, 2004 1 commit
    • unknown's avatar
      BTREE-indexes in HEAP tables can now be used to optimize ORDER BY · 3c46af6c
      unknown authored
      Don't read character set files if we are using only the default charset. In most cases the user will not anymore get a warning about missing character set files
      Compare strings with space extend instead of space strip. Now the following comparisons holds:  "a" == "a " and "a\t" < "a". (Bug #3152).
      Note: Because of the above fix, one has to do a REPAIR on any table that has an ascii character < 32 last in a CHAR/VARCHAR/TEXT columns.
      
      
      heap/hp_hash.c:
        Comments and DBUG information
      include/my_handler.h:
        Updated prototype for mi_compare_text
      myisam/ft_boolean_search.c:
        Updated calls to mi_compare_text
      myisam/ft_nlq_search.c:
        Updated calls to mi_compare_text
      myisam/ft_parser.c:
        Updated calls to mi_compare_text
      myisam/ft_stopwords.c:
        Updated calls to mi_compare_text
      myisam/ft_update.c:
        Updated calls to mi_compare_text
      myisam/mi_check.c:
        Updated calls to mi_compare_text
      myisam/mi_search.c:
        Changed all string comparisons that removed end space to instead extend the shorter string with space
      myisam/mi_unique.c:
        Updated calls to mi_compare_text
      myisam/mi_write.c:
        Updated calls to mi_compare_text
      myisam/myisam_ftdump.c:
        Removed compiler warning
      mysql-test/r/ctype_collate.result:
        Fixed wrong result
      mysql-test/r/heap_btree.result:
        More tests
      mysql-test/t/heap_btree.test:
        more tests
      mysys/charset.c:
        Don't read charsets if we are only using default charset
        Don't require 'init_available_charsets' to succeed.
      mysys/my_handler.c:
        Compare strings with space extend instead of space strip
      mysys/tree.c:
        Fixed code to get better results for range optimzier
      sql/field.cc:
        Compare strings with space extend instead of space strip
      sql/filesort.cc:
        Compare strings with space extend instead of space strip
      sql/ha_heap.cc:
        Created bit map for keys that are using BTREE. This allows the optimzer to use BTREE's for sorting
      sql/ha_heap.h:
        Created bit map for keys that are using BTREE. This allows the optimzer to use BTREE's for sorting
      strings/ctype-big5.c:
        Compare strings with space extend instead of space strip
      strings/ctype-czech.c:
        Indentation cleanup. Should be fixed to use space extend
      strings/ctype-gbk.c:
        Compare strings with space extend instead of space strip
      strings/ctype-latin1.c:
        Compare strings with space extend instead of space strip
        Added missing my_hash_sort_latin1_de function
      strings/ctype-mb.c:
        For binary strings, don't remove end space when comparing
      strings/ctype-simple.c:
        Compare strings with space extend instead of space strip
      strings/ctype-sjis.c:
        Compare strings with space extend instead of space strip
      strings/ctype-tis620.c:
        Added comments that we should fix end space handling
      strings/ctype-ucs2.c:
        indentation fixes
      strings/ctype-utf8.c:
        Added comments that we should fix end space handling
      strings/ctype-win1250ch.c:
        Added comments that we should fix end space handling
      3c46af6c
  25. 16 Feb, 2004 1 commit
    • unknown's avatar
      After merge fixes · a07e48ec
      unknown authored
      Added more DBUG statements
      Ensure that we are comparing end space with BINARY strings
      Use 'any_db' instead of '' to mean any database. (For HANDLER command)
      Only strip ' ' when comparing CHAR, not other space-like characters (like \t)
      
      
      BitKeeper/deleted/.del-ctype_tis620.result-old~3578ceb0b8284685:
        Delete: mysql-test/r/ctype_tis620.result-old
      BitKeeper/deleted/.del-ctype_tis620.test-old~ffb1bbd2935d1aba:
        Delete: mysql-test/t/ctype_tis620.test-old
      client/mysqlbinlog.cc:
        Added DBUG statements
        Added call of my_end() to free all used memory on exit
      heap/hp_info.c:
        After merge fixes
      heap/hp_open.c:
        After merge fixes
      include/heap.h:
        After merge fixes
      include/m_ctype.h:
        Use pchar instead of 'int' for character parameters.
        Added 'my_binary_compare()'
      include/m_string.h:
        Fixed wrong define
      innobase/ibuf/ibuf0ibuf.c:
        After merge fixes
      innobase/srv/srv0start.c:
        After merge fixes
      mysql-test/r/alter_table.result:
        Fixed results after merge
      mysql-test/r/auto_increment.result:
        Fixed results after merge
      mysql-test/r/bdb.result:
        Fixed results after merge
      mysql-test/r/binary.result:
        Fixed results after merge
      mysql-test/r/create.result:
        Fixed results after merge
      mysql-test/r/ctype_mb.result:
        Fixed results after merge
      mysql-test/r/ctype_tis620.result:
        Fixed results after merge
      mysql-test/r/ctype_utf8.result:
        Fixed results after merge
      mysql-test/r/delete.result:
        Fixed results after merge
      mysql-test/r/func_compress.result:
        Fixed results after merge
      mysql-test/r/func_gconcat.result:
        Fixed results after merge
      mysql-test/r/func_group.result:
        Fixed results after merge
      mysql-test/r/func_str.result:
        Fixed results after merge
      mysql-test/r/innodb.result:
        Fixed results after merge
      mysql-test/r/insert.result:
        Fixed results after merge
      mysql-test/r/insert_select.result:
        Fixed results after merge
      mysql-test/r/key.result:
        Fixed results after merge
      mysql-test/r/loaddata.result:
        Fixed results after merge
      mysql-test/r/lock.result:
        Fixed results after merge
      mysql-test/r/myisam.result:
        Fixed results after merge
      mysql-test/r/null.result:
        Fixed results after merge
      mysql-test/r/null_key.result:
        Fixed results after merge
      mysql-test/r/order_by.result:
        Fixed results after merge
      mysql-test/r/query_cache.result:
        Fixed results after merge
      mysql-test/r/range.result:
        Fixed results after merge
      mysql-test/r/rpl_multi_delete.result:
        Fixed results after merge
      mysql-test/r/rpl_until.result:
        Fixed results after merge
      mysql-test/r/subselect.result:
        Fixed results after merge
      mysql-test/r/subselect_innodb.result:
        Fixed results after merge
      mysql-test/r/type_blob.result:
        Fixed results after merge
      mysql-test/r/type_datetime.result:
        Fixed results after merge
      mysql-test/r/type_decimal.result:
        Fixed results after merge
      mysql-test/r/type_enum.result:
        Fixed results after merge
      mysql-test/r/type_float.result:
        Fixed results after merge
      mysql-test/r/type_ranges.result:
        Fixed results after merge
      mysql-test/r/type_time.result:
        Fixed results after merge
      mysql-test/r/type_timestamp.result:
        Fixed results after merge
      mysql-test/r/type_uint.result:
        Fixed results after merge
      mysql-test/r/type_year.result:
        Fixed results after merge
      mysql-test/r/variables.result:
        Fixed results after merge
      mysql-test/r/warnings.result:
        Fixed results after merge
      mysql-test/t/case.test:
        Fixed shifted error messages
      mysql-test/t/create.test:
        Fixed shifted error messages
      mysql-test/t/ctype_collate.test:
        Fixed shifted error messages
      mysql-test/t/ctype_tis620.test:
        Merge with 4.0 ctype_tis620 test
      mysql-test/t/delete.test:
        Fixed shifted error messages
      mysql-test/t/derived.test:
        Fixed shifted error messages
      mysql-test/t/fulltext.test:
        Fixed shifted error messages
      mysql-test/t/func_in.test:
        Fixed shifted error messages
      mysql-test/t/func_str.test:
        Fixed shifted error messages
      mysql-test/t/func_test.test:
        Fixed shifted error messages
      mysql-test/t/grant.test:
        Fixed shifted error messages
      mysql-test/t/innodb.test:
        Change to 4.1 syntax
      mysql-test/t/key_cache.test:
        Fixed shifted error messages
      mysql-test/t/myisam.test:
        New test of blob and end space
      mysql-test/t/row.test:
        Fixed shifted error messages
      mysql-test/t/rpl_until.test:
        Fixed shifted error messages
      mysql-test/t/subselect.test:
        Fixed shifted error messages
      mysql-test/t/subselect_innodb.test:
        Fix test to take into account foreign key constraints
      mysql-test/t/union.test:
        Fixed shifted error messages
      mysql-test/t/user_var.test:
        Fixed shifted error messages
      mysql-test/t/variables.test:
        Fixed shifted error messages
      mysys/my_handler.c:
        Merge with 4.0 code
      sql/ha_heap.cc:
        After merge fixes
      sql/handler.cc:
        After merge fixes
      sql/item.cc:
        After merge fixes
      sql/item_cmpfunc.cc:
        Ensure that we are comparing end space with BINARY strings
      sql/item_cmpfunc.h:
        Ensure that we are comparing end space with BINARY strings
      sql/log_event.cc:
        More DBUG statements
        Ensure that we use all options to LOAD DATA in replication
      sql/opt_range.cc:
        After merge fixes
      sql/sql_db.cc:
        After merge fixes
      sql/sql_handler.cc:
        After merge fixes
        Use 'any_db' instead of '' to mean 'no database comparison'
      sql/sql_parse.cc:
        After merge fixes
      sql/sql_select.cc:
        After merge fixes
        Added function comment for setup_group()
      sql/sql_string.cc:
        Added stringcmp() for binary comparison.
        Added function comments for sortcmp() and stringcmp()
      sql/sql_string.h:
        Added stringcmp()
      sql/sql_table.cc:
        After merge fixes
      sql/sql_update.cc:
        After merge fixes
      sql/sql_yacc.yy:
        Use 'any_db' instead of '' to mean any database. Using "" causes a 'wrong db name' error.
      strings/ctype-big5.c:
        Strip only end space, not other space characters.
      strings/ctype-bin.c:
        Removed some not needed functions.
        Added function comments
        Don't remove end space in comparisons
        Change my_wildcmp_bin() to be 'identical' with other similar code
      strings/ctype-czech.c:
        Strip only end space, not other space characters.
      strings/ctype-gbk.c:
        Strip only end space, not other space characters.
      strings/ctype-latin1.c:
        Strip only end space, not other space characters.
      strings/ctype-mb.c:
        Strip only end space, not other space characters.
      strings/ctype-simple.c:
        Strip only end space, not other space characters.
      strings/ctype-sjis.c:
        Strip only end space, not other space characters.
      strings/ctype-tis620.c:
        Added usage of my_instr_simple. This needs to be cleaned up!
      strings/ctype-utf8.c:
        Strip only end space, not other space characters.
      strings/ctype-win1250ch.c:
        Strip only end space, not other space characters.
        Fixed indentation
      strings/strto.c:
        Code cleanup
      a07e48ec
  26. 09 Feb, 2004 1 commit
    • unknown's avatar
      Added --compact to mysqlbinlog · 35b1f544
      unknown authored
      Fixed output from mysqlbinlog when using --skip-comments
      Fixed warnings from valgrind
      Fixed ref_length when used with HEAP tables
      More efficent need_conversion()
      Fixed error handling in UPDATE with not updateable tables
      Fixed bug in null handling in CAST to signed/unsigned
      
      
      
      client/client_priv.h:
        cleanup & added OPT_COMPACT
      client/mysqldump.c:
        Added option --compact to get a compact readable dump.
        Ensure that SET CHARACTER_SET_CLIENT is not done if we have not remembered the old character set
        Print optimization comments even if --skip-comments are given as these are not true comments. (Before these where only printed at end, which was a bug)
      mysql-test/r/cast.result:
        More cast tests
      mysql-test/r/derived.result:
        Removed warnings
      mysql-test/r/mysqldump.result:
        Update results after fixing mysqlbinlog
      mysql-test/r/query_cache.result:
        Make test usable with --extern
        more tests
      mysql-test/r/rpl_until.result:
        Make test repeatable under valgrind
      mysql-test/r/sql_mode.result:
        Fix test result
      mysql-test/r/subselect.result:
        Make test smaller. Update wrong results
      mysql-test/t/cast.test:
        More cast tests
      mysql-test/t/derived.test:
        Removed warnings
      mysql-test/t/query_cache.test:
        Make test usable with --extern
        more tests
      mysql-test/t/rpl_until.test:
        fix for valgrind.  Becasue of unknown reason one got 'Slave_SQL_Running=yes' in this setup
      mysql-test/t/subselect.test:
        Make test case smaller
      sql/field.cc:
        Updated need_conversion() to use new arguments
      sql/ha_heap.cc:
        Moved initialization of ref_length to right place. This fixed problem that we had a ref_length of 8 for heap tables, which was not efficent.
      sql/item_func.cc:
        Cleanup
      sql/item_func.h:
        Fixed bug in null_handling for cast to signed/unsigned
      sql/item_strfunc.cc:
        Optimized/cleaned up Item_func_conv_charset3
      sql/item_sum.cc:
        Cleanup.
        Ensure that some flag variables are cleared in cleanup()
      sql/item_sum.h:
        Fixed references to uninitialized memory
      sql/opt_range.cc:
        Fixed spelling error
      sql/sql_class.cc:
        Fixed wrong return code, which could case protocol problems
      sql/sql_class.h:
        After merge fix
      sql/sql_prepare.cc:
        Added comments
      sql/sql_show.cc:
        Cleanup
      sql/sql_string.cc:
        Optimzed usage of need_conversion().
        - Removed not used argument
        - Save diff lenght in 'offset' to not have to recalculate length several times.
        Cleaned up comment
        Optimized copy_aligned() based on the knowledge that it's only called when you have wrong data
      sql/sql_string.h:
        Updated need_conversion() and copy_aligned() to use new arguments
      sql/sql_update.cc:
        Fixed error handling with non-updateable tables
      sql/sql_yacc.yy:
        Ensure that lex->lock_options are set correctly (to get rid of warnings from valgrind)
        Ensure that cast_type sets lex->charset and lex->length. Without these CONVERT() didn't work properly
      35b1f544
  27. 29 Jan, 2004 1 commit
    • unknown's avatar
      Fix for BUG#2477 "Slave stop with error after master reboot if use HEAP tables": · bbd2adf4
      unknown authored
      when we open the HEAP table for the first time since server restart,
      in hp_open(), we set a flag to propagate this info to the handler level
      which then writes a DELETE FROM this_heap_table to the binlog.
      It is not a perfect solution for the bug, because between the server start and 
      the first open of the table, the slave still had old data in his table so
      a SELECT on the slave may show wrong content. But if there is a --init-file
      to populate the HEAP table on master as startup, then this is a safe fix
      (I'll put a note about init-file in the HEAP section of the manual).
      
      
      heap/hp_info.c:
        new info variable implicit_emptied
      heap/hp_open.c:
        If this is the first open of the HEAP table, it means it is empty,
        so we mark it.
      include/heap.h:
        new variables implicit_emptied
        (we need one in HEAPINFO for the hp_info() call).
      sql/ha_heap.cc:
        report info to upper level
      sql/handler.h:
        new info 'implicit_emptied' in the handler level; only HEAP uses it.
      sql/sql_base.cc:
        When a HEAP table is opened for the first time, write a DELETE FROM to the binlog,
        for replication and mysqlbinlog|mysql.
        Monty: I added the
        entry->file->implicit_emptied= 0;
      bbd2adf4
  28. 28 Nov, 2003 1 commit
    • unknown's avatar
      Added missing SSL library (Should be in source distribution) · 76bf7d22
      unknown authored
      Fixed compiler warnings (a lot of hidden variables detected by the Forte compiler)
      Added a lot of 'version_xxx' strings to 'show variables'
      Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
      Fixed problem with printing sub selects to debug log
      
      
      Docs/mysqld_error.txt:
        Updated error messages
      Makefile.am:
        Added missing SSL library (Should be in source distribution)
      configure.in:
        Added missing SSL library
      include/sql_common.h:
        Move duplicated prototypes
      innobase/os/os0file.c:
        Added comment for line that could be removed
      innobase/srv/srv0srv.c:
        Added comment for line that could be removed
      innobase/srv/srv0start.c:
        Added comment for line that could be removed
      innobase/trx/trx0sys.c:
        Added cast to remove compiler warning
      isam/isamchk.c:
        Fixed compiler warning
      libmysql/conf_to_src.c:
        Include files in proper order
      myisam/mi_check.c:
        Removed else part that caused compiler warning
      myisam/mi_delete.c:
        Added cast
      myisam/mi_page.c:
        Added cast
      myisam/mi_preload.c:
        Added cast
      myisam/mi_write.c:
        Added cast
      myisam/myisampack.c:
        changed 'byte' to 'current_byte' to avoid compiler warnings
      mysql-test/mysql-test-run.sh:
        Removed start-from as test '<' is not portable and this can easily be done from command line
      mysys/hash.c:
        Added cast
      mysys/mf_wcomp.c:
        Removed not reached line
      mysys/my_append.c:
        Fixed include file order to get this more portable
      mysys/my_copy.c:
        Fixed include file order to get this more portable
      mysys/my_redel.c:
        Fixed include file order to get this more portable
      sql-common/client.c:
        More DBUG_PRINT
      sql-common/pack.c:
        Added casts becasue Fortre compiler apparently compares (ulonglong) < (longlong) as signed
      sql/ha_heap.cc:
        Changed variable names to not cause hidden variables
      sql/ha_innodb.cc:
        Changed variable names to not cause hidden variables
      sql/item.cc:
        Changed variable names to not cause hidden variables
      sql/item.h:
        Changed variable names to not cause hidden variables
      sql/item_cmpfunc.h:
        Changed variable names to not cause hidden variables
      sql/item_func.cc:
        Changed variable names to not cause hidden variables
      sql/item_subselect.cc:
        Changed variable names to not cause hidden variables
      sql/item_subselect.h:
        Changed variable names to not cause hidden variables
      sql/item_sum.cc:
        Changed variable names to not cause hidden variables
      sql/item_timefunc.cc:
        Changed variable names to not cause hidden variables
      sql/log.cc:
        Changed variable names to not cause hidden variables
      sql/protocol.cc:
        Changed variable names to not cause hidden variables
      sql/protocol.h:
        Changed variable names to not cause hidden variables
        Remove function not declared in protocol.cc
      sql/protocol_cursor.cc:
        Changed variable names to not cause hidden variables
      sql/set_var.cc:
        Added a lot of 'version_xxx' strings
        Changed 'bdb_version' to 'version_bdb'
      sql/sql_class.cc:
        Changed variable names to not cause hidden variables
        Add TMP_TABLE_PARAM::init() to allow one to initialize structure several times
      sql/sql_class.h:
        Prevent copying of TMP_TABLE_PARAM (This caused core dump bug on Solaris)
      sql/sql_derived.cc:
        Avoid copying TMP_TABLE_PARAM (Use class version instead)
      sql/sql_error.cc:
        More DBUG
      sql/sql_help.cc:
        Fixed compiler warning
      sql/sql_lex.cc:
        Changed variable names to not cause hidden variables
      sql/sql_list.h:
        Changed variable names to not cause hidden variables
      sql/sql_parse.cc:
        Changed variable names to not cause hidden variables
      sql/sql_select.cc:
        Changed variable names to not cause hidden variables
        Ensure that you don't send NULL to printf() for %s
        Fixed problem with printing sub selects to debug log
      sql/sql_select.h:
        Changed variable names to not cause hidden variables
      sql/sql_union.cc:
        Changed variable names to not cause hidden variables
        Don't use local copy of TMP_TABLE_PARAM (Caused core dump on Solaris)
      sql/sql_update.cc:
        Indentation cleanup
      sql/sql_yacc.yy:
        Remove warning
      strings/conf_to_src.c:
        Fixed include file order
      76bf7d22
  29. 28 Nov, 2002 1 commit
  30. 14 Nov, 2002 1 commit
    • unknown's avatar
      Portability fix when using -DBIG_TABLES · 3648eb7d
      unknown authored
      BitKeeper/etc/config:
        Changed Sasha to sys
      client/mysqlbinlog.cc:
        Fixed that --position open works.
      sql/item_timefunc.cc:
        Portability fix
      sql/log_event.cc:
        Portability fix
      sql/set_var.cc:
        Portability fix
      3648eb7d
  31. 06 Nov, 2002 1 commit
  32. 07 Oct, 2002 1 commit
    • unknown's avatar
      auto_increment for heap tables · 9195963f
      unknown authored
      test case
      
      
      heap/hp_create.c:
        auto_increment for heap tables
      heap/hp_hash.c:
        auto_increment for heap tables
      heap/hp_info.c:
        auto_increment for heap tables
      heap/hp_test1.c:
        auto_increment for heap tables
      heap/hp_test2.c:
        auto_increment for heap tables
      heap/hp_update.c:
        auto_increment for heap tables
      heap/hp_write.c:
        auto_increment for heap tables
      include/heap.h:
        auto_increment for heap tables
      mysql-test/r/create.result:
        auto_increment for heap tables
      mysql-test/t/create.test:
        auto_increment for heap tables
      sql/ha_heap.cc:
        auto_increment for heap tables
      sql/ha_heap.h:
        auto_increment for heap tables
      9195963f
  33. 03 Oct, 2002 1 commit
  34. 28 Jun, 2002 1 commit
  35. 07 Jun, 2002 1 commit
  36. 21 May, 2002 1 commit
    • unknown's avatar
      BTREE heap key structure is now the same as MyISAM · c811538f
      unknown authored
      _mi_compare_text -> mi_compate_text
      Changes according Monty's suggestions
      
      
      heap/heapdef.h:
        BTREE heap key structure is now the same as MyISAM
      heap/hp_delete.c:
        BTREE heap key structure is now the same as MyISAM
      heap/hp_hash.c:
        BTREE heap key structure is now the same as MyISAM
      heap/hp_open.c:
        BTREE heap key structure is now the same as MyISAM
      heap/hp_rfirst.c:
        BTREE heap key structure is now the same as MyISAM
      heap/hp_rkey.c:
        BTREE heap key structure is now the same as MyISAM
      heap/hp_rlast.c:
        BTREE heap key structure is now the same as MyISAM
      heap/hp_rnext.c:
        BTREE heap key structure is now the same as MyISAM
      heap/hp_rprev.c:
        BTREE heap key structure is now the same as MyISAM
      heap/hp_write.c:
        BTREE heap key structure is now the same as MyISAM
      include/heap.h:
        BTREE heap key structure is now the same as MyISAM
      include/my_handler.h:
        Removed hp_rb_key_cmp()
        _mi_compare_text -> mi_compate_text
      include/my_tree.h:
        Fixed typo
      myisam/ft_boolean_search.c:
        _mi_compare_text -> mi_compate_text
      myisam/ft_nlq_search.c:
        _mi_compare_text -> mi_compate_text
      myisam/ft_parser.c:
        _mi_compare_text -> mi_compate_text
      myisam/ft_stopwords.c:
        _mi_compare_text -> mi_compate_text
      myisam/ft_update.c:
        _mi_compare_text -> mi_compate_text
      mysys/my_handler.c:
        Removed hp_rb_key_cmp()
        _mi_compare_text -> mi_compate_text
      mysys/tree.c:
        BTREE heap key structure is now the same as MyISAM
      sql/ha_heap.cc:
        BTREE heap key structure is now the same as MyISAM
      c811538f
  37. 14 May, 2002 1 commit
    • unknown's avatar
      Now several character sets can live in the same table, · b043f066
      unknown authored
      However some hacks were used while waiting for new FRM file
      
      
      sql/field.h:
        Added function to set Field charset
      sql/filesort.cc:
        Temporarily workaround, It seems charset should be passed in argument
      sql/ha_heap.cc:
        Set correct key charset from Field information
      sql/table.cc:
        Dirty hack to distinguish columns charsets while waiting for Monty to rewrite FRM file
      sql/table.h:
        New field: table default character set
      b043f066
  38. 29 Apr, 2002 1 commit
    • unknown's avatar
      Index number argument · 234dc3a3
      unknown authored
      Fix in test results
      
      
      heap/hp_rfirst.c:
        Index number argument
      heap/hp_rlast.c:
        Index number argument
      heap/hp_test2.c:
        Index number argument
      include/heap.h:
        Index number argument
      mysql-test/r/heap_btree.result:
        Test results fix
      sql/ha_heap.cc:
        Index number argument
      234dc3a3
  39. 25 Apr, 2002 2 commits
    • unknown's avatar
      MI_KEYSEG -> HA_KEYSEG · 3adee504
      unknown authored
      _mi_key_cmp -> ha_key_cmp
      
      
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      3adee504
    • unknown's avatar
      RB-Tree indexes support in HEAP tables · 139a73ca
      unknown authored
      Renamed _hp_func  ->  hp_func
      mi_key_cmp moved to /mysys/my_handler.c
      New tests for HEAP tables
      
      
      heap/_check.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/_rectest.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/heapdef.h:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_block.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_clear.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_close.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_create.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_delete.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_hash.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_open.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_panic.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_rename.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_rfirst.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_rkey.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_rlast.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_rnext.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_rprev.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_rrnd.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_rsame.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_scan.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_test1.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_test2.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_update.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      heap/hp_write.c:
        RB-tree index
        Renamed _hp_func -> hp_func
      include/Makefile.am:
        New include
      include/heap.h:
        RB-Tree index
      include/my_tree.h:
        new search functions
        new custom_arg argument
      include/myisam.h:
        Removed MI_KEYSEG
      isam/isamlog.c:
        Add custom_arg
      isam/pack_isam.c:
        Add custom_arg
      myisam/ft_nlq_search.c:
        Add custom_arg
      myisam/ft_parser.c:
        Add custom_arg
      myisam/ft_stopwords.c:
        Add custom_arg
      myisam/mi_search.c:
        Remove mi_key_cmp
      myisam/mi_write.c:
        Add custom_arg
      myisam/myisamdef.h:
        Remove mi_key_cmp
      myisam/myisamlog.c:
        Add custom_arg
      myisam/myisampack.c:
        Add custom_arg
      mysys/Makefile.am:
        New file my_handler.c
      mysys/tree.c:
        custom_arg
        new search functions
      sql/ha_heap.cc:
        RBTree
      sql/ha_myisam.cc:
        RBTree
      sql/item_sum.cc:
        custom_arg
      sql/sql_analyse.cc:
        custom_arg
      sql/sql_class.h:
        custom_arg
      sql/sql_table.cc:
        Remove duplicate code
      sql/sql_yacc.yy:
        UNDEF by default
      sql/table.cc:
        Remove dirty hack
      139a73ca