An error occurred fetching the project authors.
  1. 14 Feb, 2005 1 commit
    • unknown's avatar
      InnoDB: Small improvements to earlier patch (fix Bug #7350 better), · 93fd4590
      unknown authored
      suggested in review by Heikki.
      
      
      innobase/include/data0type.h:
        Improve comment of dtype_struct.
      innobase/include/data0type.ic:
        Rename innobase_get_mb_cset() to innobase_get_cset_width().
        dtype_get_fixed_size(): Add an extra integrity check for
        type->prtype, type->mbminlen and type->mbmaxlen.
      sql/ha_innodb.cc:
        Rename innobase_get_mb_cset() to innobase_get_cset_width()
      93fd4590
  2. 08 Feb, 2005 1 commit
    • unknown's avatar
      InnoDB: Fix Bug #7350 without hard-coding charset-collation numbers. · f9a394db
      unknown authored
      innobase/data/data0type.c:
        Add mbminlen and mbmaxlen to dtype_t
      innobase/include/data0type.h:
        Add mbminlen and mbmaxlen to dtype_t
        Add dtype_get_mbminlen() and dtype_get_mbmaxlen()
      innobase/include/data0type.ic:
        Add dtype_set_mblen()
        Add dtype_get_mbminlen() and dtype_get_mbmaxlen()
        Replace innobase_is_mb_cset() with innobase_get_mb_cset()
      innobase/include/row0mysql.h:
        Add mbminlen and mbmaxlen
      innobase/include/row0mysql.ic:
        Detect UCS2 collations based on mbminlen
      innobase/row/row0sel.c:
        Detect UCS2 collations based on mbminlen
      sql/ha_innodb.cc:
        Replace innobase_is_mb_cset() with innobase_get_mb_cset()
        build_template(): Initialize templ->mbminlen and templ->mbmaxlen
      f9a394db
  3. 07 Feb, 2005 1 commit
  4. 03 Feb, 2005 1 commit
    • unknown's avatar
      Fixed a bug: deadlock without any locking, simple select and update (Bug #7975). · bb0507fa
      unknown authored
      innobase/row/row0ins.c:
        If the SQL-query will update or replace duplicate key row we take X-lcok
        for duplicate row.
      sql/ha_innodb.cc:
        INSERT ON DUPLICATE KEY UPDATE will also update duplicate key and we can
        take X-lock in this case for duplicate key records.
      BitKeeper/etc/ignore:
        Added innobase/row/row0index.c to the ignore list
      bb0507fa
  5. 01 Feb, 2005 1 commit
    • unknown's avatar
      WL#1967 · 0e50e324
      unknown authored
        Support for COMMIT/ROLLBACK optional arguments
      
      
      innobase/include/trx0roll.h:
        WL#1967
          trx_release_savepoint_for_mysql()
      innobase/trx/trx0roll.c:
        WL#1967
          trx_release_savepoint_for_mysql()
      mysql-test/r/innodb.result:
        WL#1967
          Test for savepoint release
      mysql-test/t/innodb.test:
        WL#1967
          Test for savepoint release
      sql/ha_innodb.cc:
        WL#1967
          innobase_release_savepoint_name()
      sql/ha_innodb.h:
        WL#1967
          innobase_release_savepoint_name()
      sql/handler.cc:
        WL#1967
          ha_release_savepoint_name()
      sql/handler.h:
        WL#1967
          ha_release_savepoint_name()
      sql/lex.h:
        WL#1967
          New tokens: CHAIN, RELEASE
      sql/mysqld.cc:
        WL#1967
          new option: completion-type
      sql/set_var.cc:
        WL#1967
          new option: completion-type
      sql/sql_class.h:
        WL#1967
          new option: completion-type
      sql/sql_lex.h:
        WL#1967
          Support RELEASE SAVEPOINT
          additional flags to support COMMIT/ROLLBACK options
      sql/sql_parse.cc:
        WL#1967
          Transaction operations in mysql_endtrans(), begin_trans()
      sql/sql_yacc.yy:
        WL#1967
          Support COMMIT/ROLLBACK optional args
      0e50e324
  6. 31 Jan, 2005 1 commit
    • unknown's avatar
      InnoDB: Cleanups of TRUNCATE TABLE code · 113ff8c9
      unknown authored
      innobase/row/row0mysql.c:
        row_truncate_for_mysql(): Always lock the data dictionary.
        row_truncate_for_mysql(): Improve comments and diagnostic messages.
      sql/ha_innodb.cc:
        delete_all_rows(): Replace innobase_commit_low()
        with innobase_commit(). (partial fix to Bug #8151)
      113ff8c9
  7. 28 Jan, 2005 1 commit
    • unknown's avatar
      InnoDB: Allow concurrent TRUNCATE and INSERT on a table. (Bug #8144) · 264f83f0
      unknown authored
      innobase/include/rem0rec.ic:
        Improve formatting of comments
      innobase/include/trx0trx.h:
        dict_operation: document the effect of setting the flag
      innobase/row/row0mysql.c:
        Do not set the dict_operation flag. (Bug #8144)
        Allow MySQL to have open handles to the table being truncated.
      sql/ha_innodb.cc:
        store_lock(): Do not weaken TL_WRITE locks taken by TRUNCATE TABLE.
      264f83f0
  8. 27 Jan, 2005 1 commit
  9. 13 Jan, 2005 4 commits
    • unknown's avatar
      ha_innodb.cc: · 68075175
      unknown authored
        "Add a comment why data modifying SQL statements MUST always use a locking read in tables that they read: otherwise the execution is not serializable, and in many cases is not well-defined; we also merged the associated bug fix from 4.1"
      
      
      sql/ha_innodb.cc:
        Add a comment why data modifying SQL statements MUST always use a locking read in tables that they read: otherwise the exxecution is not serializable, and in many cases is not well-defined; 5 minutes ago we merged the associated bug fix from 4.0 and 4.1
      68075175
    • unknown's avatar
      ha_innodb.cc: · 97f5b326
      unknown authored
        Merge from 4.0:     Fix a theoretical hang over the adaptive hash latch in InnoDB if one runs INSERT ... SELECT ... (binlog not enabled), or a multi-table UPDATE or DELETE, and only the read tables are InnoDB type, the rest are MyISAM; this also fixes bug #7879 for InnoDB type tables
      
      
      sql/ha_innodb.cc:
        Merge from 4.0:     Fix a theoretical hang over the adaptive hash latch in InnoDB if one runs INSERT ... SELECT ... (binlog not enabled), or a multi-table UPDATE or DELETE, and only the read tables are InnoDB type, the rest are MyISAM; this also fixes bug #7879 for InnoDB type tables
      97f5b326
    • unknown's avatar
      ha_innodb.cc: · d90e3b49
      unknown authored
        Fix a theoretical hang over the adaptive hash latch in InnoDB if one runs INSERT ... SELECT ... (binlog not enabled), or a multi-table UPDATE or DELETE, and only the read tables are InnoDB type, the rest are MyISAM; this also fixes bug #7879 for InnoDB type tables
      
      
      sql/ha_innodb.cc:
        Fix a theoretical hang over the adaptive hash latch in InnoDB if one runs INSERT ... SELECT ... (binlog not enabled), or a multi-table UPDATE or DELETE, and only the read tables are InnoDB type, the rest are MyISAM; this also fixes bug #7879 for InnoDB type tables
      d90e3b49
    • unknown's avatar
      Fix valgrind warning + post-merge fixes. · 0e21414a
      unknown authored
      sql/ha_innodb.cc:
        Fix valgrind warning.
      strings/ctype-uca.c:
        Fix C++ style comments.
      0e21414a
  10. 12 Jan, 2005 2 commits
    • unknown's avatar
      ha_innodb.cc: · 871fdda1
      unknown authored
        Add comments about why the InnoDB latching order is obeyed also for the MySQL query cache mutex; add an error printf if that is not the case
      sync0sync.h:
        Assign sync0sync.h ranks also for the MySQL query cache mutex and the MySQL binlog mutex; the latching order must be obeyed also for these
      row0ins.c:
        Add a comment why the query cache invalidate operation cannot deadlock in a cascaded FOREIGN KEY operation
      
      
      innobase/row/row0ins.c:
        Add a comment why the query cache invalidate operation cannot deadlock in a cascaded FOREIGN KEY operation
      innobase/include/sync0sync.h:
        Assign sync0sync.h ranks also for the MySQL query cache mutex and the MySQL binlog mutex; the latching order must be obeyed also for these
      sql/ha_innodb.cc:
        Add comments about why the InnoDB latching order is obeyed also for the MySQL query cache mutex; add an error printf if that is not the case
      871fdda1
    • unknown's avatar
      InnoDB: Use system-supplied tmpfile() on Netware, as there is no · c65c72f0
      unknown authored
      open interface for setting the "delete-on-close" flag.
      
      
      innobase/os/os0file.c:
        Use system-supplied tmpfile() on Netware
      sql/ha_innodb.cc:
        Remove innobase_mysql_tmpfile() on Netware.
      c65c72f0
  11. 11 Jan, 2005 1 commit
    • unknown's avatar
      InnoDB: Implement fast TRUNCATE TABLE (Bug #7150) · ff4507a9
      unknown authored
      innobase/dict/dict0boot.c:
        Added DICT_SYS_INDEXES_TYPE_FIELD
      innobase/dict/dict0crea.c:
        Added dict_truncate_index_tree()
      innobase/include/dict0boot.h:
        Added DICT_SYS_INDEXES_TYPE_FIELD
      innobase/include/dict0crea.h:
        Added dict_truncate_index_tree()
      innobase/include/row0mysql.h:
        Added row_truncate_table_for_mysql()
      innobase/row/row0mysql.c:
        Added row_truncate_table_for_mysql()
      sql/ha_innodb.cc:
        Added ha_innobase::delete_all_rows() in order to
        implement fast TRUNCATE TABLE
      sql/ha_innodb.h:
        Added ha_innobase::delete_all_rows() in order to
        implement fast TRUNCATE TABLE
      ff4507a9
  12. 08 Jan, 2005 1 commit
    • unknown's avatar
      Many files: · 8a8823d2
      unknown authored
        - Create innodb_thread_concurrency as dynamic variable
        - Add innodb_thread_sleep_delay variable
        - Add innodb_free_tickets_to_enter variable
      
      
      innobase/include/srv0srv.h:
        - Create innodb_thread_concurrency as dynamic variable
        - Add innodb_thread_sleep_delay variable
        - Add innodb_free_tickets_to_enter variable
      innobase/srv/srv0srv.c:
        - Create innodb_thread_concurrency as dynamic variable
        - Add innodb_thread_sleep_delay variable
        - Add innodb_free_tickets_to_enter variable
      mysql-test/r/innodb.result:
        - Create innodb_thread_concurrency as dynamic variable
        - Add innodb_thread_sleep_delay variable
        - Add innodb_free_tickets_to_enter variable
      mysql-test/t/innodb.test:
        - Create innodb_thread_concurrency as dynamic variable
        - Add innodb_thread_sleep_delay variable
        - Add innodb_free_tickets_to_enter variable
      sql/ha_innodb.cc:
        - Create innodb_thread_concurrency as dynamic variable
        - Add innodb_thread_sleep_delay variable
        - Add innodb_free_tickets_to_enter variable
      sql/ha_innodb.h:
        - Create innodb_thread_concurrency as dynamic variable
        - Add innodb_thread_sleep_delay variable
        - Add innodb_free_tickets_to_enter variable
      sql/mysqld.cc:
        - Create innodb_thread_concurrency as dynamic variable
        - Add innodb_thread_sleep_delay variable
        - Add innodb_free_tickets_to_enter variable
      sql/set_var.cc:
        - Create innodb_thread_concurrency as dynamic variable
        - Add innodb_thread_sleep_delay variable
        - Add innodb_free_tickets_to_enter variable
      8a8823d2
  13. 07 Jan, 2005 1 commit
    • unknown's avatar
      Introduce ROW_TYPE=REDUNDANT and ROW_TYPE=COMPACT for InnoDB table formats · 6e74893a
      unknown authored
      sql/handler.cc:
        ha_row_type[]: Add REDUNDANT and COMPACT
      sql/handler.h:
        enum row_type: Add ROW_TYPE_REDUNDANT and ROW_TYPE_COMPACT
      sql/ha_innodb.cc:
        ha_innobase::create(): Detect ROW_TYPE=REDUNDANT
      sql/lex.h:
        Add "COMPACT" (COMPACT_SYM) and "REDUNDANT" (REDUNDANT_SYM)
      sql/sql_yacc.yy:
        row_types, keyword: Add COMPACT and REDUNDANT
      6e74893a
  14. 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
  15. 27 Dec, 2004 3 commits
    • unknown's avatar
      ha_innodb.cc: · 562df4ee
      unknown authored
        Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
      
      
      sql/ha_innodb.cc:
        Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
      562df4ee
    • unknown's avatar
      ha_innodb.cc, row0ins.c, fil0fil.c: · 1b7282e3
      unknown authored
        Correct typo
      
      
      innobase/fil/fil0fil.c:
        Correct typo
      innobase/row/row0ins.c:
        Correct typo
      sql/ha_innodb.cc:
        Correct typo
      1b7282e3
    • unknown's avatar
      Many files: · 708eebea
      unknown authored
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      
      
      innobase/buf/buf0rea.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/include/dict0load.h:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/include/fil0fil.h:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/include/row0mysql.h:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/include/trx0trx.h:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/dict/dict0load.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/fil/fil0fil.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/row/row0ins.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/row/row0mysql.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/row/row0sel.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/srv/srv0start.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      innobase/trx/trx0trx.c:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      sql/ha_innodb.cc:
        Fix InnoDB critical bug #7496; we scan the InnoDB data dictionary also at a normal mysqld startup, and create the spaces, so that we know the mapping space id -> .ibd file name; fix an infinite loop if DISCARD TABLESPACE coincides with INSERT or some other table operation; fix a potential crash if DISCARD TABLESPACE coincides with a cascaded FOREIGN KEY operation in the same table; do not allow DISCARD TABLESPACE of a referenced table if FOREIGN_KEY_CHECKS=1
      708eebea
  16. 24 Dec, 2004 2 commits
    • unknown's avatar
      Many files: · af22d870
      unknown authored
        tabs replaced
      ha_innodb.cc:
        Comments removed
      
      
      innobase/include/que0que.h:
        tabs replaced
      innobase/include/sync0rw.h:
        tabs replaced
      innobase/include/sync0sync.h:
        tabs replaced
      innobase/include/sync0sync.ic:
        tabs replaced
      innobase/row/row0sel.c:
        tabs replaced
      innobase/srv/srv0srv.c:
        tabs replaced
      innobase/sync/sync0rw.c:
        tabs replaced
      innobase/sync/sync0sync.c:
        tabs replaced
      sql/ha_innodb.cc:
        Comments removed
      sql/lex.h:
        tabs replaced
      sql/set_var.cc:
        tabs replaced
      sql/sql_parse.cc:
        tabs replaced
      sql/sql_yacc.yy:
        tabs replaced
      af22d870
    • unknown's avatar
      logging_ok: · 40d7e74e
      unknown authored
        Logging to logging@openlogging.org accepted
      sql_yacc.yy, sql_parse.cc, sql_lex.h, lex.h:
        Implements the SHOW MUTEX STATUS command
      set_var.cc, mysqld.cc, mysql_priv.h:
        Added new GLOBAL variable timed_mutexes
      ha_innodb.h:
        New function innodb_mutex_show_status
      ha_innodb.cc:
        Added new innodb variables in SHOW STATUS
        Implements the SHOW MUTEX STATUS command
      innodb.test, innodb.result:
        Added new row_lock_waits status variables tests.
      variables.test, variables.result:
        test new variable timed_mutexes
      ut0ut.c:
        New function ut_usectime.
      sync0sync.c:
        Mutex counting.
      sync0rw.c:
        New mutex parameters initialization.
      srv0srv.c:
        Counting row lock waits
      row0sel.c, row0mysql.c:
        Setting row_lock or table_lock state to thd.
      que0que.c:
        Added default no_lock_state to thd.
      univ.i:
        Added UNIV_SRV_PRINT_LATCH_WAITS debug define
      sync0sync.ic:
        Count mutex using.
      sync0sync.h:
        Added new parameters to mutex structure for counting.
      sync0rw.h:
        Added new parameters to rw_create_func.
      srv0srv.h:
        Added new innodb varuables to SHOW STATUS.
      que0que.h:
        Added thread lock states.
      
      
      innobase/include/que0que.h:
        Added thread lock states.
      innobase/include/srv0srv.h:
        Added new innodb varuables to SHOW STATUS.
      innobase/include/sync0rw.h:
        Added new parameters to rw_create_func.
      innobase/include/sync0sync.h:
        Added new parameters to mutex structure for counting.
      innobase/include/sync0sync.ic:
        Count mutex using.
      innobase/include/univ.i:
        Added UNIV_SRV_PRINT_LATCH_WAITS debug define
      innobase/que/que0que.c:
        Added default no_lock_state to thd.
      innobase/row/row0mysql.c:
        Setting row_lock or table_lock state to thd.
      innobase/row/row0sel.c:
        Setting row_lock or table_lock state to thd.
      innobase/srv/srv0srv.c:
        Counting row lock waits
      innobase/sync/sync0rw.c:
        New mutex parameters initialization.
      innobase/sync/sync0sync.c:
        Mutex counting.
      innobase/ut/ut0ut.c:
        New function ut_usectime.
      mysql-test/r/variables.result:
        test new variable timed_mutexes
      mysql-test/r/innodb.result:
        Added new row_lock_waits status variables tests.
      mysql-test/t/variables.test:
        test new variable timed_mutexes
      mysql-test/t/innodb.test:
        Added new row_lock_waits status variables tests.
      sql/ha_innodb.cc:
        Added new innodb variables in SHOW STATUS
        Implements the SHOW MUTEX STATUS command
      sql/ha_innodb.h:
        New function innodb_mutex_show_status
      sql/lex.h:
        Implements the SHOW MUTEX STATUS command
      sql/mysql_priv.h:
        Added new GLOBAL variable timed_mutexes
      sql/mysqld.cc:
        Added new GLOBAL variable timed_mutexes
      sql/set_var.cc:
        Added new GLOBAL variable timed_mutexes
      sql/sql_lex.h:
        Implements the SHOW MUTEX STATUS command
      sql/sql_parse.cc:
        Implements the SHOW MUTEX STATUS command
      sql/sql_yacc.yy:
        Implements the SHOW MUTEX STATUS command
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      40d7e74e
  17. 23 Dec, 2004 1 commit
    • unknown's avatar
      Make index_merge code call handler::extra(HA_EXTRA_RETRIEVE_PRIMARY_KEY) if it · 9f62dcfd
      unknown authored
      will call handler::position() during key scan. 
      Undo the previous, less efficient fix (cset 2004-11-30 19:56:25+02:00, heikki@hundin.mysql.fi)
      
      
      innobase/include/row0mysql.h:
        undo cset 1.1698.1.2
      sql/ha_innodb.cc:
        undo cset 1.1698.1.2
      sql/opt_range.cc:
        Make index_merge code call file->extra(HA_EXTRA_RETRIEVE_PRIMARY_KEY) if file->position() will be called.
        Also fixed a typo and added a couple of error checks.
      9f62dcfd
  18. 22 Dec, 2004 2 commits
    • unknown's avatar
      ha_innodb.cc: · ef1971ec
      unknown authored
        Add a comment that no InnoDB table lock is now acquired in LOCK TABLES if AUTOCOMMIT=1. This helps to avoid deadlocks when porting old MyISAM applications to InnoDB.
      
      
      sql/ha_innodb.cc:
        Add a comment that no InnoDB table lock is now acquired in LOCK TABLES if AUTOCOMMIT=1. This helps to avoid deadlocks when porting old MyISAM applications to InnoDB.
      ef1971ec
    • unknown's avatar
      ha_innodb.cc: · e6dfed9f
      unknown authored
        If AUTOCOMMIT=1, do not acquire an InnoDB table lock in LOCK TABLES; this makes porting of old MyISAM applications to InnoDB easier, since in that mode InnoDB table locks caused deadlocks very easily
      
      
      sql/ha_innodb.cc:
        If AUTOCOMMIT=1, do not acquire an InnoDB table lock in LOCK TABLES; this makes porting of old MyISAM applications to InnoDB easier, since in that mode InnoDB table locks caused deadlocks very easily
      e6dfed9f
  19. 21 Dec, 2004 1 commit
  20. 17 Dec, 2004 1 commit
    • unknown's avatar
      InnoDB: Fixed bugs in the padding and trimming of trailing spaces · 7b063137
      unknown authored
      that affected the UCS2 character set. (Bug #7350)
      
      
      innobase/data/data0type.c:
        Added dtype_get_charset_coll_noninline()
      innobase/include/data0type.h:
        Added dtype_get_charset_coll_noninline()
      innobase/include/row0mysql.h:
        Added charset field to mysql_row_templ_struct.
      innobase/include/row0mysql.ic:
        row_mysql_store_col_in_innobase_format():
        When removing trailing spaces, treat the UCS2 character set properly.
      innobase/rem/rem0cmp.c:
        cmp_whole_field(): Do not remove trailing 0x20 bytes, as
        innobase_mysql_cmp() implicitly pads the strings with trailing
        spaces as necessary.
      innobase/row/row0sel.c:
        row_sel_field_store_in_mysql_format(): Do not pad with 0x20 bytes.
        row_sel_store_mysql_rec(): Pad VARCHARs with trailing spaces
        (0x20, or 0x0020 in UCS2).
      sql/ha_innodb.cc:
        build_template(): Initialize templ->charset
      7b063137
  21. 16 Dec, 2004 1 commit
  22. 14 Dec, 2004 1 commit
  23. 13 Dec, 2004 2 commits
    • unknown's avatar
      Fixed a bug no error message for ALTER with InnoDB and AUTO_INCREMENT (Bug #7061). · 08973f5c
      unknown authored
      sql/ha_innodb.cc:
        Fixed a bug no error message for ALTER with InnoDB and AUTO_INCREMENT (Bug #7061).
        It cant be put on commit because ALTER TABLE will commit on every 10000 rows.
        Therefore, this change must be done when a new temporary table is created
        in the ALTER TABLE.
      08973f5c
    • unknown's avatar
      Fixed a bug no error message for ALTER with InnoDB and AUTO_INCREMENT (Bug #7061). · 3bee8907
      unknown authored
      
      sql/ha_innodb.cc:
        Fixed a bug no error message for ALTER with InnoDB and AUTO_INCREMENT (Bug #7061).
        If AUTO_INCREMENT is given in the ALTER TABLE, this value is now set
        to the auto increment value of the table if the new value is creater or 
        equal than the current value of the auto increment value. If the new value
        is less than the old value no error message is given and the old value 
        is not changed.
      3bee8907
  24. 10 Dec, 2004 1 commit
    • unknown's avatar
      dict0dict.h, dict0dict.c, ha_innodb.cc: · c486461e
      unknown authored
        Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
      
      
      sql/ha_innodb.cc:
        Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
      innobase/dict/dict0dict.c:
        Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
      innobase/include/dict0dict.h:
        Fix for the 0xA0 character problem in the InnoDB FOREIGN KEY parser: if my_isspace() treats 0xA0 as space, then let InnoDB do the same; this might break some multi-byte charset id's, though for big5, ujis, sjis this seems not to change the current behavior (I checked the tables in /share/charsets); this fix must NOT be merged to 4.1 because in 4.1 everything is in UTF-8
      c486461e
  25. 09 Dec, 2004 1 commit
    • unknown's avatar
      Added support for a LOCK TABLES...WHERE ENGINE = InnoDB query which sets · 0f99fe72
      unknown authored
      transactional table locks to tables mentioned in the query. These locks
      are released at the end of the transaction automatically.
      This is fix for bugs #5655, #5998 and issue #3762.
      
      
      
      
      innobase/include/lock0lock.h:
        Added a new lock type LOCK_TABLE_TRANSACTIONAL.
      innobase/include/trx0trx.h:
        Added a varible to store the number of transactional table locks
        reserved by the transaction and stored in the trx_locks list.
      innobase/lock/lock0lock.c:
        Added a lock type LOCK_TABLE_TRANSACTIONAL.
      innobase/row/row0mysql.c:
        Added support for a transactional table lock.
      innobase/trx/trx0roll.c:
        Make compiler happy and format function.
      innobase/trx/trx0trx.c:
        Added information about number of explicit and transactional table locks in
        the innodb monitor.
      sql/ha_innodb.cc:
        Added support for a LOCK_TABLE_TRANSACTIONAL table lock (SQLCOM_LOCK_TABLES_TRANSACTIONAL).
        Transactional table locks are taken in the function ::transactional_table_lock().
      sql/ha_innodb.h:
        Added prototype for a function trandactional_table_lock().
      sql/handler.h:
        Added prototype for a virtual function transactional_table_lock().
        Handler does not need to implement this function.
      sql/lock.cc:
        Added a function transactional_lock_tables() to lock all tables in the list
        with transactional table lock. These locks can cause a deadlock and
        this error should be reported back to user.
      sql/mysql_priv.h:
        Added prototype for a function transactional_lock_tables().
      sql/sql_lex.h:
        Added SQLCOM_LOCK_TABLES_TRANSACTIONAL command.
      sql/sql_parse.cc:
        Added SQLCOM_LOCK_TABLES_TRANSACTIONAL command.
      sql/sql_yacc.yy:
        Added parsing rules for a LOCK TABLES...WHERE ENGINE = x;
      0f99fe72
  26. 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
  27. 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
  28. 03 Dec, 2004 1 commit
    • unknown's avatar
      InnoDB: Fix ctype_utf8 test failure caused by the new record format. · f09c8b35
      unknown authored
      innobase/btr/btr0btr.c:
        Cache the value of dtype_get_fixed_size(type) in order to avoid
        repeated calls to an external function innobase_is_mb_cset()
      innobase/include/data0type.ic:
        Declare innobase_is_mb_cset().
        dtype_get_fixed_size(): Invoke innobase_is_mb_cset() for DATA_MYSQL.
      innobase/row/row0ins.c:
        Cache the value of dtype_get_fixed_size(type) in order to avoid
        repeated calls to an external function innobase_is_mb_cset()
      innobase/row/row0sel.c:
        row_search_for_mysql(): Added a missing rec_reget_offsets() call
        that caused an InnoDB debug assertion failure in ctype_utf8 test.
      sql/ha_innodb.cc:
        Define innobase_is_mb_cset().
      f09c8b35
  29. 02 Dec, 2004 1 commit
    • unknown's avatar
      Many files: · d2c4b545
      unknown authored
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      
      
      innobase/btr/btr0btr.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/btr/btr0cur.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/btr/btr0pcur.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/btr/btr0sea.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/data/data0data.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/data/data0type.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/dict/dict0boot.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/dict/dict0crea.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/dict/dict0dict.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/dict/dict0load.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/dict/dict0mem.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/fil/fil0fil.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/fsp/fsp0fsp.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/ibuf/ibuf0ibuf.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/btr0btr.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/btr0btr.ic:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/btr0cur.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/btr0cur.ic:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/btr0pcur.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/btr0sea.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/data0type.ic:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/dict0dict.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/dict0dict.ic:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/dict0mem.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/lock0lock.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/lock0lock.ic:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/mtr0log.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/mtr0mtr.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/page0cur.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/page0cur.ic:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/page0page.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/page0page.ic:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/rem0cmp.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/rem0cmp.ic:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/rem0rec.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/rem0rec.ic:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/row0row.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/row0row.ic:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/row0upd.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/row0upd.ic:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/row0vers.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/row0vers.ic:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/srv0srv.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/trx0rec.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/ut0byte.h:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/include/ut0byte.ic:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/lock/lock0lock.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/log/log0recv.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/mtr/mtr0log.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/page/page0cur.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/page/page0page.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/pars/pars0pars.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/rem/rem0cmp.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/rem/rem0rec.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/row/row0ins.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/row/row0mysql.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/row/row0purge.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/row/row0row.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/row/row0sel.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/row/row0umod.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/row/row0undo.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/row/row0upd.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/row/row0vers.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/srv/srv0srv.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/trx/trx0rec.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      innobase/trx/trx0undo.c:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      sql/ha_innodb.cc:
        Implement more compact InnoDB record format.
        Old format is available as CREATE TABLE ... ROW_FORMAT=DYNAMIC.
      d2c4b545
  30. 01 Dec, 2004 1 commit
    • unknown's avatar
      This is a code cleanup patch for X/Open XA. · 843f38fc
      unknown authored
      BitKeeper/deleted/.del-xa.h~4021d7e61ff515b:
        Delete: innobase/include/xa.h
      innobase/include/trx0trx.h:
        Change xa.h to trx0ha.h.
      innobase/include/trx0undo.h:
        Split TRX_UNDO_DICT_OPERATION field to two fiels: first contains
        TRX_UNDO_XID_EXISTS flag which is TRUE if log header contains
        X/Open XA XID and the second one contains TRX_UNDO_DICT_TRANS
        flag which is TRUE if the transaction is dictionary transaction.
      innobase/trx/trx0trx.c:
        Remove unnecessary and erroneus code from prepare. Add some 
        informative printouts of prepared transactions.
      innobase/trx/trx0undo.c:
        Split TRX_UNDO_DICT_OPERATION field to two fields: the first field
        is TRX_UNDO_XID_EXISTS flag which is true if the log header contains
        X/Open XA XID and the second field is TRX_UNDO_DICT_TRANS flag
        which is true if the transaction was a dictionary transaction.
      sql/ha_innodb.cc:
        Code cleanup.
      843f38fc
  31. 30 Nov, 2004 1 commit
    • unknown's avatar
      row0mysql.h, ha_innodb.cc: · f299ff85
      unknown authored
        Sergey Petrunia's ROR code fails to tell handlers that they should retrieve the primary key columns; let InnoDB ALWAYS retrieve them, to fix many bugs and potential bugs
      
      
      sql/ha_innodb.cc:
        Sergey Petrunia's ROR code fails to tell handlers that they should retrieve the primary key columns; let InnoDB ALWAYS retrieve them, to fix many bugs and potential bugs
      innobase/include/row0mysql.h:
        Sergey Petrunia's ROR code fails to tell handlers that they should retrieve the primary key columns; let InnoDB ALWAYS retrieve them, to fix many bugs and potential bugs
      f299ff85