An error occurred fetching the project authors.
  1. 18 May, 2005 2 commits
    • unknown's avatar
      Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE · 0461b482
      unknown authored
      After review version.
      Added a condition for MERGE tables. These do not have unique
      indexes. But every key could be a unique key on the underlying
      MyISAM table. So get the maximum key length for MERGE tables
      instead of the maximum unique key length. This is used for
      buffer allocation in write_record().
      
      
      mysql-test/r/merge.result:
        Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
        The test result.
      mysql-test/t/merge.test:
        Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
        The test case does not in all cases show the problem
        without the bugfix. The improper memory allocation
        might get through undetected in many cases.
      sql/ha_myisammrg.h:
        Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
        Set a table_flag for the MERGE engine telling that any index
        might be unique without being specified as such.
      sql/handler.h:
        Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
        Added a new table_flag telling that any index
        might be unique without being specified as such.
      sql/sql_insert.cc:
        Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
        Changed the freeing of the memory to be symmetric to its
        allocation (my_safe_alloc -> my_safe_afree).
        This is not directly related to the bug.
      sql/table.cc:
        Bug#10400 - Improperly-defined MERGE table crashes with INSERT ... ON DUPLICATE KEY UPDATE
        Added a condition for MERGE tables. These do not have unique
        indexes. But every key could be a unique key on the underlying
        MyISAM table. So get the maximum key length for MERGE tables
        instead of the maximum unique key length. This is used for
        buffer allocation in write_record().
      0461b482
    • unknown's avatar
      Change update_auto_increment to return 1 if get_auto_increment() returned ~(ulonglong) · ef342b74
      unknown authored
      This makes it easier to give an error in the handler if there was a problem generating an auto-increment value
      
      
      mysys/thr_alarm.c:
        Remove warning from valgrind
      sql/item_strfunc.cc:
        Fixed indentation
      tests/mysql_client_test.c:
        Removed compiler warning
      ef342b74
  2. 13 May, 2005 1 commit
    • unknown's avatar
      Change create_field->offset to store offset from start of fields, independent of null bits. · 7c441dd1
      unknown authored
      Count null_bits separately from field offsets and adjust them in case of primary key parts.
      (Previously a CREATE TABLE with a lot of null fields that was part of a primary key caused MySQL to wrongly count the number of bytes needed to store null bits)
      This is a more complete bug fix for #6236
      
      
      mysql-test/r/alter_table.result:
        More test for bug #6236 (CREATE TABLE didn't properly count not null columns for primary keys)
      mysql-test/t/alter_table.test:
        More test for bug #6236 (CREATE TABLE didn't properly count not null columns for primary keys)
      sql/handler.h:
        Add counter for null fields
      sql/sql_table.cc:
        Change create_field->offset to store offset from start of fields, independent of null bits.
        Count null_bits separately from field offsets and adjust them in case of primary key parts.
      sql/unireg.cc:
        Change create_field->offset to store offset from start of fields, independent of null bits.
        Count null_bits separately from field offsets and adjust them in case of primary key parts.
      7c441dd1
  3. 04 May, 2005 1 commit
    • unknown's avatar
      BUG#10241 cygwin port: invalid pragma interface directives · 9ab5f614
      unknown authored
       - Introduce ifdefs so we can control when to use #pragma interface on cygwin
      
      
      include/my_global.h:
        Turn on use of #pragma implementation and #pragma interface if compiled with GCC and platform != Cygwin
      include/raid.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/examples/ha_archive.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/examples/ha_example.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/field.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_berkeley.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_blackhole.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_heap.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_innodb.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_isam.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_isammrg.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_myisam.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_myisammrg.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/ha_ndbcluster.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/handler.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_cmpfunc.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_func.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_geofunc.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_strfunc.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_subselect.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_sum.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/item_timefunc.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/opt_range.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/procedure.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/protocol.h:
        replace __GNUC__ with USE_PRAGMA_IMPLEMENTATION
      sql/set_var.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/sql_class.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/sql_list.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/sql_select.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/sql_string.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/sql_udf.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      sql/tztime.h:
        replace __GNUC__ with USE_PRAGMA_INTERFACE
      9ab5f614
  4. 20 Apr, 2005 1 commit
    • unknown's avatar
      Many files: · 273d78e1
      unknown authored
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      
      
      sql/ha_innodb.cc:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      sql/handler.cc:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      sql/mysqld.cc:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      sql/set_var.cc:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      sql/sql_repl.cc:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      sql/ha_innodb.h:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      sql/handler.h:
        Semi-synchronous replication for InnoDB type tables; before telling the client that a commit has been processed, wait that the replication thread has returned from my_net_send() where it sends the binlog to the slave; note that TCP/IP, even with the TCP_NODELAY option does not guarantee that the slave has RECEIVED the data - this is just heuristic at the moment; this is useful in failover: in almost all cases, every transaction that has returned from the commit has been sent and processed in the slave, which makes failover to the slave simpler if the master crashes; the code does not work yet as is, because MySQL should call innobase_report_binlog_offset_and_commit() in a commit; we will most probably return that call to 5.0.x, to make InnoDB Hot Backup and group commit to work again; XA code broke them temporarily in 5.0.3
      273d78e1
  5. 14 Apr, 2005 1 commit
    • unknown's avatar
      Check that the default storage engine is really available, and · e687d6be
      unknown authored
      refuse to start up if it is not. (Bug #9815)
      
      
      sql/handler.cc:
        Add ha_storage_engine_is_enabled function.
      sql/handler.h:
        Declare ha_storage_engine_is_enabled()
      sql/mysqld.cc:
        Abort startup if the specified default storage engine is
        not available.
      e687d6be
  6. 07 Apr, 2005 2 commits
    • unknown's avatar
      Moved some old test and added a new test to only be run with mysql-test-run --big · e10d8144
      unknown authored
      Fixed warnings by valgrind for sum_distinct.test
      Enable buffered-record-reads after filesort for InnoDB tables with short primary key
      Enabled sort-with-data for MyISAM temporary files
      
      
      BitKeeper/etc/ignore:
        added tools/mysqltestmanager
      client/mysqltest.c:
        Ensure that BIG_TEST is always set to 0 or 1
        Fix the 'eval' also honors 'require'
      mysql-test/mysql-test-run.sh:
        Enlarge InnoDB table space for --big tests
      mysql-test/r/heap.result:
        Fix after adding more optimzation for filsort
      mysql-test/r/sum_distinct.result:
        Move 'slow' part of test to sum_distinct-big.test
      mysql-test/t/heap.test:
        Ensure that results are indpendent of optimizer
      mysql-test/t/sum_distinct.test:
        Move 'slow' part of test to sum_distinct-big.test
      sql/filesort.cc:
        Use 'sort with data' also on temporary files and with INSERT ... SELECT
      sql/ha_innodb.h:
        Remove HA_FAST_KEY_READ to enable buffered-record-reads after filesort
      sql/handler.h:
        More comments
      sql/mysql_priv.h:
        A bit smaller limit for cache for buffered-records-read (after testing)
      sql/records.cc:
        Don't use buffered-record-reads if ref_length > MAX_REFLENGTH
        Fixed warning from valgrind in 'sum_distinct'
      sql/sql_select.cc:
        Ensure that tempory tables has query_id set for all fields
        (Required for sort-with-data to work on temp files)
      e10d8144
    • unknown's avatar
      InnoDB: Prevent ALTER TABLE ... ENGINE=... · f7356d73
      unknown authored
      if there are foreign key constraints on the table. (Bug #5574)
      
      
      sql/ha_innodb.cc:
        Add method can_switch_engines()
      sql/ha_innodb.h:
        Add method can_switch_engines()
      sql/handler.h:
        Add method can_switch_engines()
      sql/sql_table.cc:
        Check handler::can_switch_engines() before switching storage engines
      f7356d73
  7. 03 Apr, 2005 1 commit
    • unknown's avatar
      XID SQL syntax · 2fc4270b
      unknown authored
      minor cleanups
      XA tests
      
      
      include/m_ctype.h:
        minor cleanup
      sql/field.cc:
        minor cleanup
      sql/handler.cc:
        XID SQL syntax
      sql/handler.h:
        XID SQL syntax
      sql/item_sum.h:
        minor cleanup
      sql/lock.cc:
        comments
      sql/sql_class.cc:
        minor cleanup
      sql/sql_lex.h:
        XID SQL syntax
      sql/sql_parse.cc:
        XID SQL syntax
      sql/sql_yacc.yy:
        XID SQL syntax
        cleanups
      2fc4270b
  8. 25 Mar, 2005 1 commit
    • unknown's avatar
      Fix upgrade/downgrade issue. · fdd4cb8f
      unknown authored
      mysql-test/r/ps_1general.result:
        Fix test case.
      sql/handler.h:
        Added federated to the list so that any beta users won't end up with a mismatch for table enum
      fdd4cb8f
  9. 23 Mar, 2005 1 commit
    • unknown's avatar
      Additional storage engine called "blackhole". Customer request, and for that... · 8a99997d
      unknown authored
      Additional storage engine called "blackhole". Customer request, and for that matter a Zawodny request.  With this you can alter table to a type of table that would never store data. Its a /dev/null for a database.  
      
      
      acinclude.m4:
        New macro rule for ha_blackhole.
      configure.in:
        Rule enabling blackhole engine
      sql/Makefile.am:
        Additions to Makefile for blackhole engine
      sql/handler.cc:
        Ifdef enable code for blackhole (and message for "what does this thing do").
      sql/handler.h:
        Flag for storage engine type.
      sql/mysql_priv.h:
        Added blackhole type.
      sql/mysqld.cc:
        Updates for building backhole.
      sql/set_var.cc:
        Show variable for blackhole engine
      8a99997d
  10. 19 Mar, 2005 1 commit
    • unknown's avatar
      Eliminate warnings noticed by VC7. This includes fixing my_mmap() on · 892a6138
      unknown authored
      Windows to call CreateFileMapping() with correct arguments, and
      propogating the introduction of query_id_t to everywhere query ids are
      passed around. (Bug #8826)
      
      
      libmysql/libmysql.c:
        Make implicit cast explicit
      myisam/mi_open.c:
        Make cast of value to smaller data size explicit
      myisam/mi_packrec.c:
        Cast file size (my_off_t) to size_t for mmap
      mysys/my_mmap.c:
        Fix Windows version of my_mmap() to use the right parameters
        for call to CreateFileMapping()
      sql/field.cc:
        Use temporary value of correct type
      sql/field.h:
        Use query_id_t for query_id value
      sql/ha_berkeley.cc:
        Fix flag check
      sql/ha_innodb.h:
        Use query_id_t for query_id value
      sql/handler.cc:
        Explain opt_using_transactions calculation, and add cast
      sql/handler.h:
        Fix forward declaration of COND
      sql/item.cc:
        Fix val_bool() tests of val_int() to avoid implicit cast
      sql/item_cmpfunc.cc:
        Fix typo in switch label
      sql/item_func.cc:
        Make implicit cast explicit
      sql/item_strfunc.cc:
        Now that query_id is a query_id_t, need to cast it to a ulong here
      sql/item_subselect.cc:
        Fix test of value
      sql/log.cc:
        Cast my_off_t used for file size to size_t for memory allocation
        Also cast my_off_t when using it to calculate the number of pages for TC log
        Cast total_ha_2pc to uchar when saving it
      sql/mysql_priv.h:
        Move up query_id definition so it can be used more widely
      sql/opt_range.cc:
        Add unused delete operator to prevent compiler warning
      sql/set_var.cc:
        Cast value for max_user_connections
      sql/sql_cache.cc:
        Remove unused label
      sql/sql_class.h:
        Fix query id values to be of type query_id_t
      sql/sql_db.cc:
        Move variable only used inside #ifdef within the #ifdef
      sql/sql_help.cc:
        Remove unused label
      sql/sql_insert.cc:
        Use query_id_t for query id values
      sql/sql_lex.h:
        Add unused delete operator to prevent compiler warning
      sql/sql_select.cc:
        Remove unused variable
        Make cast of value explicit
      sql/sql_select.h:
        Use query_id_t for query id values
      sql/sql_table.cc:
        Make comparison to function pointer explicit
      sql/sql_update.cc:
        Use query_id_t for query id values
      sql/table.h:
        Use query_id_t for query id values
      strings/ctype-simple.c:
        Add cast of long value to (char) in expression
      strings/ctype-ucs2.c:
        Add cast of long value to (char) in expression
      strings/ctype-utf8.c:
        Make cast to smaller size explicit
      892a6138
  11. 13 Mar, 2005 1 commit
    • unknown's avatar
      print xa recovery progress · ec372b09
      unknown authored
      add names to handlertons
      trans_need_2pc() macro
      
      
      sql/examples/ha_archive.cc:
        add names to handlertons
      sql/ha_berkeley.cc:
        add names to handlertons
      sql/ha_innodb.cc:
        add names to handlertons
      sql/ha_ndbcluster.cc:
        add names to handlertons
      sql/handler.cc:
        print xa recovery progress
      sql/handler.h:
        add names to handlertons
        trans_need_2pc() macro
      sql/log.cc:
        add names to handlertons
      ec372b09
  12. 23 Feb, 2005 2 commits
    • unknown's avatar
      don't log BEGIN in auto-commit mode · be9f1863
      unknown authored
      correct end_log_pos for Xid_log_event
      
      
      mysql-test/r/binlog.result:
        don't depend on the previous tests
      mysql-test/r/rpl_rotate_logs.result:
        correct end_log_pos for Xid_log_event
      mysql-test/t/binlog.test:
        don't depend on the previous tests
      sql/handler.h:
        comment
      sql/log_event.cc:
        advance position for Xid
      sql/log_event.h:
        comment
      sql/sql_class.h:
        correct end_log_pos for Xid_log_event
      sql/sql_parse.cc:
        make sure commit handler knows whether it's autocommit or not
      be9f1863
    • unknown's avatar
      Fixes for condition pushdown to storage engine based on comments from code review · 9968b41d
      unknown authored
      mysql-test/r/ndb_condition_pushdown.result:
        Added more tests  for condition pushdown to storage engine based on comments from code review
      mysql-test/t/ndb_condition_pushdown.test:
        Added more tests  for condition pushdown to storage engine based on comments from code review
      9968b41d
  13. 22 Feb, 2005 1 commit
    • unknown's avatar
      compatibility fixes, crashing tests · 7caef7f4
      unknown authored
      include/my_sys.h:
        sol9x86, sunfire100b, qnx compatibility
      mysql-test/t/rpl_rotate_logs.test:
        fix the test
      sql/ha_innodb.cc:
        don't bother
      sql/handler.cc:
        few more ways to crash mysqld :)
      sql/handler.h:
        gdb/safemalloc workaround
      sql/log.cc:
        rotate a binlog on heuristic recover
      sql/mysqld.cc:
        rotate a binlog on heuristic recover
      7caef7f4
  14. 21 Feb, 2005 3 commits
    • unknown's avatar
      Generate warning in ha_delete_table() if files is missing in handler · 8cb6031d
      unknown authored
      
      mysql-test/r/myisam.result:
        Test of DROP TABLE when .MYI or .MYD is missing
      mysql-test/r/ndb_autodiscover.result:
        Update test results
      mysql-test/r/rpl_EE_error.result:
        Change test to conform with new handling of drop table when handler file is missing
      mysql-test/t/myisam.test:
        Test of DROP TABLE when .MYI or .MYD is missing
      mysql-test/t/rpl_EE_error.test:
        Change test to conform with new handling of drop table when handler file is missing
      sql/handler.cc:
        Generate a warning in ha_delete_table() if we get an error from 'delete_table()'
      sql/handler.h:
        More parameters to ha_delete_table() so that we can generate better error messages
      sql/sql_table.cc:
        Generate warning in ha_delete_table()
      8cb6031d
    • unknown's avatar
      Review of new pushed code (XA & other) · d50af8ae
      unknown authored
      Portability fixes and cleanups
      Fixed setting of 'res' in mysql_execute_command()
      
      
      sql/handler.cc:
        delete_table() will not return error for not found files if one handler file was found and deleted
      sql/handler.h:
        Incremented MAX_HA so that ndb works again
        Don't convert char pointer to (my_xid*) as we don't know if the address is aligned on 8
      sql/log.cc:
        Indentation fixes
        Simplified loop to find next log
        Fixed race condition in reset_logs that caused mix_innodb_myisam_binlog to fail
      sql/log_event.cc:
        Don't convert char pointer to (my_xid*) as we don't know if the address is aligned on 8
      sql/sql_acl.cc:
        Convert db name directly to avoid extra strmov
      sql/sql_base.cc:
        Added comment
        Removed not needed code
      sql/sql_db.cc:
        Added comment
        Remove not needed code
      sql/sql_parse.cc:
        Always call mysql_rm_db() with lower case db name
        Ensure that 'res' is set correctly in mysql_execute_command()
        (One don't have to set res if one calls my_error() and res should be = 0 for correct commands)
      sql/sql_repl.cc:
        Indentation fixes
        use packet->ptr() instead of packet->c_ptr()
      sql/sql_table.cc:
        Join similar code when table didn't exist in engine
      d50af8ae
    • unknown's avatar
      xa assert fixes · 2d044701
      unknown authored
      sql/handler.cc:
        more DBUG
      sql/handler.h:
        increase MAX_HA (ha_archive has its handlerton too)
      sql/log.cc:
        fix assert
      2d044701
  15. 16 Feb, 2005 1 commit
  16. 11 Feb, 2005 1 commit
  17. 08 Feb, 2005 1 commit
    • unknown's avatar
      InnoDB: Make SHOW TABLE STATUS report Row_format=Compact and · 198578d6
      unknown authored
      Row_format=Redundant
      
      
      sql/ha_innodb.cc:
        Implement get_row_type()
      sql/ha_innodb.h:
        Declare get_row_type()
      sql/handler.h:
        Declare get_row_type()
      sql/sql_show.cc:
        get_schema_tables_record(): Primarily invoke handler::get_row_type()
        in order to determine the row type within the storage engine.
        Secondarily use the old method of examining the HA_OPTION flags.
      198578d6
  18. 04 Feb, 2005 2 commits
    • unknown's avatar
      indexless boolean fulltext search was depending on default_charset_info - Bug#8159 · 8c750c46
      unknown authored
      ftbw->off wasn't cleared on reinit - Bug#8234
      
      
      include/ft_global.h:
        get rid of default_charset_info in indexless fulltext searches
      myisam/ft_boolean_search.c:
        get rid of default_charset_info in indexless fulltext searches
        clear ftbw->off on reinits
      myisam/ft_static.c:
        get rid of default_charset_info in indexless fulltext searches
      myisam/ftdefs.h:
        get rid of default_charset_info in indexless fulltext searches
      sql/ha_myisam.h:
        get rid of default_charset_info in indexless fulltext searches
      sql/handler.h:
        get rid of default_charset_info in indexless fulltext searches
      sql/item_func.cc:
        get rid of default_charset_info in indexless fulltext searches
      8c750c46
    • unknown's avatar
      Merge of query cache from 4.1 to 5.0 · 03bc5997
      unknown authored
      mysql-test/r/ndb_cache.result:
        Added 'order by' to select's
      mysql-test/r/ndb_cache2.result:
        Added 'order by' to select's
      mysql-test/t/ndb_cache.test:
        Added 'order by' to select's
      mysql-test/t/ndb_cache2.test:
        Added 'order by' to select's
      sql/ha_innodb.h:
        Changed function name
      sql/ha_ndbcluster.cc:
        Merge from query cache from 4.1 to 5.0
        Added better comments
        ndb_get_table_statistics had changed, so there where some adaptions to make
      sql/ha_ndbcluster.h:
        Changed name of function
      sql/handler.h:
        Changed name of function
      sql/sql_cache.cc:
        Changed name of function
      03bc5997
  19. 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
  20. 27 Jan, 2005 1 commit
    • unknown's avatar
      query_id and my_xid -> ulonglong · 042448aa
      unknown authored
      fix for binlog+autocommit+tclog
      comments, style fixes
      
      
      libmysqld/libmysqld.rc:
        Change mode to -rw-rw-r--
      libmysqld/resource.h:
        Change mode to -rw-rw-r--
      configure.in:
        check for getpagesize
      include/my_global.h:
        typo ?
      include/my_pthread.h:
        bug in thread_safe_decrement_and_test()
      mysql-test/r/bdb.result:
        results updated
      mysql-test/r/innodb.result:
        results updated
      mysql-test/r/mix_innodb_myisam_binlog.result:
        results updated
      mysql-test/r/rpl_relayrotate.result:
        results updated
      sql/ha_berkeley.cc:
        style fixes
      sql/ha_innodb.cc:
        fixes to follow innodb coding style
      sql/handler.cc:
        more comments. XA COMMIT ONE PHASE fix.
      sql/handler.h:
        my_xid -> ulonglong. comments
      sql/item_func.cc:
        DO RELEASE_LOCK("...") is no cache_stmt
      sql/log.cc:
        comments, better error messages
      sql/log_event.cc:
        even in autocommit mode we may need to cache_stmt
        xid is ulonglong
      sql/log_event.h:
        more comments.
      sql/mysql_priv.h:
        query_id is ulonglong
      sql/mysqld.cc:
        default value for --log-tc changed
      sql/share/errmsg.txt:
        better error messages
      sql/sql_class.h:
        cleanup, comments
      sql/sql_delete.cc:
        deleting from temporary tables is not always transactional
      sql/sql_insert.cc:
        insert into temporary table is not always transactional
      sql/sql_load.cc:
        load data into temp table is not always transactional
      sql/sql_parse.cc:
        comments. bad merge fixed. xa_state_names[]
      sql/sql_table.cc:
        create/drop temp table is not always transactional
      sql/sql_update.cc:
        update temp table is not always transactional
      042448aa
  21. 16 Jan, 2005 2 commits
    • unknown's avatar
      documented handlerton structure · a7401bf7
      unknown authored
      a7401bf7
    • unknown's avatar
      XA (not completely polished out yet) · 88bd301d
      unknown authored
      include/my_pthread.h:
        cleanup. don't use gcc extensions
      innobase/include/trx0sys.ic:
        Jan's fix for innobase_xa_prepare
      innobase/read/read0read.c:
        Jan's fix for innobase_xa_prepare
      innobase/trx/trx0trx.c:
        Jan's fix for innobase_xa_prepare
      mysql-test/include/varchar.inc:
        test fix
      mysql-test/r/ctype_ucs.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/drop_temp_table.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/insert_select.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/mix_innodb_myisam_binlog.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/myisam.result:
        test fix
      mysql-test/r/rpl000015.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_change_master.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_charset.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_error_ignored_table.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_flush_log_loop.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_flush_tables.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_loaddata.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_loaddata_rule_m.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_loaddata_rule_s.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_log.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_log_pos.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_max_relay_size.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_relayrotate.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_replicate_do.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_reset_slave.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_rotate_logs.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_server_id1.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_server_id2.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_temporary.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_timezone.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_until.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/rpl_user_variables.result:
        new log event - all binlog positions are changed :(
      mysql-test/r/user_var.result:
        new log event - all binlog positions are changed :(
      mysql-test/t/ctype_ucs.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/mix_innodb_myisam_binlog.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/mysqlbinlog.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/mysqlbinlog2.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_charset.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_error_ignored_table.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_loaddata_rule_m.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_loaddata_rule_s.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_log.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_log_pos.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/rpl_user_variables.test:
        new log event - all binlog positions are changed :(
      mysql-test/t/user_var.test:
        new log event - all binlog positions are changed :(
      mysys/hash.c:
        typo fixed
      sql/ha_berkeley.cc:
        handlerton framework
      sql/ha_berkeley.h:
        handlerton framework
      sql/ha_innodb.cc:
        handlerton framework
      sql/ha_innodb.h:
        handlerton framework
      sql/handler.cc:
        new transaction handling, handlerton framework, two-phase commit, XA support
      sql/handler.h:
        new transaction handling, handlerton framework, two-phase commit, XA support
      sql/lex.h:
        XA commands
      sql/log.cc:
        new transaction handling, handlerton framework, two-phase commit,
        XA support, tc-logging, TC_LOG_MMAP class
      sql/log_event.cc:
        Xid_log_event
      sql/log_event.h:
        Xid_log_event, LOG_EVENT_BINLOG_CLOSED_F flag
      sql/mysql_priv.h:
        wrapper for query_id++
      sql/mysqld.cc:
        new command-line options --log-tc, --log-tc-size, --tc-heuristic-recover,
        new status variables Tc_log_page_size, Tc_log_max_pages_used, Tc_log_page_waits.
        init/stop tc logging
      sql/set_var.h:
        warning fixed
      sql/share/errmsg.txt:
        XA error messages
      sql/sp_head.cc:
        s/query_id++/next_query_id()/
      sql/sql_base.cc:
        typo fixed. new transaction handling.
      sql/sql_class.cc:
        cleanup of THD.transaction
      sql/sql_class.h:
        TC_LOG classes, new status variables, new savepoint handling, XA support
      sql/sql_insert.cc:
        comments
      sql/sql_lex.cc:
        s/found_colon/found_semicolon/
      sql/sql_lex.h:
        SQLCOM_XA_xxx, XA related changes in Lex
      sql/sql_parse.cc:
        cleanup, XA commands, new savepoint handling
      sql/sql_repl.cc:
        two functions moved to log.cc
      sql/sql_repl.h:
        two functions moved to log.cc
      sql/sql_trigger.cc:
        s/lex.name_and_length/lex.ident/
      sql/sql_yacc.yy:
        XA commands, cleanup
      88bd301d
  22. 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
  23. 27 Dec, 2004 1 commit
  24. 23 Dec, 2004 1 commit
    • unknown's avatar
      WL#2126 - Multi_read_range. · 8d11c01c
      unknown authored
      Added the required structures and functions for
      handing over multiple key ranges to the table handler.
      
      
      include/my_base.h:
        WL#2126 - Multi_read_range.
        Moved key range flags from sql/opt_range.h to here.
        Added the multi-range structure.
      sql/handler.cc:
        WL#2126 - Multi_read_range.
        Added the new table handler methods.
      sql/handler.h:
        WL#2126 - Multi_read_range.
        Added a new table flag.
        Added a declaration for the handler buffer.
        Added new elements to class handler.
        Added new function declarations.
      sql/mysqld.cc:
        WL#2126 - Multi_read_range.
        Added an option to set new system variable 'multi_range_count'.
      sql/opt_range.cc:
        WL#2126 - Multi_read_range.
        Added initialization for the new class members.
        Added initialization for the extended get_next().
        Added de-initialization for the allocated buffers.
        Added a buffer allocation method.
        Added an inner loop to collect multiple ranges.
        Adapted range collection loops to the new initialization.
      sql/opt_range.h:
        WL#2126 - Multi_read_range.
        Moved key range flags from here to include/my_base.h.
        Added new elements to class QUICK_RANGE_SELECT.
        Added a copy constructor.
      sql/records.cc:
        WL#2126 - Multi_read_range.
        Added a call of the allocation method.
      sql/set_var.cc:
        WL#2126 - Multi_read_range.
        Added the new system variable 'multi_range_count'.
      sql/sql_class.h:
        WL#2126 - Multi_read_range.
        Added the new system variable 'multi_range_count'.
      8d11c01c
  25. 17 Dec, 2004 2 commits
  26. 16 Dec, 2004 1 commit
  27. 11 Dec, 2004 1 commit
    • unknown's avatar
      First commit to mysql-5.0 tree to include MySQL Federated Storage Handler.... · 7d2e580c
      unknown authored
      First commit to mysql-5.0 tree to include MySQL Federated Storage Handler. This includes both the source and header files, test (results, test, require), and modifications to server and handler base files, and autoconf modifications to properly build federated handler.
      
      
      configure.in:
        inclusion of federated handler autoheader macro
      mysql-test/mysql-test-run.sh:
        allow usage of replication tests for federated handler
      sql/Makefile.am:
        inclusion of federated header and source file
      sql/field.h:
        overloaded method val_str() to work with fields in 'old_data' in 'update_row()'
      sql/handler.cc:
        added code to include federated handler
      sql/handler.h:
        add db type for federated
      sql/mysql_priv.h:
        added code for federated handler
      sql/mysqld.cc:
        added code for federated handler
      sql/set_var.cc:
        added code for federated handler
      7d2e580c
  28. 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
  29. 06 Dec, 2004 2 commits
    • unknown's avatar
      Removed need for storage engines to write a default external_lock() call. · 9740a876
      unknown authored
      sql/examples/ha_archive.cc:
        Removed external_lock call (no longer needed, we can now use the default).
      sql/examples/ha_archive.h:
        No need for an external_lock() call.
      sql/handler.h:
        Added default return value for external_lock().
      9740a876
    • 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
  30. 30 Nov, 2004 1 commit
    • 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
  31. 24 Nov, 2004 1 commit
    • unknown's avatar
      sql/ha_innodb.cc · 35502d45
      unknown authored
          enabled query cache for ndb
          modified engine interface somewhat
      sql/ha_innodb.h
          enabled query cache for ndb
          modified engine interface somewhat
      sql/ha_ndbcluster.cc
          enabled query cache for ndb
          modified engine interface somewhat
          ndb will only allow caching and retrieval if running autocommit
            - return false, but do not invalidate
          commit count is used as engine data, i.e.
            - store commit count before store of cache
            - allow retrieval if commit count has not changed on a table
            - invalidate if commit count has changed
      sql/ha_ndbcluster.h
          enabled query cache for ndb
          modified engine interface somewhat
      sql/handler.cc
          enabled query cache for ndb
          modified engine interface somewhat
      sql/handler.h
          enabled query cache for ndb
          modified engine interface somewhat
          new virtual handler method cached_table_registration called on each table before alowing store in query cache
            - return TRUE - ok to cache, FALSE - not allowed to cache, invalidate queries if engine_data below has changed
            - sets ulonglong (engine_data) that is stored in query cache for each table
            - sets callback to be called for each table before usage of cached query, callback = 0 -> no check later
      sql/mysql_priv.h
          enabled query cache for ndb
          modified engine interface somewhat
          callcack prototype for callback to engine before query cache retrieval
      sql/sql_cache.cc
          enabled query cache for ndb
          modified engine interface somewhat
          if callback is set on table in cache, do callback to check if allowed to use cache
          if not allowed to use cache, check if engine_data has changed, if so, invalidate all queries with that table
          + changes to store and pass callback and engine_data around
      sql/sql_cache.h
          enabled query cache for ndb
          modified engine interface somewhat
          changes to store callback and engine_data
      sql/table.h
          enabled query cache for ndb
          modified engine interface somewhat
          changes to store callback and engine_data
      
      
      sql/ha_innodb.cc:
        enabled query cache for ndb
        modified engine interface somewhat
      sql/ha_innodb.h:
        enabled query cache for ndb
        modified engine interface somewhat
      sql/ha_ndbcluster.cc:
        enabled query cache for ndb
        modified engine interface somewhat
        ndb will only allow caching and retrieval if running autocommit
          - return false, but do not invalidate
        commit count is used as engine data, i.e.
          - store commit count before store of cache
          - allow retrieval if commit count has not changed on a table
          - invalidate if commit count has changed
      sql/ha_ndbcluster.h:
        enabled query cache for ndb
        modified engine interface somewhat
      sql/handler.cc:
        enabled query cache for ndb
        modified engine interface somewhat
      sql/handler.h:
        enabled query cache for ndb
        modified engine interface somewhat
        new virtual handler method cached_table_registration called on each table before alowing store in query cache
          - return TRUE - ok to cache, FALSE - not allowed to cache, invalidate queries if engine_data below has changed
          - sets ulonglong (engine_data) that is stored in query cache for each table
          - sets callback to be called for each table before usage of cached query, callback = 0 -> no check later
      sql/mysql_priv.h:
        enabled query cache for ndb
        modified engine interface somewhat
        callcack prototype for callback to engine before query cache retrieval
      sql/sql_cache.cc:
        enabled query cache for ndb
        modified engine interface somewhat
        if callback is set on table in cache, do callback to check if allowed to use cache
        if not allowed to use cache, check if engine_data has changed, if so, invalidate all queries with that table
        + changes to store and pass callback and engine_data around
      sql/sql_cache.h:
        enabled query cache for ndb
        modified engine interface somewhat
        changes to store callback and engine_data
      sql/table.h:
        enabled query cache for ndb
        modified engine interface somewhat
        changes to store callback and engine_data
      35502d45