An error occurred fetching the project authors.
  1. 06 Sep, 2004 2 commits
    • unknown's avatar
      Fix of previous push. · 6f46f997
      unknown authored
      sql/sql_table.cc:
        stupid me. error already exists in the function. Using a local 'int error' resulted in global 'error' not being inited, which probably made next steps (those testing global error) go wrong!
      6f46f997
    • unknown's avatar
      Replacing class Disable_binlog by macros. Patch already approved by Monty. · ea971987
      unknown authored
      sql/log.cc:
        removing unneeded class Disable_binlog
      sql/sql_class.h:
        removing unneeded class Disable_binlog
      sql/sql_table.cc:
        As discussed, class Disable_binlog is removed and replaced by macros.
      ea971987
  2. 04 Sep, 2004 1 commit
  3. 02 Sep, 2004 1 commit
    • unknown's avatar
      Remove extra '/' after mysql_real_data_home · 1b51f98e
      unknown authored
      Add missing parameter to strxnmov() that caused some INTO OUTFILE commands to core dump
      
      
      mysql-test/mysql-test-run.sh:
        Ensure that clients used the supplied --socket argument
      mysql-test/r/lowercase_table.result:
        Remove tables used in other tests that may affect this one
      mysql-test/r/rename.result:
        Remove tables used in other tests that may affect this one
      mysql-test/t/lowercase_table.test:
        Remove tables used in other tests that may affect this one
      mysql-test/t/rename.test:
        Remove tables used in other tests that may affect this one
      sql/item_cmpfunc.cc:
        Remove not relevant comment
      sql/sql_class.cc:
        Add missing parameter to strxnmov() that caused some INTO OUTFILE commands to core dump
      sql/sql_load.cc:
        Remove extra '/' after mysql_real_data_home
      sql/sql_table.cc:
        Remove extra '/' after mysql_real_data_home
      1b51f98e
  4. 24 Aug, 2004 1 commit
    • unknown's avatar
      Portablity fixes & simple optimizations · 20f24a42
      unknown authored
      sql/ha_ndbcluster.cc:
        Added missing cast
      sql/item.cc:
        Portability fix (for windows)
      sql/lock.cc:
        Cleanup + more comments
      sql/sql_class.cc:
        Portability fix + more comments
      sql/sql_select.cc:
        Portability fix
      sql/sql_table.cc:
        Simpler handling of auto_increment in ALTER TABLE
      20f24a42
  5. 23 Aug, 2004 1 commit
    • unknown's avatar
      Fixed uninitialized variable · 7d4ad390
      unknown authored
      Fixed error messages
      
      
      sql/share/czech/errmsg.txt:
        Fixed error message to us long
      sql/share/danish/errmsg.txt:
        Fixed error message to us long
      sql/share/dutch/errmsg.txt:
        Fixed error message to us long
      sql/share/english/errmsg.txt:
        Fixed error message to us long
      sql/share/estonian/errmsg.txt:
        Fixed error message to us long
      sql/share/french/errmsg.txt:
        Fixed error message to us long
      sql/share/german/errmsg.txt:
        Fixed error message to us long
      sql/share/greek/errmsg.txt:
        Fixed error message to us long
      sql/share/hungarian/errmsg.txt:
        Fixed error message to us long
      sql/share/italian/errmsg.txt:
        Fixed error message to us long
      sql/share/japanese/errmsg.txt:
        Fixed error message to us long
      sql/share/korean/errmsg.txt:
        Fixed error message to us long
      sql/share/norwegian-ny/errmsg.txt:
        Fixed error message to us long
      sql/share/norwegian/errmsg.txt:
        Fixed error message to us long
      sql/share/polish/errmsg.txt:
        Fixed error message to us long
      sql/share/portuguese/errmsg.txt:
        Fixed error message to us long
      sql/share/romanian/errmsg.txt:
        Fixed error message to us long
      sql/share/russian/errmsg.txt:
        Fixed error message to us long
      sql/share/serbian/errmsg.txt:
        Fixed error message to us long
      sql/share/slovak/errmsg.txt:
        Fixed error message to us long
      sql/share/spanish/errmsg.txt:
        Fixed error message to us long
      sql/share/swedish/errmsg.txt:
        Fixed error message to us long
      sql/share/ukrainian/errmsg.txt:
        Fixed error message to us long
      sql/sql_table.cc:
        Fixed uninitialized variable
      7d4ad390
  6. 20 Aug, 2004 1 commit
    • unknown's avatar
      after merge fix · 0745a2b7
      unknown authored
      myisam/Makefile.am:
        put zlib at the end (libtool adds the whole bunch of dependencies right after that)
      sql/Makefile.am:
        put zlib at the end (libtool adds the whole bunch of dependencies right after that)
      0745a2b7
  7. 19 Aug, 2004 2 commits
    • unknown's avatar
      (manual port from 4.0 - was needed) · e7157aba
      unknown authored
      Fix for BUG#4971 "CREATE TABLE ... TYPE=HEAP SELECT ... stops slave (wrong DELETE in binlog)":
      replacing the no_log argument of mysql_create_table() by some safer method
      (temporarily setting OPTION_BIN_LOG to 0) which guarantees that even the automatic
      DELETE FROM heap_table does not get into the binlog when a not-yet-existing HEAP table
      is opened by mysql_create_table().
      
      
      mysql-test/r/rpl_heap.result:
        result update
      mysql-test/t/rpl_heap.test:
        changing test to test a bug (but anyway, mysql-test-run --manager looks like not working in 4.1 currently,
        so this test is never run).
      sql/log.cc:
        new class Disable_binlog used to temporarily disable binlogging for one thread.
      sql/mysql_priv.h:
        removing argument no_log from mysql_create_table(); no_log was not perfect as some
        binlogging could still be done by open_unireg_entry() for a HEAP table.
      sql/sql_class.h:
        new class Disable_binlog used to temporarily disable binlogging for one thread.
      sql/sql_parse.cc:
        removing no_log arg from mysql_create_table()
      sql/sql_table.cc:
        removing no_log from mysql_create_table(); instead using new class Disable_binlog.
        Disabling binlogging in some cases, where the binlogging is done later by some other code
        (case of CREATE SELECT and ALTER).
      e7157aba
    • unknown's avatar
      cosmetic change · f758ada4
      unknown authored
      sql/sql_class.h:
        comment
      sql/sql_table.cc:
        smarter use of the Disable_binlog object (using a block so that when leaving it either way, the object gets
        destroyed and so properties of the thread get reset).
      f758ada4
  8. 18 Aug, 2004 1 commit
    • unknown's avatar
      Fix for BUG#4971 "CREATE TABLE ... TYPE=HEAP SELECT ... stops slave (wrong DELETE in binlog)": · 95334ac6
      unknown authored
      replacing the no_log argument of mysql_create_table() by some safer method
      (temporarily setting OPTION_BIN_LOG to 0) which guarantees that even the automatic
      DELETE FROM heap_table does not get into the binlog when a not-yet-existing HEAP table
      is opened by mysql_create_table().
      
      
      mysql-test/r/rpl_heap.result:
        result update
      mysql-test/t/rpl_heap.test:
        testing a bug
      sql/log.cc:
        new class Disable_binlog used to temporarily disable binlogging for one thread.
      sql/mysql_priv.h:
        removing argument no_log from mysql_create_table(); no_log was perfect as some
        binlogging could still be done by open_unireg_entry() for a HEAP table.
      sql/sql_class.h:
        new class Disable_binlog used to temporarily disable binlogging for one thread.
      sql/sql_parse.cc:
        removing no_log
      sql/sql_table.cc:
        removing no_log from mysql_create_table(); instead using new class Disable_binlog.
        Disabling binlogging in some cases, where the binlogging is done later by some other code
        (case of CREATE SELECT and ALTER).
      95334ac6
  9. 07 Aug, 2004 1 commit
  10. 31 Jul, 2004 1 commit
    • unknown's avatar
      Fix for: · 00e7ec42
      unknown authored
      Bug #4810 "deadlock with KILL when the victim was in a wait state"
      (I included mutex unlock into exit_cond() for future safety)
      and BUG#4827 "KILL while START SLAVE may lead to replication slave crash"
      
      
      sql/lock.cc:
        we did exit_cond() before unlock(LOCK_open), which led to deadlocks with THD::awake(). Fixing this.
      sql/log.cc:
        mutex unlock is now included in exit_cond()
      sql/repl_failsafe.cc:
        we did exit_cond() before unlock(LOCK_rpl_status), which led to deadlocks with THD::awake(). Fixing this.
      sql/slave.cc:
        we did exit_cond() before unlock(cond_lock), which led to deadlocks with THD::awake(). Fixing this.
        Fixing also that if killed while waiting for slave thread to start, we don't release the mutex
        (that caused a double release of the mutex => crash).
      sql/sql_class.h:
        comments about exit_cond()/enter_cond().
        Mutex unlock is now included in exit_cond() so that it's always done in the good order.
      sql/sql_table.cc:
        unlock is now included in exit_cond().
      00e7ec42
  11. 30 Jul, 2004 1 commit
  12. 17 Jul, 2004 1 commit
    • unknown's avatar
      Fixes for · cf8dbcc6
      unknown authored
      BUG#4506 "mysqlbinlog --position --read-from-remote-server has wrong "# at" lines",
      BUG#4553 "Multi-table DROP TABLE replicates improperly for nonexistent table" with a test file.
      It was not possible to add a test for BUG#4506 as in the test suite we must use --short-form
      which does not display the "# at" lines.
      
      
      client/mysqlbinlog.cc:
        Fix for BUG#4506 "mysqlbinlog --position --read-from-remote-server has wrong "# at" lines"
        when reading a remote binlog, the start position is not always BIN_LOG_HEADER_SIZE (4).
      sql/sql_table.cc:
        Fix for BUG#4553 "Multi-table DROP TABLE replicates improperly for nonexistent table"
        we must my_error() _before_ we write to the binlog, so that a meaningful error code is available
        in thd->net.last_errno for storage of the DROP TABLE statement into the binlog.
      cf8dbcc6
  13. 09 Jul, 2004 1 commit
    • unknown's avatar
      Cleanup of db option cacheing · b4220977
      unknown authored
      Some bug fixes to last pushed code
      
      
      mysql-test/mysql-test-run.sh:
        Fix for new valgrind (2.1.1)
      mysql-test/r/bdb.result:
        Updated results
      mysql-test/t/ps_1general.test:
        removed wrong error condition
      sql/ha_berkeley.cc:
        Fix for index_flags() in new code
      sql/item_strfunc.cc:
        Cleanup (fixed indentation, removed short variable names)
      sql/mysql_priv.h:
        Cleanup of db option cacheing
      sql/mysqld.cc:
        Cleanup of db option cacheing
      sql/sql_db.cc:
        Cleanup of db option cacheing
      sql/sql_parse.cc:
        Cleanup of db option cacheing
      sql/sql_table.cc:
        sprintf -> strxmov
      sql/table.cc:
        key_read should be tested on key parts, not the whole key
      b4220977
  14. 08 Jul, 2004 1 commit
  15. 27 Jun, 2004 1 commit
    • unknown's avatar
      Added missing my_time.c file to mysqlclient project · 6cf30922
      unknown authored
      Moved include <assert.h> to my_global.h
      
      
      VC++Files/client/mysqlclient.dsp:
        Added missing my_time.c file to mysqlclient project
      include/my_dbug.h:
        Moved include <assert.h> to my_global.h
        Removed NDEBUG as asserts should be indenpendent of if we are using DBUG or not
      include/my_global.h:
        Added assert.h as this is included in a lot of places
      sql/sql_table.cc:
        Initialize forgotten variable
      6cf30922
  16. 24 Jun, 2004 1 commit
    • unknown's avatar
      bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock. · 8f6664c5
      unknown authored
      Redesigned the handler close functions so that they are usable
      at different places where waiting for closing tables is done.
      
      
      mysql-test/r/flush_table.result:
        bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock.
        Added the test results.
      mysql-test/t/flush_table.test:
        bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock.
        Activated old test case.
        Added new test cases.
      sql/mysql_priv.h:
        bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock.
        Made mysql_ha_close() more flexible.
        Removed mysql_ha_closeall(), which closed only one table despite its name.
        Added mysql_ha_close_list(), which closes the complete list or all tables and does not lock.
        Removed a duplicate declaration.
      sql/sql_base.cc:
        bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock.
        Added proper close calls before some wait points to avoid deadlocks
        or infinite loops.
      sql/sql_handler.cc:
        bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock.
        Redesigned the internal function find_table_ptr_by_name().
        It can now suppress locking and tells if the requested table
        has been flushed by itself.
        Extended mysql_ha_close() so that it can now suppres locking
        and error reporting. That way it can be used at more places and the
        old function mysql_ha_closeall() is now obsolete.
        Added a new function mysql_ha_close_list() which closes a whole list
        of HANDLER tables or all HANDLER tables, if the list is NULL.
        Furthermore is can close all 'old' (marked for flush) HANDLER tables.
      sql/sql_table.cc:
        bug#3565 - HANDLER and FLUSH TABLE/TABLES deadlock.
        Replaced the obsolte mysql_ha_closeall() by the new mysql_ha_close().
      8f6664c5
  17. 23 Jun, 2004 2 commits
    • unknown's avatar
      lower_case_table_names=2 (Keep case for table names) was not honored · 3db93f80
      unknown authored
      with ALTER TABLE and CREATE/DROP INDEX. (Bug #3109)
      Make net_buffer_length visible for mysql clients (Bug #4206)
      
      
      include/mysql.h:
        Make net_buffer_length visible for mysql clients
      libmysql/libmysql.c:
        Make net_buffer_length visible for mysql clients
      mysql-test/mysql-test-run.sh:
        Don't give warning for some common 'safe' warnings
      mysql-test/r/lowercase_table2.result:
        Test name conversion with ALTER TABLE / CREATE INDEX (Bug #3109)
      mysql-test/t/lowercase_table2.test:
        Test name conversion with ALTER TABLE / CREATE INDEX (Bug #3109)
      scripts/mysql_install_db.sh:
        Removed not used variable
      sql/sql_table.cc:
        lower_case_table_names=2 (Keep case for table names) was not honored
        with ALTER TABLE and CREATE/DROP INDEX. (Bug #3109)
      3db93f80
    • unknown's avatar
      handler interface cleanups: · 9a554b47
      unknown authored
        more logical table/index_flags
        return  HA_ERR_WRONG_COMMAND instead of abstract methods where appropriate
        max_keys and other limits renamed to max_supported_keys/etc
        max_keys/etc are now wrappers to max_supported_keys/etc 
        ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to real {index,rnd}_{init,end} to enforce strict pairing
      
      
      include/myisam.h:
        increasing myisam_max_temp_file_length
      include/my_base.h:
        handler interface cleanup
      myisam/mi_static.c:
        warning removed
      mysql-test/Makefile.am:
        followup
      mysql-test/r/fulltext.result:
        fulltext indexes are not ordered
      mysql-test/r/rpl_user_variables.result:
        followup
      sql/field.cc:
        index_flags
      sql/filesort.cc:
        rnd_init -> ha_rnd_init
        rnd_end -> ha_rnd_end
      sql/ha_berkeley.cc:
        cleanup
      sql/ha_berkeley.h:
        table/index_flags revamped
      sql/ha_heap.cc:
        ensure index is accessed only after index_init (esp. important for temp tables)
      sql/ha_heap.h:
        table/index_flags revamped
      sql/ha_innodb.cc:
        don't workaround MySQL sloppiness
      sql/ha_innodb.h:
        table/index_flags revamped
      sql/ha_isam.h:
        table/index_flags revamped
      sql/ha_isammrg.h:
        table/index_flags revamped
      sql/ha_myisam.cc:
        ensure index is accessed only after index_init (esp. important for temp tables)
      sql/ha_myisam.h:
        table/index_flags revamped
      sql/ha_myisammrg.h:
        table/index_flags revamped
      sql/handler.cc:
        handler interface cleanups
      sql/handler.h:
        handler interface cleanups:
          more logical table/index_flags
          return  HA_ERR_WRONG_COMMAND instead of abstract methods
          max_keys and other limits renamed to max_supported_keys/etc
          max_keys/etc are now wrappers to max_supported_keys/etc 
          ha_index_init/ha_rnd_init/ha_index_end/ha_rnd_end are now wrappers to enforce strict pairing
      sql/item_subselect.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/lex.h:
        renamed to avoid conflicts
      sql/opt_range.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/opt_range.h:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/opt_sum.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/records.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_acl.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_cache.cc:
        cleanup
      sql/sql_delete.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_handler.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_help.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_insert.cc:
        table/index_flags cleanup
      sql/sql_select.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/sql_table.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
        table/index_flags cleanup
      sql/sql_update.cc:
        index_init/index_end/rnd_init/rnd_end strict pairing fixed
      sql/sql_yacc.yy:
        INDEX -> INDEX_SYM
      sql/table.cc:
        table/index_flags cleanup
      9a554b47
  18. 11 Jun, 2004 1 commit
  19. 10 Jun, 2004 2 commits
    • unknown's avatar
      EXISTS(SELECT * ...) · d9b81f3a
      unknown authored
      close table before opening in optimize
      
      
      mysql-test/r/subselect.result:
        test of EXISTS(SELECT * ...)
      mysql-test/t/subselect.test:
        test of EXISTS(SELECT * ...)
      sql/sql_base.cc:
        EXISTS(SELECT * ...)
      sql/sql_table.cc:
        close table before opening one
      d9b81f3a
    • unknown's avatar
      WL#1689 "Map OPTIMIZE TABLE to ALTER TABLE for InnoDB" · 78492226
      unknown authored
      exactly it's mapped to "ALTER TABLE t; ANALYZE TABLE t;"
      
      
      sql/ha_innodb.cc:
        ::optimize() now returns "try ALTER and then analyze" instead of only analyze.
      sql/handler.h:
        new code to say "try alter and analyze".
      sql/mysql_priv.h:
        as we may now use mysql_alter_table() internally to ::optimize we must prevent it from talking to the client.
        New function mysql_recreate_table() which is the same as ALTER TABLE t;
      sql/sql_parse.cc:
        the big block removed here is moved into mysql_recreate_table().
      sql/sql_table.cc:
        In mysql_admin_table(): if the handler returns HA_ADMIN_TRY_ALTER,
        we close the table, recreate it, then open it and analyze it.
        This is currently used only for OPTIMIZE TABLE of an InnoDB table.
      78492226
  20. 09 Jun, 2004 1 commit
    • unknown's avatar
      Making DROP TABLE IF EXISTS, DROP DATABASE IF EXISTS, DELETE FROM, UPDATE be logged to · 43489240
      unknown authored
      binlog even if they changed nothing, and a test for this.
      This is useful when users use these commands to clean up their master and slave by issuing
      one command on master (assume master and slave have slightly different data for some
      reason and you want to clean up both).
      Note that I have not changed multi-table DELETE and multi-table UPDATE because their
      error-reporting mechanism is more complicated.
      
      
      mysql-test/r/mysqlbinlog.result:
        result update
      mysql-test/r/rpl_charset.result:
        result update
      mysql-test/r/rpl_flush_log_loop.result:
        result update
      mysql-test/r/rpl_replicate_do.result:
        result update
      mysql-test/r/rpl_temporary.result:
        result update
      mysql-test/t/mysqlbinlog.test:
        moving SET TIMESTAMP up as DROP shows up in binlog
      sql/sql_db.cc:
        DROP DATABASE IF EXISTS is now always logged to binlog, even if db did not exist
      sql/sql_delete.cc:
        DELETE FROM t is now always logged to binlog even if no rows deleted (but in this case, only if really no error).
      sql/sql_table.cc:
        DROP TABLE IF EXISTS is now always logged to binlog even if table did not exist
      sql/sql_update.cc:
        UPDATE is now always logged to binlog even if no rows updated (but in this case, only if really no error).
      43489240
  21. 24 May, 2004 1 commit
    • unknown's avatar
      Fix for sporadically failures of innodb.test on Darwin 7.3 · 69859967
      unknown authored
      which occured because we were not lowering case of file names 
      for temporary tables altough handler assumes so if 
      lower_case_table_names==2. Now we are lowering case for them.
      
      
      sql/sql_select.cc:
        Now we are lowering case of file names for temporary tables.
      sql/sql_table.cc:
        Now we are lowering case of file names for temporary tables.
      69859967
  22. 22 May, 2004 1 commit
    • unknown's avatar
      Fix for bug which caused grant.test fail on darwin7.3. We were converting db and table · 0e86cf8a
      unknown authored
      names to lower case using latin1 instead of utf-8 in sql_acl.cc if lower_case_table_names 
      was on. Also replaced in other such places system_charset_info with files_charset_info
      for consistency.
      
      
      sql/handler.cc:
        Replaced system_charset_info with files_charset_info in places where we are converting 
        names to lower case because of lower_case_table_names for consistency.
      sql/sql_acl.cc:
        We should use files_charset_info when converting db/table names to lower case because they
        could be in utf-8 and not in latin1!
      sql/sql_cache.cc:
        Added clarifying comments in tricky place after discussion with Sanja.
        Replaced system_charset_info with files_charset_info in places where we 
        are converting names to lower case because of lower_case_table_names for 
        consistency.
      sql/sql_db.cc:
        Replaced system_charset_info with files_charset_info in places where we are converting 
        names to lower case because of lower_case_table_names for consistency.
      sql/sql_show.cc:
        Replaced system_charset_info with files_charset_info in places where we are converting 
        names to lower case because of lower_case_table_names for consistency.
      sql/sql_table.cc:
        Replaced system_charset_info with files_charset_info in places where we are converting 
        names to lower case because of lower_case_table_names for consistency.
      0e86cf8a
  23. 21 May, 2004 1 commit
    • unknown's avatar
      Introduced parameter object "ALTER_INFO" for mysql_alter_table · ea63df7f
      unknown authored
      to make list of parameters in mysql_alter_table shorted
      to avoid warning in MSVC (windows) building 
      
      
      sql/mysql_priv.h:
        Introduced parameter object "ALTER_INFO" for mysql_alter_table
        - changed declaration of mysql_alter_table
        - changed declaration of mysql_drop_index 
          (replaced List<Alter_drop> by ALTER_INFO)
      sql/sql_lex.h:
        Introduced parameter object "ALTER_INFO" for mysql_alter_table
        - declared struct ALTER_INFO
        - added ALTER_INFO alter_info; into LEX
        - removed fields which were added into ALTER_INFO from LEX
      sql/sql_parse.cc:
        Introduced parameter object "ALTER_INFO" for mysql_alter_table
        - changed invotaions of mysql_alter_table
        - replaced cleaning fields in SQLCOM_OPTIMIZE by ALTER_INFO::reset
        - changed invocation of mysql_drop_index (replaced lex->drop_list by &lex->alter_info)
        - changed definition of mysql_create_index and mysql_drop_index to use ALTER_INFO
      sql/sql_table.cc:
        Introduced parameter object "ALTER_INFO" for mysql_alter_table
        - changed definition of mysql_alter_table
      sql/sql_yacc.yy:
        Introduced parameter object "ALTER_INFO" for mysql_alter_table
        - replaced using of removed from LEX fields my fields of LEX::alter_info
      ea63df7f
  24. 15 May, 2004 1 commit
    • unknown's avatar
      Better fix for bug #3749 (bug in deleting automatic generated foreign keys) · c9667f11
      unknown authored
      mysql-test/r/func_encrypt.result:
        Update tests (left after sanjas last push)
      mysql-test/r/innodb.result:
        Added test for bug #3749 (bug in deleting automatic generated foreign keys)
      mysql-test/t/innodb.test:
        Added test for bug #3749 (bug in deleting automatic generated foreign keys)
      sql/sql_class.cc:
        Updated comment
      tests/client_test.c:
        Added missing mysql_stmt_close()
      c9667f11
  25. 14 May, 2004 2 commits
    • unknown's avatar
      better fix for bug#3749 - do not consider already removed keys in key removal process · 321d50fd
      unknown authored
      mysql-test/r/innodb.result:
        tests for bug#3749
      mysql-test/t/innodb.test:
        tests for bug#3749
      321d50fd
    • unknown's avatar
      sql_table.cc: · 6f0946d6
      unknown authored
        Fix bug #3749: if there were several indexs that made an automatically generated FOREIGN KEY index redundant, then MySQL miscalculated the number of keys, and the AUTO_INCREMENT flag was forgotten by MySQL from a PRIMARY KEY. There were probably a multitude of other errors caused by this.
      
      
      sql/sql_table.cc:
        Fix bug #3749: if there were several indexs that made an automatically generated FOREIGN KEY index redundant, then MySQL miscalculated the number of keys, and the AUTO_INCREMENT flag was forgotten by MySQL from a PRIMARY KEY. There were probably a multitude of other errors caused by this.
      6f0946d6
  26. 11 May, 2004 1 commit
    • unknown's avatar
      Don't automaticly generate a new key for a foreign key constraint if there is already a usable key. · d3fcd8d4
      unknown authored
      Prefer not automatic keys before automatic keys. If there is two conf
      
      
      BitKeeper/etc/ignore:
        added *.d
      include/my_base.h:
        Added flag for automaticly generated key
      mysql-test/r/constraints.result:
        Update tests after bug fix
      mysql-test/r/create.result:
        Update tests after bug fix
      mysql-test/r/innodb.result:
        Added test of automatic creation of foreign keys
      mysql-test/t/innodb.test:
        Added test of automatic creation of foreign keys
      mysql-test/t/key_cache.test:
        Portability fixes (64 BIT os)
      sql/sql_acl.cc:
        Indentation fixes
      sql/sql_class.cc:
        Fix key comparison to handle prefix and optionally key segments in different order.
      sql/sql_class.h:
        Added flag for automaticly generated keys
      sql/sql_parse.cc:
        Added flag for automaticly generated keys
      sql/sql_table.cc:
        Don't automaticly generate a new key for a foreign key constraint if there is already a usable key.
        Prefer not automatic keys before automatic keys. If there is two conflicting automatic keys, prefer the longer one.
      sql/sql_yacc.yy:
        Added flag for automaticly generated keys
      strings/strings-x86.s:
        Portability fix.
      d3fcd8d4
  27. 07 May, 2004 1 commit
  28. 06 May, 2004 1 commit
    • unknown's avatar
      WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again). · bfe2425a
      unknown authored
      HEAP: Copies the key count to a backup variable and sets the key count to zero.
      That way, no HEAP function will ever try to touch any index.
      Re-enabling is done by copying back the backup variable.
      To avoid memory leak at table close, disable deletes all index trees.
      Re-enabling must be done with empty indexes and data anyway. Otherwise,
      the indexes would need to be repaired, wich HEAP is not capable of.
      MyISAM: Only the key_map is cleared and set.
      Re-enabling must be done with empty indexes and data. Otherwise, repair needs
      to be done which will enable all keys persistently.
      The former implementation disabled only non-unique keys and maked this persistent.
      The new implementation additionally can disable all keys, but only without
      making this persistent. Re-enabling all keys can be done without repair,
      if data file and indexes are empty.
      
      
      heap/heapdef.h:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Pulled hp_clear_keys() out of hp_clear().
      heap/hp_clear.c:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Pulled hp_clear_keys() out of hp_clear().
        Added the new functions for disabling and enabling keys and to ask for the key state.
      include/heap.h:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Added a new HP_SHARE element to save the key count while keys are disabled.
        Added declarations for the new functions.
      myisam/mi_open.c:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Added the new functions for disabling and enabling keys and to ask for the key state.
      myisam/myisamdef.h:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Added declarations for the new functions.
      sql/ha_heap.cc:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Pulled set_keys_for_scanning() out of open().
        Added the new functions for disabling and enabling keys and to ask for the key state.
      sql/ha_heap.h:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Added declarations for the new functions.
      sql/ha_myisam.cc:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Extended disable_indexes() for all keys and no save.
        The argument is now 'mode' as it must handle different cases.
        Extended enable_indexes() for no save.
        The new feature needs the new argument 'mode' with the same semantics as in disable_indexes().
        Added indexes_are_disabled() to ask for the key state.
        Extended the existing call to enable_indexes() by the new argument.
      sql/ha_myisam.h:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Modified the declarations of dis-/enable_indexes() for the new argument.
        Added the declaration of the new function to ask for the key state.
      sql/handler.h:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Added declarations for the operation modes for the key switching functions.
        Modified the declarations of dis-/enable_indexes() for the new argument.
        Added the declaration of the new function to ask for the key state.
      sql/sql_select.cc:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        In create_myisam_from_heap() take notice of disabled keys
        and disable them in the new table before copying the data.
      sql/sql_table.cc:
        WL#1687 - Optimize UNION DISTINCT ... UNION ALL (again).
        Modified the calls of dis-/enable_indexes() for the new argument.
      bfe2425a
  29. 05 May, 2004 1 commit
    • unknown's avatar
      BUG# 3658 ALTER TABLE corrupts table · 9d99ebe3
      unknown authored
      Added  test file for ALTER TABLE, engine = ndbcluster
      
      
      sql/ha_ndbcluster.cc:
        Add code to retriev all fields if HA_EXTRA_RETRIEVE_ALL_COLS are set.
      sql/ha_ndbcluster.h:
        Add var for retreiving all fields
      sql/sql_table.cc:
        Send HA_EXTRA_RETRIEVE_ALL_COLS to handler in copy_data_between_tables
      9d99ebe3
  30. 04 May, 2004 1 commit
    • unknown's avatar
      Fix to handle unsigned data in prepared statements (Bug #3447) · 030587a7
      unknown authored
      Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
      Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
      Don't auto-repair tables in mysqlcheck if table type doesn't support 'check' command.
      
      
      Docs/mysqld_error.txt:
        Updated error values
      client/mysqlcheck.c:
        Don't cause auto-repair on 'note' (Tables that doesn't support 'check')
      libmysql/libmysql.c:
        Fix to handle unsigned data in prepared statements (Bug #3447)
      mysql-test/r/analyse.result:
        Test of analyze + impossible where (Bug #2238)
      mysql-test/r/bdb.result:
        Update results
      mysql-test/r/ctype_ujis.result:
        Update results
      mysql-test/r/isam.result:
        Update results
      mysql-test/r/repair.result:
        Update results
      mysql-test/t/analyse.test:
        Test of analyze + impossible where (Bug #2238)
      mysql-test/t/ctype_ujis.test:
        Added test for LIKE (Bug #3438)
      sql/sql_acl.cc:
        Fixed security problem that password was temporarly reset when someone changed GRANT for a user. (Bug #3404)
      sql/sql_select.cc:
        Fixed problem with PROCEDURE analyse() and impossible WHERE (Bug #2238)
      sql/sql_table.cc:
        Changed 'error' to 'note' when table doesn't support admin command.
      sql/sql_update.cc:
        Indentaion cleanup
      tests/client_test.c:
        Added test for handling unsigned/signed strings with prepared statements
      030587a7
  31. 21 Apr, 2004 1 commit
    • unknown's avatar
      Introduce keys in child tables corresponding to FOREIGN KEYs · c9e15382
      unknown authored
      Remove redundant keys in CREATE TABLE and ALTER TABLE
      
      
      mysql-test/r/constraints.result:
        Remove redundant keys
      mysql-test/r/create.result:
        Remove redundant keys
      mysql-test/r/innodb.result:
        Remove redundant keys
      mysql-test/r/range.result:
        Remove redundant keys
      mysql-test/t/range.test:
        Remove redundant keys
      sql/sql_class.cc:
        Equality comparison of keys (ignoring name)
      sql/sql_class.h:
        Equality comparison of keys (ignoring name)
      sql/sql_table.cc:
        Remove redundant keys
      sql/sql_yacc.yy:
        Introduce keys in child tables corresponding to FOREIGN KEYs
      c9e15382
  32. 15 Apr, 2004 1 commit
    • unknown's avatar
      Added NDB storage engine · b43af929
      unknown authored
      include/my_base.h:
        Added three new errorcodes to be returned by the handler
      sql/Makefile.am:
        Add new files discover.cc, ha_ndbcluster.cc and ha_ndbcluster.h
        Add include path of NDB files
      sql/handler.cc:
        Added variable for keeping track of number of "discovers"
        Added NDB to list of storage engines
        Added calls to NDB for commit, rollback etc.
        Added function ha_discover for discovering a table from handler
      sql/handler.h:
        Added NDB to list of storage engines
        Added vbariable in transaction for keeping a ndb transaction handle
      sql/lex.h:
        Changed AND to AND_SYM and OR to OR_SYM to avoid nameclash
      sql/mysql_priv.h:
        Added prototypes for new functions readfrm, writefrm and create_table_from_handler
      sql/mysqld.cc:
        Added NDB support
        Disable NDB with --skip-ndbcluster
      sql/set_var.cc:
        Add posibilty to show if NDB handler is supported
      sql/ha_ndbcluster.cc:
        Add ifdef for whole file for not compiling anything if NDB sholdn't be included
        Updated timestamp handling to use new vars timestamp_default_now and timestamp_on_update_now
      sql/sql_base.cc:
        If frm file is not found on disk, ask handler if it knows about the table. Then retry the open.
        This new functionality is called "discover" and can be used by any handler.
      sql/sql_class.h:
        Added variable for keeping a NDB connection handle
      sql/sql_table.cc:
        Before trying to create a table, ask handler if a table with that name already exists.
        If user said CREATE TABLE IF NOT EXISTS, disocver the table from handler
      sql/sql_yacc.yy:
        Add NDBCLUSTER_SYM
        Change AND to AND_SYM
        Change OR to OR_SYM
      sql/table.cc:
        Fixe for probelm when NullS is returned from bas_ext of a handler.
      b43af929
  33. 08 Apr, 2004 1 commit
    • unknown's avatar
      Don't enable HA_EXTRA_WRITE_CACHE if too few rows · 10e15762
      unknown authored
      Revert main parts of patch for online index builds. Should be done differently
      Added support for %lx in my_snprintf()
      
      
      sql/ha_myisam.cc:
        Don't enable HA_EXTRA_WRITE_CACHE if too few rows
      sql/handler.h:
        Indentaion fix
      sql/mysql_priv.h:
        Removed real_alter_table, mysql_add_column and mysql_drop_column
      sql/sql_class.cc:
        After merge fix
      sql/sql_insert.cc:
        Don't user bulk_insert if only one row (common case)
      sql/sql_parse.cc:
        Added mysql_create_index() and mysql_drop_index() as these are only wrappers for mysql_alter_table()
      sql/sql_table.cc:
        Revert main parts of patch for online index builds
        Changed back to use tabs to make merges possible between trees
      sql/unireg.cc:
        Added comments and minor cleanup
      strings/my_vsnprintf.c:
        Added support for %lx.
        Proper long support
      10e15762
  34. 07 Apr, 2004 2 commits
    • unknown's avatar
      Fix for Hand-Merge · 1bfdb177
      unknown authored
      1bfdb177
    • unknown's avatar
      post-review fixes · 736853e5
      unknown authored
      HA_EXTRA_WRITE_CACHE now part of start_bulk_insert()
      test cleanups
      
      
      BitKeeper/deleted/.del-repair_part2-master.sh~f44a8c15d6c36585:
        Delete: mysql-test/t/repair_part2-master.sh
      BitKeeper/deleted/.del-repair_part2.test~c20f60783b04d001:
        Delete: mysql-test/t/repair_part2.test
      BitKeeper/deleted/.del-repair_part2.result~72ca166fb248b566:
        Delete: mysql-test/r/repair_part2.result
      mysql-test/r/myisam.result:
        updated
      mysql-test/t/lowercase_table2.test:
        typo fixed
      mysql-test/r/repair.result:
        single repair.test from repair_part[12].test
      mysql-test/t/lowercase_table3.test:
        typo fixed
      mysql-test/t/lowercase_table_qcache.test:
        newline added
      mysql-test/t/myisam.test:
        updated
      mysql-test/t/repair.test:
        single repair.test from repair_part[12].test
      sql/field.cc:
        reverted
      sql/field.h:
        style fix
      sql/ha_myisam.cc:
        add HA_EXTRA_WRITE_CACHE to start_bulk_insert
      sql/sql_insert.cc:
        add HA_EXTRA_WRITE_CACHE to start_bulk_insert
      sql/sql_load.cc:
        add HA_EXTRA_WRITE_CACHE to start_bulk_insert
      sql/sql_table.cc:
        add HA_EXTRA_WRITE_CACHE to start_bulk_insert
      736853e5