An error occurred fetching the project authors.
  1. 09 Jun, 2005 1 commit
    • unknown's avatar
      Bug#11028 Crash on create table like · c995109b
      unknown authored
        Report error instead of crashing
      
      
      mysql-test/r/create.result:
        Test for bug 11028
      mysql-test/t/create.test:
        Test for bug 11028
      sql/sql_table.cc:
        fix for null db name
      c995109b
  2. 08 Jun, 2005 1 commit
    • unknown's avatar
      BUG#10365 Cluster handler uses non-standard error codes · 09944efd
      unknown authored
       - Added better error messages when trying to open a table that can't be discovered or unpacked. The most likely cause of this is that it does not have any frm data, probably since it has been created from NdbApi or is a NDB system table.
       - Separated functionality that was in ha_create_table_from_engine into two functions. One that checks if the table exists and another one that tries to create the table from the engine.
      
      
      mysql-test/r/ndb_autodiscover.result:
        Add tests for reading from a table that can't be discovered(SYSTAB_0)
        Discovery is not performed during create table anymore.
      mysql-test/t/ndb_autodiscover.test:
        Add tests for reading from a table that can't be discovered(SYSTAB_0)
        Discovery is not performed during create table anymore.
      ndb/test/ndbapi/create_tab.cpp:
        Set connectstring before creating Ndb object.
      sql/ha_ndbcluster.cc:
        Rename and use the function ndbcluster_table_exists_in_engine.
        Correct return valu from ndbcluster_discover
        Remove old code "ndb_discover_tables"
      sql/ha_ndbcluster.h:
        Rename function ndbcluster_table_exists to ndb ndbcluster_table_exists_in_engine
      sql/handler.cc:
        Update comment of ha_create_table_from_engine
        Remove parameter create_if_found from ha_create_table_from_engine, the function ha_table_exists_in_engine is now used toi check if table is found in engine.
        Cleanup return codes from ha_create_table_from_engine.
        Change name of ha_table_exists to ha_table_exists_in_engine, update comment and returne codes.
      sql/handler.h:
        Remove paramter create_if_cound from  ha_create_table_from_engine
        Rename ha_table_exists to ha_table_exists_in_engine
      sql/sql_base.cc:
        Use the function ha_table_exists_in_engine to detect if table exists in enegine. 
        If it exists, call function ha_create_table_from_engine to try and create it.
        If create of table fails, set correct error message.
      sql/sql_table.cc:
        Add comments, remove parameter create_if_found to ha_create_table_from_engine.
        When dropping a table, try to discover it from engine. If discover fails, use same error message as if the table didn't exists. 
        Maybe another message should be displayed here, ex: "Table could not be dropped, unpack failed"
        
        When creating a new table, use ha_table_exists_in_engine to check if a table with the given name already exists.
      09944efd
  3. 03 Jun, 2005 1 commit
    • unknown's avatar
      Move USE_PRAGMA_IMPLEMENTATION to proper place · 72dd44b9
      unknown authored
      Ensure that 'null_value' is not accessed before val() is called in FIELD() functions
      Fixed initialization of key maps. This fixes some problems with keys when you have more than 64 keys
      Fixed that ROLLUP don't always create a temporary table. This fix ensures that func_gconcat.test results are now predictable
      
      
      mysql-test/r/func_gconcat.result:
        Move innodb specific test to innodb.test
        Changed table name r2 -> t2
        More test to see how ROLLUP was optimized
      mysql-test/r/innodb.result:
        Moved test here form func_gconcat
      mysql-test/r/olap.result:
        New test results after optimization
      mysql-test/t/func_gconcat.test:
        Move innodb specific test to innodb.test
        Changed table name r2 -> t2
        More test to see how ROLLUP was optimized
      mysql-test/t/innodb.test:
        Moved test here form func_gconcat
      sql/field.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_berkeley.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_blackhole.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_heap.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_innodb.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_isam.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_isammrg.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_myisam.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_myisammrg.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/ha_ndbcluster.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/handler.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/hash_filo.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_cmpfunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_func.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
        Ensure that 'null_value' is not accessed before val() is called
      sql/item_geofunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_strfunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_subselect.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_sum.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_timefunc.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/item_uniq.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/log_event.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/mysql_priv.h:
        Change key_map_full to not be const as we are giving it a proper value on startup
      sql/mysqld.cc:
        Move key_map variables here and initialize key_map_full properly
      sql/opt_range.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/opt_range.h:
        Fix that test_quick_select() works with any ammount of keys
      sql/procedure.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/protocol.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/protocol_cursor.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/set_var.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_analyse.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_class.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_crypt.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_insert.cc:
        Fixed that max_rows is ulong
      sql/sql_list.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_map.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_olap.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_select.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
        Fixed that ROLLUP don't have to always create a temporary table
        Added new argument to remove_const() to make above possible
        Fixed some errors that creapt up when we don't always do a temporary table for ROLLUP
      sql/sql_string.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_table.cc:
        Simple optimizations
        Fixed wrong checking of build_table_path() in undef-ed code
      sql/sql_udf.cc:
        Move USE_PRAGMA_IMPLEMENTATION to proper place
      sql/sql_yacc.yy:
        removed extra {}
      72dd44b9
  4. 01 Jun, 2005 1 commit
  5. 31 May, 2005 1 commit
    • unknown's avatar
      Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement. · cf2188ca
      unknown authored
      1.) Added a new option to mysql_lock_tables() for ignoring FLUSH TABLES.
      Used the new option in create_table_from_items().
      It is necessary to prevent the SELECT table from being reopend.
      It would get new storage assigned for its fields, while the
      SELECT part of the command would still use the old (freed) storage.
      2.) Protected the CREATE TABLE and CREATE TABLE ... SELECT commands
      against a global read lock. This prevents a deadlock in
      CREATE TABLE ... SELECT in conjunction with FLUSH TABLES WITH READ LOCK
      and avoids the creation of new tables during a global read lock.
      3.) Replaced set_protect_against_global_read_lock() and
      unset_protect_against_global_read_lock() by
      wait_if_global_read_lock() and start_waiting_global_read_lock()
      in the INSERT DELAYED handling.
      
      
      mysql-test/r/create.result:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Added test results.
      mysql-test/t/create.test:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Added tests which do not require concurrency.
      sql/lock.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Added a new option to mysql_lock_tables() for ignoring FLUSH TABLES.
        Changed the parameter list.
        Removed two unnecessary functions. Their functionality is included in
        wait_if_global_read_lock() and start_waiting_global_read_lock().
      sql/mysql_priv.h:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Changed the declaration of mysql_lock_tables().
        Added definitions for the new options.
      sql/sql_acl.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Adjusted mysql_lock_tables() calls to the new argument list.
      sql/sql_base.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Adjusted mysql_lock_tables() calls to the new argument list.
      sql/sql_handler.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Adjusted mysql_lock_tables() calls to the new argument list.
      sql/sql_insert.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Replaced set_protect_against_global_read_lock() and
        unset_protect_against_global_read_lock() by
        wait_if_global_read_lock() and start_waiting_global_read_lock()
        in the INSERT DELAYED handling.
        Adjusted mysql_lock_tables() calls to the new argument list.
      sql/sql_parse.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Protected the CREATE TABLE and CREATE TABLE ... SELECT commands
        against a global read lock. This prevents a deadlock in
        CREATE TABLE ... SELECT in conjunction with FLUSH TABLES WITH READ LOCK
        and avoids the creation of new tables during a global read lock.
      sql/sql_table.cc:
        Bug#10224 - ANALYZE TABLE crashing with simultaneous CREATE ... SELECT statement.
        Adjusted mysql_lock_tables() calls to the new argument list.
        Used the new option in create_table_from_items().
      cf2188ca
  6. 26 May, 2005 2 commits
    • unknown's avatar
      Cleanups to patch for bug #9660 after review by Monty. · e547fbea
      unknown authored
      sql/sql_table.cc:
        Make return value of build_table_path() useful
        Eliminate some unnecessary casts
      e547fbea
    • unknown's avatar
      Fix table renaming to not lowercase table names for all storage · 8ac75806
      unknown authored
      engines when lower_case_table_names == 2, as it did previously
      for InnoDB and MEMORY. (Bug #9660)
      
      
      mysql-test/r/lowercase_table2.result:
        Fix results
      sql/sql_table.cc:
        Add build_table_path() function to construct the path to
        a table, and use it to replace nearly all of the places
        where this was done with similar code.
        
        Fix mysql_rename_table() to not lowercase the .frm file
        name when lower_case_table_names == 2 and the storage
        engine does not set the HA_FILE_BASED flag (such as InnoDB).
      8ac75806
  7. 24 May, 2005 1 commit
  8. 14 May, 2005 1 commit
    • unknown's avatar
      After merge fixes · 2059908b
      unknown authored
      BitKeeper/deleted/.del-outfile2.result~fb702ee2518d8e6d:
        Delete: mysql-test/r/outfile2.result
      libmysql/libmysql.c:
        Fix indentation for new function mysql_set_character_set()
      mysql-test/r/alter_table.result:
        Fix test to be in same order as in 4.0
      mysql-test/r/innodb.result:
        After merge fix
      mysql-test/r/insert_update.result:
        Add extra test for insert into ... on duplicate key upate
      mysql-test/r/outfile.result:
        After merge fix
      mysql-test/t/alter_table.test:
        Fix test to be in same order as in 4.0
      mysql-test/t/insert_update.test:
        Add extra test for insert into ... on duplicate key upate
      mysql-test/t/outfile.test:
        After merge fix
      sql/item_func.cc:
        After merge fix
      sql/sql_table.cc:
        After merge fix
      2059908b
  9. 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
  10. 08 May, 2005 1 commit
    • unknown's avatar
      Bug#6236 · 3e1dad41
      unknown authored
        Incomplete ALTER TABLE breaks MERGE compatibility
        Fix implicit NOT NULL not set on ALTER of PK columns
      
      
      mysql-test/r/alter_table.result:
        Test for Bug#6236
      mysql-test/t/alter_table.test:
        Test for Bug#6236
      sql/sql_table.cc:
        Implicit NOT NULL not set on ALTER of PK columns
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      3e1dad41
  11. 28 Apr, 2005 1 commit
    • unknown's avatar
      Fix 'CREATE TABLE ... LIKE ...' when lower_case_table_names · ef3e9e1c
      unknown authored
      is set on case-sensitive file systems and the source table
      was specified in something other than lowercase. (Bug #9761)
      
      
      mysql-test/r/lowercase_table.result:
        Add results
      mysql-test/t/lowercase_table.test:
        Regression test for Bug #9761
      sql/sql_table.cc:
        When lower_case_table_names is set, make sure to look for
        the source table using a lowercase filename.
      ef3e9e1c
  12. 11 Apr, 2005 1 commit
    • unknown's avatar
      Fix for BUG#9149 "OPTIMIZE TABLE statement on InnoDB table is logged twice in the binary log" · 30a82dfb
      unknown authored
      if we fall back to mysql_alter_table() (for InnoDB), don't do binlogging in mysql_alter_table(), as mysql_admin_table()
      is not supposed to do any binlogging (it is done by the caller).
      
      
      sql/sql_table.cc:
        When optimizing a table, if we fall back to mysql_alter_table()
        (for InnoDB), don't do binlogging in mysql_alter_table(), as mysql_admin_table()
        is not supposed to do any binlogging (it is done by the caller).
      30a82dfb
  13. 07 Apr, 2005 1 commit
    • 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
  14. 02 Apr, 2005 1 commit
    • unknown's avatar
      bug#3891 - DROP TABLE many-unexistent-tables, was printing an error with %s instead of table names · 7d865e0b
      unknown authored
      sql/sql_table.cc: print an error with a function that respects width modifiers (%.64s)
      
      
      mysql-test/r/drop.result:
        bug#3891 - DROP TABLE many-unexistent-tables, was printing an error with %s instead of table names
      mysql-test/t/drop.test:
        bug#3891 - DROP TABLE many-unexistent-tables, was printing an error with %s instead of table names
      sql/share/english/errmsg.txt:
        allow longer "table names" as DROP TABLE puts a list here
      sql/share/russian/errmsg.txt:
        allow longer "table names" as DROP TABLE puts a list here
      sql/share/ukrainian/errmsg.txt:
        allow longer "table names" as DROP TABLE puts a list here
      sql/sql_table.cc:
        print an error with a function that respects width modifiers (%.64s)
      7d865e0b
  15. 08 Mar, 2005 1 commit
    • unknown's avatar
      Flush entries from the query cache for tables used in · 8e24e607
      unknown authored
      administrative statements that may alter the table, such
      as REPAIR TABLE. (Bug #8480)
      
      
      mysql-test/r/query_cache.result:
        Add new results
      mysql-test/t/query_cache.test:
        Add regression test
      sql/sql_table.cc:
        Make sure entries are flushed from the query cache for
        any administrative command run on a table that acquires
        a write lock on it (and thus might change it), like 
        REPAIR TABLE.
      8e24e607
  16. 02 Feb, 2005 1 commit
    • unknown's avatar
      Fixed during review of new pulled code · 3d0f9d96
      unknown authored
      extra/perror.c:
        Use strmov() instead of strcpy()
        Indentation fixes
      sql/sql_table.cc:
        Revert back part of the old code as the new code didn't use mysql_data_home, which would have caused problems in the embedded server
      sql/sql_update.cc:
        Ensure that used_index is always set (It has to be set because it's value is tested if order != 0)
      3d0f9d96
  17. 31 Jan, 2005 1 commit
  18. 24 Jan, 2005 1 commit
  19. 21 Jan, 2005 1 commit
  20. 10 Jan, 2005 2 commits
  21. 31 Dec, 2004 1 commit
    • unknown's avatar
      Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag · 2419fa26
      unknown authored
      This allows use to use INSERT IGNORE ... ON DUPLICATE ...
      
      
      mysql-test/r/drop.result:
        safety fix
      mysql-test/t/drop.test:
        safety fix
      mysql-test/t/multi_update.test:
        ensure we cover all possible errors
      sql/log_event.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/log_event.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/mysql_priv.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_class.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_delete.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_insert.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_lex.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_lex.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_load.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_parse.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_repl.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_repl.h:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_select.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_table.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_union.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_update.cc:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      sql/sql_yacc.yy:
        Remove DUP_IGNORE from enum_duplicates and instead use a separate ignore flag
      2419fa26
  22. 27 Dec, 2004 1 commit
    • unknown's avatar
      sql_table.cc: · 2d9eeb04
      unknown authored
        Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
      
      
      sql/sql_table.cc:
        Return a sensible error code from DISCARD TABLESPACE, if it fails because the table is referenced by a FOREIGN KEY
      2d9eeb04
  23. 07 Dec, 2004 1 commit
  24. 03 Dec, 2004 1 commit
    • unknown's avatar
      Bug#6391 (binlog-do-db rules ignored) · 220acb32
      unknown authored
        CREATE DATABASE statement used the current database instead of the
        database created when checking conditions for replication.
        CREATE/DROP/ALTER DATABASE statements are now replicated based on
        the manipulated database.
      
      
      mysql-test/t/rpl_until.test:
        Longer sleep to allow slave to stop.
      mysql-test/t/rpl_charset.test:
        Position change in binary file.
      mysql-test/r/drop_temp_table.result:
        Position change in binlog.
      mysql-test/r/rpl_loaddata_rule_m.result:
        Position change in binlog.
      mysql-test/r/rpl_charset.result:
        Position change in binlog.
      sql/log_event.h:
        Added new flag and parameter to suppress generation of
        USE statements.
      sql/log_event.cc:
        Added parameter and code to suppress generation of
        USE statements.
      sql/sql_db.cc:
        Suppress generation of USE before CREATE/ALTER/DROP DATABASE
        statements.
      sql/log.cc:
        Query_log_event have new extra parameter.
      sql/sql_table.cc:
        Query_log_event have new extra parameter.
      sql/sql_base.cc:
        Query_log_event have new extra parameter.
      sql/sql_update.cc:
        Query_log_event have new extra parameter.
      sql/sql_insert.cc:
        Query_log_event have new extra parameter.
      sql/sql_rename.cc:
        Query_log_event have new extra parameter.
      sql/sql_delete.cc:
        Query_log_event have new extra parameter.
      sql/sql_acl.cc:
        Query_log_event have new extra parameter.
      sql/handler.cc:
        Query_log_event have new extra parameter.
      sql/item_func.cc:
        Query_log_event have new extra parameter.
      sql/sql_parse.cc:
        Query_log_event have new extra parameter.
      220acb32
  25. 02 Dec, 2004 3 commits
    • unknown's avatar
      Prevent adding 'CREATE TABLE .. SELECT' query to the binary log when the · 9286d1c1
      unknown authored
      insertion of new records partially failed. It would get logged because of the
      logic to log a partially-failed 'INSERT ... SELECT' (which can't be rolled back
      in non-transactional tables), but 'CREATE TABLE ... SELECT' is always rolled
      back on failure, even for non-transactional tables. (Bug #6682)
      (Original fix reimplemented after review by Serg and Guilhem.)
      
      
      mysql-test/t/insert_select.test:
        Add test case for Bug #6682
      mysql-test/r/insert_select.result:
        Add results for test case for Bug #6682
      sql/sql_table.cc:
        moved tmp_disable_binlog() and reenable_binlog macros to sql/sql_class.h
      sql/sql_insert.cc:
        disable binlog during call to super's ::send_error in select_create class
      sql/sql_class.h:
        add select_create::send_error()
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      9286d1c1
    • unknown's avatar
      Cleanups during review stage · 93cf297f
      unknown authored
      Added auto-correct of field length for enum/set tables for ALTER TABLE
      This is becasue of a bug in previous MySQL 4.1 versions where the length for enum/set was set incorrectly after ALTER TABLE
      
      
      mysql-test/r/rpl_start_stop_slave.result:
        Fixed wrong test
      mysql-test/r/type_enum.result:
        Added test for wrong enum/set length after alter table
      mysql-test/t/ps.test:
        removed empty line
      mysql-test/t/type_enum.test:
        Added test for wrong enum/set length after alter table
      sql/field.cc:
        Added auto-correct of field length for enum/set tables.
        This is becasue of a bug in previous MySQL 4.1 versions where the length for enum/set was set incorrectly after ALTER TABLE
      sql/item_cmpfunc.cc:
        Simple optimization
      sql/mysql_priv.h:
        Made local function global
      sql/set_var.cc:
        Simple cleanup
      sql/sql_table.cc:
        Simple cleanups & optimizations
      93cf297f
    • unknown's avatar
      Bug #6379: ENUM values are incorrectly converted · 5167b5f0
      unknown authored
      - add_field_to_list() now uses <List>String
      instead of TYPELIB to be able to distinguish
      literals 'aaa' and hex literals 0xaabbcc.
      - move some code from add_field_to_list() where
        we don't know column charset yet, to 
        mysql_prepare_table(), where we do.
      
      
      5167b5f0
  26. 22 Nov, 2004 1 commit
    • unknown's avatar
      Bug#6252 - Duplicate columns in keys should fail · 1dc1ad9c
      unknown authored
        Added check for duplicate column in key
        Added tests and fixed tests which exploit bug
      
      
      mysql-test/r/delete.result:
        Fix test as it exploited Bug#6252
      mysql-test/r/innodb.result:
        Test for Bug#6126
      mysql-test/r/key.result:
        Test for Bug#6126/6252
      mysql-test/r/type_blob.result:
        Fix test as it exploited Bug#6252
      mysql-test/t/delete.test:
        Fix test as it exploited Bug#6252
      mysql-test/t/innodb.test:
        Test for Bug#6126
      mysql-test/t/key.test:
        Test for Bug#6126/6252
      mysql-test/t/type_blob.test:
        Fix test as it exploited Bug#6252
      sql/sql_table.cc:
        Bug#6252 - Duplicate columns in keys should fail
          Added check for duplicate column.
      1dc1ad9c
  27. 10 Nov, 2004 1 commit
    • unknown's avatar
      Fix for BUG#6522 "Replication fails due to a rolled back transaction in the binlog" · 12fbc41f
      unknown authored
      When we are writing a transaction to the binlog, we log BEGIN/COMMIT with zero error code.
      Example: all statements of trans succeeded, connection lost and so implicit rollback:
      we don't want ER_NET* errors to be logged in the BEGIN/ROLLBACK events, while statement
      events have 0. If there was really a serious error code, it's already in the statement events.
      
      
      sql/log.cc:
        When we write the cached binlog segment to disk binlog at COMMIT/ROLLBACK time:
        imagine this is rollback due to net timeout, after all statements of
        the transaction succeeded. Then we want a zero-error code in BEGIN.
        In other words, if there was a really serious error code it's already
        in the transaction's statement events.
      sql/sql_table.cc:
        out of date comment
      12fbc41f
  28. 03 Nov, 2004 1 commit
    • unknown's avatar
      Fix for bug#5551 (Version 4). · 539e2130
      unknown authored
      The idea of the fix is that the administrative statements 
      OPTIMIZE TABLE, REPAIR TABLE and ANALYZE TABLE should not 
      generate binlog errors if there is no errors on the master.
      
      
      sql/sql_parse.cc:
        No binlog error generated
      sql/sql_table.cc:
        Documentation
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      539e2130
  29. 28 Oct, 2004 1 commit
  30. 26 Oct, 2004 1 commit
  31. 14 Oct, 2004 2 commits
    • unknown's avatar
      BUG#5625 - MyISAM Index corruption on ALTER TABLE x ENABLE KEYS due to full tmpdir. · fc27da08
      unknown authored
      Added a try to a normal repair() if repair_by_sort() failed.
      This was not done with ENABLE KEYS and OPTIMIZE TABLE.
      Fixed error code handling in mysql_alter_table().
      
      
      sql/ha_myisam.cc:
        BUG#5625 - MyISAM Index corruption on ALTER TABLE x ENABLE KEYS due to full tmpdir.
        Added a try to a normal repair() if repair_by_sort() failed.
        This was not done with ENABLE KEYS and OPTIMIZE TABLE.
      sql/sql_table.cc:
        BUG#5625 - MyISAM Index corruption on ALTER TABLE x ENABLE KEYS due to full tmpdir.
        Added a translation from 'bool' return value to '< 0' error indication,
        which is used within mysql_execute_command() and must as such be
        handed over by mysql_alter_table(). A returncode >= 0 is interpreted
        as 'I have already called send_ok()'.
      fc27da08
    • unknown's avatar
      true,false -> TRUE, FALSE · 33073189
      unknown authored
      Simple fixes/optimization of things discovered during review of new pushed code
      
      
      include/my_sys.h:
        Ensure that clear_alloc_root() interacts correctly with alloc_root_inited()
      mysys/hash.c:
        More comments
        Simple optimization (merge identical code)
      mysys/my_bitmap.c:
        Change inline -> static inline
      sql/examples/ha_archive.cc:
        Fixed compiler warning
      sql/ha_ndbcluster.cc:
        true,false -> TRUE, FALSE
        Change if (false) -> #ifdef NOT_USED
      sql/ha_ndbcluster.h:
        true,false -> TRUE, FALSE
      sql/handler.cc:
        More comments
        Remove not needed initializations.
        #ifdef not used code
      sql/item_cmpfunc.h:
        true,false -> TRUE, FALSE
      sql/item_strfunc.cc:
        Move local variables to function beginning
        Remove wrong comments
      sql/log_event.h:
        true,false -> TRUE, FALSE
      sql/sql_base.cc:
        true,false -> TRUE, FALSE
        More comments
      sql/sql_help.cc:
        true,false -> TRUE, FALSE
      sql/sql_lex.cc:
        Simple optimization of new code
      sql/sql_parse.cc:
        true,false -> TRUE, FALSE
      sql/sql_prepare.cc:
        true,false -> TRUE, FALSE
      sql/sql_table.cc:
        true,false -> TRUE, FALSE
      sql/sql_yacc.yy:
        true,false -> TRUE, FALSE
      33073189
  32. 10 Oct, 2004 1 commit
    • unknown's avatar
      Blob support for the group_concat() function. · b123f514
      unknown authored
      (Bug #4315: GROUP_CONCAT with ORDER BY returns strange results for TEXT fields
       Bug #5564: Strange behaviour with group_concat and distinct
       Bug #5970: group_concat doesn't print warnings)
      
      
      b123f514
  33. 07 Oct, 2004 2 commits
    • unknown's avatar
      Fix for bug #5915 "ALTER TABLE behaves differently when converting column · 34789efd
      unknown authored
      to auto_increment in 4.1".
      Now we are enforcing NO_AUTO_VALUE_ON_ZERO mode during ALTER TABLE only
      if we are converting one auto_increment column to another auto_increment
      column (this also includes most common case when we don't do anything
      with such column).
      
      Also now when we convert some column to TIMESTAMP NOT NULL column with
      ALTER TABLE we convert NULL values to current timestamp, (as we do this
      in INSERT). One can still get old behavior by setting system TIMESTAMP
      variable to 0.
      
      
      mysql-test/r/auto_increment.result:
        Added tests for ALTER TABLE converting columns containing NULL and 0
        values to AUTO_INCREMENT columns.
      mysql-test/r/type_timestamp.result:
        Removed test for creation of TIMESTAMP(19) columns (it is 4.0 specific).
        Added test for ALTER TABLE converting columns containing NULL values
        to TIMESTAMP columns.
      mysql-test/t/auto_increment.test:
        Added tests for ALTER TABLE converting columns containing NULL and 0
        values to AUTO_INCREMENT columns.
      mysql-test/t/type_timestamp.test:
        Removed test for creation of TIMESTAMP(19) columns (it is 4.0 specific).
        Added test for ALTER TABLE converting columns containing NULL values
        to TIMESTAMP columns.
      sql/field_conv.cc:
        Fix bug #5915 "ALTER TABLE behaves differently when converting column
        to auto_increment in 4.1". Also now when we are converting some column
        to TIMESTAMP column, we are converting NULL values to CURRENT_TIMESTAMP
        (as it was initially planned).
        
        do_copy_timestamp(): Fixed comment.
        do_copy_next_number(): We should also set auto_increment_field_not_null
          to FALSE if we have NULL in source field.
        Copy_field::set(): Moved setting of copy functions for TIMESTAMP and
          AUTO_INCREMENT fields to proper place (this was dead code before).
      sql/sql_table.cc:
        Fix for bug #5915 "ALTER TABLE behaves differently when converting column
        to auto_increment in 4.1".
        
        Instead of always forcing NO_AUTO_VALUE_ON_ZERO in ALTER TABLE it is
        better to do this only if we are converting one auto_increment column
        to another auto_increment column (this also includes most common case
        when we don't do anything with such column).
      34789efd
    • unknown's avatar
      After merge fixes · 96e7be58
      unknown authored
      Some bigger code changes was necessary becasue of the multi-table-update and the new HANDLER code
      
      
      include/hash.h:
        Added back function that's was used in 4.0
      mysql-test/r/delete.result:
        Update results after merge
      mysql-test/r/flush_table.result:
        Update results after merge
      mysql-test/r/func_str.result:
        Update results after merge
      mysql-test/r/handler.result:
        Update results after merge
        Change is big becasue in MySQL 4.1 you are not allowed to qualify the handler alias with a databasename
      mysql-test/r/multi_update.result:
        More startup cleanups
      mysql-test/r/rename.result:
        More startup-cleanups
      mysql-test/r/select.result:
        More startup cleanups
      mysql-test/r/show_check.result:
        More startup-cleanups
      mysql-test/t/ctype_latin1_de.test:
        Cleanup
      mysql-test/t/derived.test:
        Portability fix
      mysql-test/t/handler.test:
        Update results after merge
        Change is big becasue in MySQL 4.1 you are not allowed to qualify the handler alias with a databasename
      mysql-test/t/multi_update.test:
        More startup cleanups
      mysql-test/t/range.test:
        More comments
      mysql-test/t/rename.test:
        More startup cleanups
      mysql-test/t/select.test:
        More startup cleanups
      mysql-test/t/show_check.test:
        More startup cleanups
      mysql-test/t/type_timestamp.test:
        Add back test deleted during merge
      sql/item_cmpfunc.cc:
        After merge fixes
      sql/item_func.cc:
        Remove compiler warning
      sql/mysql_priv.h:
        After merge fixes
      sql/mysqld.cc:
        After merge fixes
      sql/sql_acl.cc:
        More debugging
      sql/sql_base.cc:
        After merge fixes
        (This fix was needed bacause of multi-table-update reopens tables)
      sql/sql_handler.cc:
        After merge fixes
      sql/sql_lex.h:
        After merge fixes
      sql/sql_select.cc:
        After merge fixes
      sql/sql_show.cc:
        After merge fixes
      sql/sql_table.cc:
        After merge fixes
        Simple cleanup of mysql_discard_or_import_tablespace
      sql/sql_update.cc:
        After merge fixes
        Rework mysql_multi_update to take into account derived tables.
      sql/sql_yacc.yy:
        After merge fixes
      96e7be58
  34. 05 Oct, 2004 1 commit
    • unknown's avatar
      Reverted patch for new usage of open_count as it caused more problems than it solved · 0d76cb7e
      unknown authored
      Cleaned up patch for checking locks for multi-table updates
      
      
      myisam/mi_close.c:
        Reverted patch for new usage of open_counts
      myisam/mi_locking.c:
        Reverted patch for new usage of open_counts
      sql/ha_myisam.cc:
        Reverted patch for new usage of open_counts
      sql/handler.cc:
        Removed compiler warning
      sql/sql_acl.cc:
        Removed compiler warning
      sql/sql_table.cc:
        No need to unlock after failed call to external_lock()
      sql/sql_update.cc:
        Cleaned up (and made it more secure) patch for checking locks for multi-table updates
      0d76cb7e