An error occurred fetching the project authors.
  1. 12 Jan, 2005 1 commit
    • 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
  2. 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
  3. 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
  4. 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
  5. 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
  6. 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
  7. 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
  8. 21 Dec, 2004 1 commit
  9. 16 Dec, 2004 1 commit
  10. 14 Dec, 2004 1 commit
  11. 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
  12. 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
  13. 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
  14. 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
  15. 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
  16. 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
  17. 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
  18. 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
  19. 30 Nov, 2004 3 commits
    • 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
    • unknown's avatar
      InnoDB: Allow ALTER TABLE to do intermediate COMMIT also when the table · d6180d37
      unknown authored
      contains auto_increment columns.  (Bug #6633)
      
      
      innobase/include/lock0lock.h:
        Replaced lock_get_table()
        with lock_get_src_table() and lock_is_table_exclusive()
      innobase/lock/lock0lock.c:
        Replaced lock_get_table()
        with lock_get_src_table() and lock_is_table_exclusive()
      sql/ha_innodb.cc:
        ha_innobase::write_row(): Improve the ALTER TABLE optimization
        (do intermediate COMMIT also if table contains auto_increment columns)
      d6180d37
    • unknown's avatar
      Added support for X/Open XA prepare, recover, commit and rollback. · df0e057a
      unknown authored
      innobase/include/trx0roll.h:
        Changed prototype of the function trx_rollback_or_clean_all_without_sess
        because this function is executed in a background thread.
      innobase/include/trx0trx.h:
        Added support for X/Open XA prepare, recover and search by X/Open XA XID.
      innobase/include/trx0undo.h:
        Added support for X/Open XA prepare and recover. We need to store X/Open XA XID
        to the undo log header for recovery.
      innobase/log/log0recv.c:
        Create a thread to run trx_rollback_or_clean_all_without_sess function
        to rollback the uncommitted transactions which have no user session.
      innobase/row/row0ins.c:
        Remove unnecessary variables.
      innobase/trx/trx0roll.c:
        Changed so that trx_rollback_or_clean_all_without_sess is executed
        in a background thread. We should also leave all prepared transactions
        active to wait for commit or abort from MySQL.
      innobase/trx/trx0sys.c:
        Only those rows which belong to the active transaction in crash recovery
        are undone.
      innobase/trx/trx0trx.c:
        Added support for X/Open XA prepare and recover. We need to store X/Open XA
        XID to trx structure and left prepared transactions to wait for a
        commit or abort from MySQL. This requires also that we add TRX_PREPARED
        state to the transaction and TRX_UNDO_PREPARED state for undo logs.
      innobase/trx/trx0undo.c:
        Added support for X/Open XA prepare and recover. We need to store X/Open XA
        XID to undo log header for recovery of distributed transactions.
      sql/ha_innodb.h:
        Added prototypes for X/Open XA prepare, recover, commit and rollback.
      sql/handler.h:
        Added definition for X/Open XA XID structure.
      df0e057a
  20. 26 Nov, 2004 1 commit
    • unknown's avatar
      InnoDB: Make intermediate COMMITs in ALTER TABLE more robust (Bug #6633) · 346dce93
      unknown authored
      innobase/include/lock0lock.h:
        Replaced lock_get_ix_table() with lock_get_table().
      innobase/lock/lock0lock.c:
        Replaced lock_get_ix_table() with lock_get_table().
      innobase/include/row0mysql.h:
        row_lock_table_for_mysql(): Added parameter mode.
      innobase/row/row0mysql.c:
        row_lock_table_for_mysql(): Added parameter mode.
      sql/ha_innodb.cc:
        ha_innobase::write_row(): Make ALTER TABLE commits more robust:
        account for conversions from non-InnoDB format,
        do not attempt to commit if there are other than
        a single IX or IS lock on the source table, and
        the source table is in InnoDB format.  This
        prohibits intermediate commits for OPTIMIZE TABLE
        if the table contains an auto_increment field.
      346dce93
  21. 25 Nov, 2004 1 commit
    • unknown's avatar
      ha_innodb.cc: · 5557ae74
      unknown authored
        Add conversion of the InnoDB error DB_LOCK_TABLE_FULL to the corresponding MySQL error
      
      
      sql/ha_innodb.cc:
        Add conversion of the InnoDB error DB_LOCK_TABLE_FULL to the corresponding MySQL error
      5557ae74
  22. 18 Nov, 2004 1 commit
    • unknown's avatar
      WL 2059 Engine-specific status variables framework and WL 1922 · 4dac69eb
      unknown authored
      InnoDB status variables
      
      
      innobase/buf/buf0buf.c:
        Added function to get the number of latched pages
      innobase/buf/buf0flu.c:
        Added support for dblwr_pages_written, dblwr_writes and
        buffer_pool_pages_flushed status variables
      innobase/buf/buf0lru.c:
        Added support for _buffer_pool_wait_free status variable
      innobase/buf/buf0rea.c:
        Added support for buffer_pool_read_ahead_rnd, buffer_pool_read_ahead_seq
        and srv_buf_pool_reads status variables
      innobase/fil/fil0fil.c:
        Added support for os_log_fsyncs, data_read, and data_written
      innobase/include/buf0buf.h:
        Functions and variables needed for new status variables declared
      innobase/include/buf0flu.ic:
        Added support for buffer_pool_write_requests status variable
      innobase/include/fil0fil.h:
        Variable declared
      innobase/include/os0file.h:
        Declared several variabled
      innobase/include/srv0srv.h:
        Declared all new variables needed for InnoDB status variables
      innobase/log/log0log.c:
        Added support for various log-related status variables
      innobase/os/os0file.c:
        Added support for pending_writes, pending_reads status variables
      innobase/srv/srv0srv.c:
        Added internal counters and function to accumulate information for
        InnoDB status variables
      mysql-test/r/innodb.result:
        result fot the test
      mysql-test/t/innodb.test:
        We have tests only for few variables, as we cannot predict value for
        most of the added variables. It depends on the system load, OS, HDD
        e.t.c Thus, we cannot test them with mysql-test.
      sql/ha_innodb.cc:
        Added an array for InnoDB status variables. This is part of the
        WL2059 Engine-specific status variables framework
      sql/ha_innodb.h:
        Declared status variables array and the function to refresh statistics
      sql/handler.cc:
        Added function to get statistics
      sql/handler.h:
        Declared function to update handlers statistics
      sql/mysql_priv.h:
        declared opt_innodb to see it from handlers
      sql/mysqld.cc:
        Don't include Innodb_*  status variables into "show status" if we
        are compiling without InnoDB
      sql/sql_show.cc:
        mysqld_show modified and split into two parts to support enclosed
        arrays in the show_var_st structure. This is a part of
        WL2059 Engine-specific status variables framework.
      sql/structs.h:
        Added new value to mark enclosed array in the status variables array
      4dac69eb
  23. 16 Nov, 2004 4 commits
    • unknown's avatar
      ha_innodb.cc: · d711df11
      unknown authored
        Anthony's http://lists.mysql.com/internals/18505 patch for DROP DATABASE broke caused it to return errno if .ibd files were present (bas_ext() was obsolete in ha_innodb.cc); fix this
      
      
      sql/ha_innodb.cc:
        Anthony's http://lists.mysql.com/internals/18505 patch for DROP DATABASE broke caused it to return errno if .ibd files were present (bas_ext() was obsolete in ha_innodb.cc); fix this
      d711df11
    • unknown's avatar
      ha_innodb.cc: · 7d074100
      unknown authored
      Manually ported this bug fix from 4.0: 
       Fix InnoDB bug #6287: if one uses INSERT IGNORE to insert several rows at a time, and the first inserts are ignored because of a duplicate key collision, then InnoDB in a replication slave assigns AUTO_INCREMENT values 1 bigger than in the master
      
      
      sql/ha_innodb.cc:
        Fix InnoDB bug #6287: if one uses INSERT IGNORE to insert several rows at a time, and the first inserts are ignored because of a duplicate key collision, then InnoDB in a replication slave assigns AUTO_INCREMENT values 1 bigger than in the master
      7d074100
    • unknown's avatar
      ha_innodb.cc: · 16d735ad
      unknown authored
        Fix InnoDB bug #6287: if one uses INSERT IGNORE to insert several rows at a time, and the first inserts are ignored because of a duplicate key collision, then InnoDB in a replication slave assigns AUTO_INCREMENT values 1 bigger than in the master
      
      
      sql/ha_innodb.cc:
        Fix InnoDB bug #6287: if one uses INSERT IGNORE to insert several rows at a time, and the first inserts are ignored because of a duplicate key collision, then InnoDB in a replication slave assigns AUTO_INCREMENT values 1 bigger than in the master
      16d735ad
    • unknown's avatar
      Fixing a linking problem that occurs with some compilers, due to · 5119d6f7
      unknown authored
      unresolved symbols.
      
      
      5119d6f7
  24. 13 Nov, 2004 2 commits
    • unknown's avatar
      now my_printf_error is not better then my_error, but my_error call is shorter · 8d71bcec
      unknown authored
      used only one implementation of format parser of (printf)
      fixed multistatement
      
      
      include/mysqld_error.h:
        newerror messages
      mysql-test/t/key.test:
        unknown error replaced with real error
      mysys/my_error.c:
        my_error & my_printf_error use my_vsprintf
      sql/field_conv.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/ha_innodb.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/handler.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_cmpfunc.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_func.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_strfunc.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/lock.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/log.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/parse_file.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/procedure.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/protocol.cc:
        no need reset thd->lex->found_colon to break multiline sequance now, send_error called too late
      sql/repl_failsafe.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/set_var.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/share/czech/errmsg.txt:
        new errors converted from unknown error
      sql/share/danish/errmsg.txt:
        new errors converted from unknown error
      sql/share/dutch/errmsg.txt:
        new errors converted from unknown error
      sql/share/english/errmsg.txt:
        new errors converted from unknown error
      sql/share/estonian/errmsg.txt:
        new errors converted from unknown error
      sql/share/french/errmsg.txt:
        new errors converted from unknown error
      sql/share/german/errmsg.txt:
        new errors converted from unknown error
      sql/share/greek/errmsg.txt:
        new errors converted from unknown error
      sql/share/hungarian/errmsg.txt:
        new errors converted from unknown error
      sql/share/italian/errmsg.txt:
        new errors converted from unknown error
      sql/share/japanese/errmsg.txt:
        new errors converted from unknown error
      sql/share/korean/errmsg.txt:
        new errors converted from unknown error
      sql/share/norwegian-ny/errmsg.txt:
        new errors converted from unknown error
      sql/share/norwegian/errmsg.txt:
        new errors converted from unknown error
      sql/share/polish/errmsg.txt:
        new errors converted from unknown error
      sql/share/portuguese/errmsg.txt:
        new errors converted from unknown error
      sql/share/romanian/errmsg.txt:
        new errors converted from unknown error
      sql/share/russian/errmsg.txt:
        new errors converted from unknown error
      sql/share/serbian/errmsg.txt:
        new errors converted from unknown error
      sql/share/slovak/errmsg.txt:
        new errors converted from unknown error
      sql/share/spanish/errmsg.txt:
        new errors converted from unknown error
      sql/share/swedish/errmsg.txt:
        new errors converted from unknown error
      sql/share/ukrainian/errmsg.txt:
        new errors converted from unknown error
      sql/slave.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sp.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sp_head.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_acl.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_analyse.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_base.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_class.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_db.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_delete.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_handler.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_insert.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_load.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_map.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_parse.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
        multi-row command fixed
      sql/sql_prepare.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
        remover send_error ingected from 4.1
      sql/sql_rename.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_repl.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_select.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_show.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_table.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_trigger.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_udf.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_update.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_view.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_yacc.yy:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/table.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      strings/my_vsnprintf.c:
        * format support added to my_vsprint
      8d71bcec
    • unknown's avatar
      WL#1629: SHOW with WHERE(partially) & · 7281d2e3
      unknown authored
      WL#173:  Create Data Dictionary Tables for SHOW Commands
      
      
      7281d2e3
  25. 12 Nov, 2004 1 commit
    • unknown's avatar
      post-review fixes · 9e921615
      unknown authored
      mysql-test/r/rpl_rotate_logs.result:
        removed host dependence in error messages
      mysql-test/t/rpl_rotate_logs.test:
        removed host dependence in error messages
      mysys/my_error.c:
        comment about using my_error family functions
      sql/filesort.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/ha_innodb.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_cmpfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_func.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_strfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_subselect.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_sum.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/lock.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/log.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/mysql_priv.h:
        error check moved to fill_record
      sql/mysqld.cc:
        fixed error messages
      sql/parse_file.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol_cursor.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/repl_failsafe.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/set_var.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/slave.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_head.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_rcontext.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_acl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_analyse.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_base.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_class.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_class.h:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_db.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_delete.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_help.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_insert.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_lex.cc:
        layout fixed
      sql/sql_load.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_map.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_parse.cc:
        error check moved to fill_record
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_prepare.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_rename.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_repl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_select.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_show.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_trigger.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_udf.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_union.cc:
        error check moved to fill_record
      sql/sql_update.cc:
        error check moved to fill_record
      sql/sql_view.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_yacc.yy:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/unireg.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      9e921615
  26. 08 Nov, 2004 1 commit
    • unknown's avatar
      Fixed a bug in UPDATE statement with no index column in where condition · 20c82f5c
      unknown authored
      locks all rows (BUG #3300). When using innobase_locks_unsafe_for_binlog
      option InnoDB does not take locks for those rows which do not
      belong to the result set or werent changed by the query. This fix removes
      unnecessary locks also from SELECT and DELETE queries.
      
      
      innobase/include/row0mysql.h:
        Added prototype for row_unlock_for_mysql() function which does an unlock of 
        a row for MySQL.
      innobase/include/trx0trx.h:
        Added a field trx_create_lock to a transaction structure. This field is
        TRUE if we have created a new lock for a record accessed.
      innobase/lock/lock0lock.c:
        Set lock create flag if lock is created and reset this flag before 
        transaction requests a lock.
      innobase/row/row0mysql.c:
        Add support for unlocking a row in InnoDB. If we are using 
        innobase_locks_unsafe_for_binlog option then all those record 
        locks obtained by SQL-query which do not belong to result set 
        or were not modified are unlocked i.e. we remove the lock from 
        those records.
      sql/ha_innodb.cc:
        Added support for a unlock_row interface in InnoDB.
      sql/ha_innodb.h:
        Added prototype for a function unlock_row().
      20c82f5c
  27. 04 Nov, 2004 1 commit
    • unknown's avatar
      ha_innodb.cc: · f2be61f5
      unknown authored
        write_row(): document the ALTER TABLE tweak better,
        and commit every n*10000 rows, not n*10000-1 rows.
      
      
      sql/ha_innodb.cc:
        write_row(): document the ALTER TABLE tweak better,
        and commit every n*10000 rows, not n*10000-1 rows.
      f2be61f5
  28. 03 Nov, 2004 1 commit
    • unknown's avatar
      InnoDB: commit after every 10000 rows in ALTER TABLE · d07f96cf
      unknown authored
      innobase/include/lock0lock.h:
        Added function lock_get_ix_table()
      innobase/include/row0mysql.h:
        Added parameter "table" to row_lock_table_for_mysql()
      innobase/lock/lock0lock.c:
        Added function lock_get_ix_table()
      innobase/row/row0mysql.c:
        Added parameter "table" to row_lock_table_for_mysql()
      sql/ha_innodb.cc:
        write_row(): commit every 10000 rows in ALTER TABLE
      sql/ha_innodb.h:
        Added member variable num_write_row
      d07f96cf
  29. 02 Nov, 2004 1 commit
    • unknown's avatar
      ha_innodb.cc: · b3042ccb
      unknown authored
        Correct English grammar
      
      
      sql/ha_innodb.cc:
        Correct English grammar
      b3042ccb