• unknown's avatar
    Add support for up to VARCHAR (size up to 65535) · e04e1dd2
    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
    e04e1dd2
mi_search.c 54 KB