An error occurred fetching the project authors.
  1. 12 Nov, 2004 1 commit
    • unknown's avatar
      Mainly resolving Guilhem's 4.1 patch to 5.0 · ef2a5a5c
      unknown authored
      client/mysqlbinlog.cc:
        Resolveing merge
      client/mysqldump.c:
        resolving merge
      sql/handler.cc:
        resolving merge
      sql/lex.h:
        resolve merge
      sql/log.cc:
        resolving merge
      sql/log_event.cc:
        resolving merge
      sql/sql_parse.cc:
        resolving merge
      sql/sql_yacc.yy:
        resolving merge
      ef2a5a5c
  2. 10 Nov, 2004 4 commits
    • unknown's avatar
      no new message in 4.1 (causes merge issues with 5.0). Using ER_UNKNOW_ERROR... · 1922e37c
      unknown authored
      no new message in 4.1 (causes merge issues with 5.0). Using ER_UNKNOW_ERROR and hardcoded message string instead.
      
      
      include/mysqld_error.h:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/handler.cc:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/czech/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/danish/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/dutch/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/english/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/estonian/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/french/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/german/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/greek/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/hungarian/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/italian/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/japanese/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/korean/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/norwegian-ny/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/norwegian/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/polish/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/portuguese/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/romanian/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/russian/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/serbian/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/slovak/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/spanish/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/swedish/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      sql/share/ukrainian/errmsg.txt:
        no new message in 4.1 (causes merge issues with 5.0)
      1922e37c
    • unknown's avatar
      Added possibility to detect if libmysqld is restarted · bbacfb85
      unknown authored
      (Needed to check if memory allocated with mysql_once_init() has been freed)
      
      
      
      include/my_sys.h:
        Added possibility to detect if libmysqld is restarted
      mysys/my_init.c:
        Added possibility to detect if libmysqld is restarted
      sql/handler.cc:
        Detect if libmysqld is restarted
        Simple optimization of ha_known_exts()
      bbacfb85
    • unknown's avatar
      WL#1596 "make mysqldump --master-data --single-transaction able to do online... · fbc56a51
      unknown authored
      WL#1596 "make mysqldump --master-data --single-transaction able to do online dump of InnoDB AND report reliable
      binlog coordinates corresponding to the dump".
      The good news is that now mysqldump can be used to get an online backup of InnoDB *which works for
      point-in-time recovery and replication slave creation*. Formerly, mysqldump --master-data --single-transaction
      used to call in fact mysqldump --master-data, so the dump was not an online dump (took big lock all time of dump).
      The only lock which is now taken in this patch is at the beginning of the dump: mysqldump does:
      FLUSH TABLES WITH READ LOCK; START TRANSACTION WITH CONSISTENT SNAPSHOT; SHOW MASTER STATUS; UNLOCK TABLES;
      so the lock time is in fact the time FLUSH TABLES WITH READ LOCK takes to return (can be 0 or very long, if
      a table is undergoing a huge update).
      I have done some more minor changes listed in the paragraph of mysqldump.c.
      WL#2237 "WITH CONSISTENT SNAPSHOT clause for START TRANSACTION":
      it's a START TRANSACTION which additionally starts a consistent read on all
      capable storage engine (i.e. InnoDB). So, can serve as a replacement for
      BEGIN; SELECT * FROM some_innodb_table LIMIT 1; which starts a consistent read too. 
      
      
      client/mysqldump.c:
        Main change: mysqldump --single-transaction --master-data is now able to, at the same time,
        take an online dump of InnoDB (using consistent read) AND get the binlog position corresponding to this dump
        (before, using the two options used to silently cancel --single-transaction).
        This uses the new START TRANSACTION WITH CONSISTENT SNAPSHOT syntax.
        Additional changes: 
        a) cleanup:
         - DBerror calls exit() so some code was unneeded
         - no need to call COMMIT at end, leave disconnection do the job
         - mysql_query_with_error_report()
        b) requirements I had heard from colleagues:
         - --master-data now requires an argument, to comment out ("--") the CHANGE MASTER or not
           (commenting had been asked for point-in-time recovery when replication is not necessary).
         - --first-slave is renamed to --lock-all-tables
        c) more sensible behaviours (has been discussed internally):
         - if used with --master-data, --flush-logs is probably intended to get a flush synchronous
           with the dump, not one random flush per dumped db.
         - disabled automatic reconnection as, at least, SQL_MODE would be lost (and also, depending
           on options, LOCK TABLES, BEGIN, FLUSH TABLES WITH READ LOCK).
      include/mysqld_error.h:
        an error if START TRANSACTION WITH CONSISTENT SNAPSHOT is called and there is no consistent-read capable storage engine
        (idea ((C) PeterG) is that it's a bit like CREATE TABLE ENGINE=InnoDB when there is no support for InnoDB).
      sql/handler.cc:
        new ha_start_consistent_snapshot(), which, inside an existing transaction, starts a consistent read
        (offers an alternative to SELECTing any InnoDB table). Does something only for InnoDB.
        Warning if no suitable engine supported.
      sql/handler.h:
        declarations
      sql/lex.h:
        symbols for lex
      sql/share/czech/errmsg.txt:
        new message
      sql/share/danish/errmsg.txt:
        new message
      sql/share/dutch/errmsg.txt:
        new message
      sql/share/english/errmsg.txt:
        new message
      sql/share/estonian/errmsg.txt:
        new message
      sql/share/french/errmsg.txt:
        new message
      sql/share/german/errmsg.txt:
        new message
      sql/share/greek/errmsg.txt:
        new message
      sql/share/hungarian/errmsg.txt:
        new message
      sql/share/italian/errmsg.txt:
        new message
      sql/share/japanese/errmsg.txt:
        new message
      sql/share/korean/errmsg.txt:
        new message
      sql/share/norwegian-ny/errmsg.txt:
        new message
      sql/share/norwegian/errmsg.txt:
        new message
      sql/share/polish/errmsg.txt:
        new message
      sql/share/portuguese/errmsg.txt:
        new message
      sql/share/romanian/errmsg.txt:
        new message
      sql/share/russian/errmsg.txt:
        new message
      sql/share/serbian/errmsg.txt:
        new message
      sql/share/slovak/errmsg.txt:
        new message
      sql/share/spanish/errmsg.txt:
        new message
      sql/share/swedish/errmsg.txt:
        new message
      sql/share/ukrainian/errmsg.txt:
        new message
      sql/sql_lex.h:
        new option in lex (transaction options)
      sql/sql_parse.cc:
        warning comment (never make UNLOCK TABLES commit a transaction, please);
        support for starting consistent snapshot.
      sql/sql_yacc.yy:
        new clause WITH CONSISTENT SNAPSHOT (syntax ok'd by PeterG) for START TRANSACTION.
      fbc56a51
    • unknown's avatar
      Bug#6031 - To drop database you have to execute DROP DATABASE command twice. · c52a4685
      unknown authored
        DROP DATABASE failed because of file ext not in TYPELIB of known extensions.
        General solution - construct a TYPELIB at runtime instead of a static list.
      
      
      mysql-test/r/ndb_basic.result:
        Bug#6031
          New test for bug
      mysql-test/t/ndb_basic.test:
        Bug#6031
          New test for bug
      sql/ha_ndbcluster.cc:
        Cosmetic fix
      sql/handler.cc:
        Bug#6031
          New function - ha_known_exts()
          We can construct TYPELIB of known db file extensions.
      sql/handler.h:
        Bug#6031
          New function - ha_known_exts()
      sql/sql_db.cc:
        Bug#6031
          We use a constructed list of known extensions instead of a static list
      c52a4685
  3. 08 Nov, 2004 1 commit
    • unknown's avatar
      As rollback can be 30 times slower than insert in InnoDB, and user may · ae124520
      unknown authored
      not know there's rollback (if it's because of a dupl row), better warn
      that it's happening. It can also be of use for a DBA killing a
      connection and wondering what this connection is still doing now. Example:
      |  5 | root | localhost | test | Killed  | 10   | Rolling back | insert into i select * from j |
      
      
      sql/handler.cc:
        As rollback can be 30 times slower than insert in InnoDB, and user may
        not know there's rollback (if it's because of a dupl row), better warn.
      ae124520
  4. 03 Nov, 2004 2 commits
    • unknown's avatar
      After merge fixes · 43e420a2
      unknown authored
      libmysqld/lib_sql.cc:
        After merge fix
      sql/handler.cc:
        Cleanup
      43e420a2
    • unknown's avatar
      Fixes after merge with 4.1 · 786d7938
      unknown authored
      FOUND is not a reserved keyword anymore
      Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
      Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
      Note that the 5.0 tree is not yet up to date: Sanja will have to fix multi-update-locks for this merge to be complete
      
      
      BUILD/SETUP.sh:
        Portability fix
      client/mysqltest.c:
        Portability fix
      mysql-test/r/drop.result:
        updated results
      mysql-test/r/func_str.result:
        New warnings (after merge)
      mysql-test/r/insert.result:
        Updated tests
      mysql-test/r/join_nested.result:
        Updated results (because of new column types in 5.0)
      mysql-test/r/lock_multi.result:
        Temporarly wrong results until Sanja fixes multi-update-lock in 5.0
      mysql-test/r/multi_update.result:
        Temporary fix until Sanja fixes multi-update locking
      mysql-test/r/ps_1general.result:
        Update of results after merge
      mysql-test/r/ps_2myisam.result:
        Update of results after merge
      mysql-test/r/ps_3innodb.result:
        Update of results after merge
      mysql-test/r/ps_4heap.result:
        Update of results after merge
      mysql-test/r/ps_5merge.result:
        Update of results after merge
      mysql-test/r/ps_6bdb.result:
        Update of results after merge
      mysql-test/r/query_cache.result:
        Update of results after merge
      mysql-test/r/range.result:
        New results for new tests
      mysql-test/r/rpl_auto_increment.result:
        Update with new 4.0 information
      mysql-test/r/rpl_charset.result:
        After merge fixes
      mysql-test/r/subselect.result:
        After merge fixes
      mysql-test/r/view.result:
        Temporary fix until multi-update-locking is fixed
      mysql-test/t/drop.test:
        Safety fix
      mysql-test/t/multi_update.test:
        Temporary fix until multi-update-locking is fixed
      mysql-test/t/rpl_charset.test:
        More comments
      mysql-test/t/sp-error.test:
        Updated comments
      mysql-test/t/view.test:
        Temporary fix until multi-update-locking is fixed
      scripts/mysql_fix_privilege_tables.sh:
        Better error message
      sql-common/client.c:
        More debugging
      sql/ha_ndbcluster.cc:
        After merge fixes
      sql/handler.cc:
        After merge fixes
      sql/item.cc:
        Simple optimization of creating item
        After merge fixed
        Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
        The problem is that if you compare a string field to a binary string, you can't replace the field with a string constant as the binary comparison may then fail (The original field value may be in a different case)
      sql/item.h:
        Added Item::set_no_const_sub() to be able to mark fields that can't be substituted
      sql/item_cmpfunc.cc:
        Mark fields compared as binary to not be substituted.
      sql/item_func.cc:
        After merge fix
      sql/log_event.cc:
        After merge fix
      sql/mysql_priv.h:
        After merge fix
      sql/opt_range.cc:
        After merge fix
      sql/protocol.cc:
        Made flags uint instead of int (as it's used as a bit mask)
      sql/protocol.h:
        Made flags uint instead of int (as it's used as a bit mask)
      sql/protocol_cursor.cc:
        Made flags uint instead of int (as it's used as a bit mask)
        Indentation cleanups
      sql/sp.cc:
        After merge fixes
        Removed compiler warnings
      sql/sp_head.cc:
        After merge fixes
      sql/sql_base.cc:
        After merge fixes
        Removed 'send_error' from 'insert_fields()' as the error is sent higher up
      sql/sql_class.cc:
        Give assert if set_n_backup_item_arena is used twice
      sql/sql_class.h:
        Give assert if set_n_backup_item_arena is used twice
        After merge fixes
        Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
      sql/sql_handler.cc:
        After merge fixes
      sql/sql_parse.cc:
        After merge fixes
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        After merge fixes
        Moved 'build_equal_items' to optimize_cond() (logical place)
      sql/sql_table.cc:
        After merge fixes
      sql/sql_trigger.cc:
        After merge fixes
      sql/sql_update.cc:
        After merge fixes
        (This should be fixed by Sanja to have lower granuality locking of tables in multi-update)
      sql/sql_view.cc:
        After merge fixes
      sql/sql_yacc.yy:
        After merge fixes
        Don't have FOUND as a reserved keyword
      786d7938
  5. 25 Oct, 2004 1 commit
  6. 22 Oct, 2004 1 commit
    • unknown's avatar
      handler.cc: · 8c17290e
      unknown authored
        Typos in comments.
      
      
      sql/handler.cc:
        Typos in comments.
      8c17290e
  7. 21 Oct, 2004 1 commit
    • unknown's avatar
      smarter ALTER TABLE - don't copy the table if only comment or default values are changed · 95ddb2e2
      unknown authored
      sql/handler.cc:
        do not delete the table in the "unkonwn" handler (makes no sense anyway)
      sql/handler.h:
        more HA_CREATE_USED flags
      sql/sql_lex.h:
        more ALTER_ flags, no alter_info->is_simple anymore
      sql/sql_parse.cc:
        no alter_info->is_simple anymore
      sql/sql_table.cc:
        do not rename the table in the "unkonwn" handler (makes no sense anyway)
        smarter ALTER TABLE - don't copy the table if only comment or default values are changed
      sql/sql_yacc.yy:
        specify what ALTER is todo with flags, not alter_info->is_simple
      sql/unireg.cc:
        create frm only (but not in the handler) if requested
      95ddb2e2
  8. 20 Oct, 2004 1 commit
  9. 14 Oct, 2004 1 commit
    • unknown's avatar
      true,false -> TRUE, FALSE · b76f5cd2
      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
      b76f5cd2
  10. 05 Oct, 2004 1 commit
    • unknown's avatar
      Reverted patch for new usage of open_count as it caused more problems than it solved · 12ea1d75
      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
      12ea1d75
  11. 01 Oct, 2004 1 commit
    • unknown's avatar
      Support for TIMESTAMP columns holding NULL values. Unlike all other · c2a25521
      unknown authored
      column types TIMESTAMP is NOT NULL by default, so in order to have 
      TIMESTAMP column holding NULL valaues you have to specify NULL as
      one of its attributes (this needed for backward compatibility).
      
      Main changes:
      Replaced TABLE::timestamp_default_now/on_update_now members with
      TABLE::timestamp_auto_set_type flag which is used everywhere
      for determining if we should auto-set value of TIMESTAMP field 
      during this operation or not. We are also use Field_timestamp::set_time()
      instead of handler::update_timestamp() in handlers.
      
      
      mysql-test/r/type_timestamp.result:
        Added test for TIMESTAMP columns which are able to store NULL values.
      mysql-test/t/type_timestamp.test:
        Added test for TIMESTAMP columns which are able to store NULL values.
      sql/field.cc:
        Added support for TIMESTAMP fields holding NULL values.
        We don't need Field_timestamp::set_timestamp_offsets() anymore.
        Instead we need Field_timestamp::get_auto_set_type() function
        which will convert TIMESTAMP auto-set type stored in Field in 
        unireg_check to value from timestamp_auto_set_type_enum.
        (We can't replace this function with additional Field_timestamp member
        and some code in constructor because then we will have troubles
        with Field::new_field() method).
        We should also set field to not null in Field_timestamp::set_time() now.
      sql/field.h:
        Added support for TIMESTAMP fields holding NULL values.
        We don't need Field_timestamp::set_timestamp_offsets() anymore.
        Instead we need Field_timestamp::get_auto_set_type() function,
        which will convert TIMESTAMP auto-set type stored in Field in 
        unireg_check to value from timestamp_auto_set_type_enum.
        We also have to support NULL values in Field_timestamp::get_timestamp()
        function.
      sql/field_conv.cc:
        Added comment clarifying behavior in case of TIMESTAMP fields which are
        able to store NULL values.
      sql/ha_berkeley.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_heap.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_innodb.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_isam.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_isammrg.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_myisam.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_myisammrg.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/ha_ndbcluster.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now for determining 
        if we should auto-set value of TIMESTAMP field during this operation.
        We are also use Field_timestamp::set_time() instead of 
        handler::update_timestamp().
      sql/handler.cc:
        handler::update_timestamp() is no longer needed since now we use
        Field_timestamp::set_time() instead.
        (we can't use handler::update_timestamp() anyway since field position
        only is not enough for TIMESTAMP fields which are able to store NULLs)
      sql/handler.h:
        handler::update_timestamp() is no longer needed since now we use
        Field_timestamp::set_time() instead.
      sql/item_timefunc.cc:
        Since now TIMESTAMP fields can hold NULL values we should take this into
        account.
      sql/sql_base.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now. 
        (Here we use Field_timestamp::get_auto_set_type() to setup its value
         before further statement execution).
      sql/sql_insert.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_load.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_parse.cc:
        Added support for TIMESTAMP fields holding NULL values.
        We should distinguish NULL default values and non-specified default
        values for such fields (because latter could mean DEFAULT NOW()
        ON UPDATE NOW() in some cases).
      sql/sql_show.cc:
        Added support for TIMESTAMP fields holding NULL values.
        Unlike all other fields these are NOT NULL by default
        so we have to specify NULL attribute explicitly for them.
      sql/sql_table.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_update.cc:
        Now we use TABLE::timestamp_field_type instead of 
        TABLE::timestamp_default_now/on_update_now.
      sql/sql_yacc.yy:
        Added support for TIMESTAMP fields holding NULL values.
        Unlike all other fields these are NOT NULL by default
        (so we have to set NOT_NULL_FLAG properly for them).
      sql/table.h:
        Added timestamp_auto_set_type enum which values are used for indicating
        during which operations we should automatically set TIMESTAPM field
        value to current timestamp.
        TABLE: Replaced timestamp_default_now/on_update_now members with
        timestamp_auto_set_type flag (Now when TIMESTAMP field are able to 
        store NULL values, single position of field in record is not enough 
        for updating this field anyway).
      c2a25521
  12. 26 Sep, 2004 1 commit
    • unknown's avatar
      WL#1424 Updated after review · 0e315ff7
      unknown authored
      * Changed the implementation of ndbcluster_find_files to be more efficient, using only one mutex lock
      * Moved ha_find_files to end of mysql_find_files so that it can be passed the list that we are interested to find. 
      
      
      mysql-test/t/ndb_autodiscover.test:
        Added a new test case, disabled for now, waiting for mysql-test-run to set a NDB_CONNECTSTRING
      sql/ha_ndbcluster.cc:
        Rewrite of ndbcluster_find_files to remove and delete files using only one mutex lock. 
        This version only discover files that fulfill wildcard.
      sql/ha_ndbcluster.h:
        Add list of files as parameter
      sql/handler.cc:
        Add list of files as parameter
      sql/handler.h:
        Add list of files as parameter
      sql/sql_show.cc:
        Moving the ha_find_files to end of function, so that the file lista can be passsed to it.
      BitKeeper/etc/logging_ok:
        Logging to logging@openlogging.org accepted
      0e315ff7
  13. 21 Sep, 2004 1 commit
    • unknown's avatar
      Changed WL#1424 to use the function ha_find_files. This is a simpler... · 5108acd8
      unknown authored
      Changed WL#1424 to use the function ha_find_files. This is a simpler implementation and all handler specific code is hidden in the appropriate handler.
      
      
      mysql-test/r/ndb_autodiscover.result:
        Update test result, number of rows is 1
      mysql-test/t/ndb_autodiscover.test:
        Dont run the test where table is dropped in NDb with ndb_drop_table
      sql/ha_ndbcluster.cc:
        Implement function ndbcluster_find_files which will discover new tables and delete old tables
      sql/ha_ndbcluster.h:
        Implement function ndbcluster_find_files 
        Remove function ndbcluster_list_tables and ndbcluster_can_discover
      sql/handler.cc:
        Add ha_find_files called from mysql_find_files
        Remove ha_can_discover and ha_list_tables
      sql/handler.h:
        Add ha_find_files called from mysql_find_files
        Remove ha_can_discover and ha_list_tables
      sql/sql_show.cc:
        Revert to original version of sql_show.cc
        Only changes to this version is that ha_find_files is called from mysql_find_files in order to give the handlers a possibility to find new files in engine
      5108acd8
  14. 17 Sep, 2004 1 commit
    • unknown's avatar
      Removed wrong warnings in test suite (This was because select_insert /... · d209efc0
      unknown authored
      Removed wrong warnings in test suite (This was because select_insert / select_create results was not freed.
      Added thd to openfrm() for initialization of TABLE->in_use. This fixed a bug in BDB handling where table->in_use was used early
      
      
      mysql-test/r/key.result:
        Added new tests that shows a bug in warnings hat
      mysql-test/t/key.test:
        Added new tests that shows a bug in warnings hat
      sql/handler.cc:
        Added thd to openfrm() for initialization of TABLE->in_use
      sql/item.cc:
        New function to avoid warnings when giving field a value
      sql/item.h:
        New function to avoid warnings when giving field a value
      sql/mysql_priv.h:
        Added thd to openfrm() for initialization of TABLE->in_use
      sql/opt_range.cc:
        Don't give warnings in optimizer when internally storing a field value in a field. (Should be ok as we ar checking the feild in the WHERE clause later)
      sql/sql_base.cc:
        Give memroot explicitely to open_unireg_entry() and open_table() (Makes code simpler)
        Ensure that table->in_use is set early
        New arguments for openfrm()
      sql/sql_insert.cc:
        More debugging & comments
      sql/sql_parse.cc:
        Delete results for select_insert and select_create. This fixed a bug that generated warnings in test suite
      sql/sql_select.h:
        Don't give warnings in optimizer when internally storing a field value in a field. (Should be ok as we ar checking the feild in the WHERE clause later)
      sql/sql_table.cc:
        New arguments to open_table() and openfrm()
      sql/table.cc:
        Added thd to openfrm() for initialization of TABLE->in_use
        This fixes some bugs in BDB where table->in_use was used
      d209efc0
  15. 15 Sep, 2004 1 commit
    • unknown's avatar
      Added options --auto-increment-increment and --auto-increment-offset. · 8267fd7a
      unknown authored
      This allows one to setup a master <-> master replication with non conflicting auto-increment series.
      Cleaned up binary log code to make it easyer to add new state variables.
      Added simpler 'upper level' logic for artificial events (events that should not cause cleanups on slave).
      Simplified binary log handling.
      Changed how auto_increment works together with to SET INSERT_ID=# to make it more predictable: Now the inserted rows in a multi-row statement are set independent of the existing rows in the table. (Before only InnoDB did this correctly)
      
      
      
      
      mysql-test/r/mix_innodb_myisam_binlog.result:
        Disable End_log_pos column from 'show binlog events' as this is now different from before
      mysql-test/t/mix_innodb_myisam_binlog.test:
        Disable End_log_pos column from 'show binlog events' as this is now different from before
      sql/ha_berkeley.cc:
        Changed prototype for get_auto_increment()
      sql/ha_berkeley.h:
        Changed prototype for get_auto_increment()
      sql/ha_heap.cc:
        Changed prototype for get_auto_increment()
      sql/ha_heap.h:
        Changed prototype for get_auto_increment()
      sql/ha_innodb.cc:
        Change how auto-increment is calculated.
        Now the auto-increment logic is done in 'update_auto_increment()' to ensure that all handlers has the same auto-increment usage
      sql/ha_innodb.h:
        Changed prototype for get_auto_increment()
      sql/ha_myisam.cc:
        Changed prototype for get_auto_increment()
      sql/ha_myisam.h:
        Changed prototype for get_auto_increment()
      sql/ha_ndbcluster.cc:
        Changed prototype for get_auto_increment()
      sql/ha_ndbcluster.h:
        Changed prototype for get_auto_increment()
      sql/handler.cc:
        Remove some usage of current_thd
        Changed how auto_increment works with SET INSERT_ID to make it more predictable
        (Now we should generate same auto-increment serie on a slave, even if the table has rows that was not on the master.
        Use auto_increment_increment and auto_increment_offset
      sql/handler.h:
        Changed prototype for get_auto_increment()
      sql/log.cc:
        Remove usage of 'set_log_pos()' to make code simpler. (Now log_pos is set in write_header())
        Use 'data_written' instead of 'get_event_len()' to calculate how much data was written in the log
      sql/log_event.cc:
        Simple optimizations.
        Remove cached_event_len (not used variable)
        Made comments fit into 79 chars
        Removed Log_event::set_log_pos(). Now we calculate log_pos in write_header().
        Renamed write_data() to write() as the original write() function was not needed anymore.
        Call writing of event header from event::write() functions. This made it easier to calculate the length of an event.
        Simplified 'write_header' and remove 'switches' from it.
        Changed all write() functions to return 'bool'. (The previous return values where not consistent)
        Store auto_increment_increment and auto_increment_offset in binary log
        Simplified how Query_log_event's where written and read. Now it's much easier to add now status variables for a query event to the binary log.
        Removed some old MySQL 4.x code to make it easier to grep for functions used in 5.0
      sql/log_event.h:
        Changed return type of write() functions to bool. (Before we returned -1 or 1 for errors)
        write_data() -> write()
        Added 'data_written' member to make it easier to get length of written event.
        Removed 'cached_event_len' and 'get_event_len()'
        Added usage of auto_increment_increment and auto_increment_offset
        Added 'artifical_event' to Start_log_event_v3, to hide logic that we in the binary log use log_pos=0 as a flag for an artifical event.
      sql/mysqld.cc:
        Added options --auto-increment-increment and --auto-increment-offset
      sql/set_var.cc:
        Added variables auto_increment_increment and auto_increment_offset
      sql/slave.cc:
        Changed errors -> warnings & information (in error log)
      sql/sql_class.cc:
        Added THD::cleanup_after_query(). This makes some code simpler and allows us to clean up 'next_insert_id' after query
      sql/sql_class.h:
        Added new auto_increment_xxx variables
        Moved some functions/variables in THD class
      sql/sql_help.cc:
        Removed compiler warning
      sql/sql_insert.cc:
        Call 'restore_auto_increment()' if row was not inserted.
        This makes it easier for handler to reuse the last generated auto-incrment value that was not used (for example in case of duplicate key)
      sql/sql_parse.cc:
        Use cleanup_after_query()
      sql/sql_prepare.cc:
        Use cleanup_after_query()
      sql/sql_table.cc:
        R
      8267fd7a
  16. 13 Sep, 2004 2 commits
    • unknown's avatar
      9c00cf35
    • unknown's avatar
      WL1424 Multiple MySQL Servers: SHOW TABLES etc. should detect new and delete old tables. · 692b1e69
      unknown authored
      include/my_base.h:
        Added new bit to table create options
        Removed old error code HA_ERR_OLD_METADAT and reused it for HA_ERR_NO_SUCH_TABLE.
      mysql-test/r/ndb_autodiscover.result:
        Updated test cases
      mysql-test/t/ndb_autodiscover.test:
        Updated test cases
      mysql-test/t/ndb_autodiscover2.test:
        Updated test cases
      sql/discover.cc:
        Moved function create_table_from_handler to handler.cc
      sql/ha_ndbcluster.cc:
        Improved discover functionality
        Added .ndb file
        Changed error code mappings for a table that does not exist in engine
        Check for ndb object in THD
        Updated ndbcluster_discover, ndbcluster_list_tables and ndbcluster_can_discover
      sql/ha_ndbcluster.h:
        Improved discover
      sql/handler.cc:
        Added new error message mapping.
        Moved function ha_create_table_from_engine to handler level
        Added new functions ha_can_discover, ha_list_tables and ha_table_exists
      sql/handler.h:
        Added new error message mapping.
        Moved function ha_create_table_from_engine to handler level
        Added new functions ha_can_discover, ha_list_tables and ha_table_exists
      sql/mysql_priv.h:
        Removed create_table_from_handler, moved to handler.h
      sql/sql_base.cc:
        Renamed function create_table_from_handler
      sql/sql_show.cc:
        Added new function mysql_discover_files and mysql_list_files. 
        Modified mysql_find_files to discover new and delete "old" files/tables.
      sql/sql_table.cc:
        Renamed create_table_from_handler
        Call ha_create_table_from_engine, in order to discover the the frm file before it can be dropped.
      sql/table.cc:
        Added mapping of the error code HA_ERR_NO_SUCH_TABLE
      692b1e69
  17. 09 Sep, 2004 1 commit
    • unknown's avatar
      After merge fixes of merge with 4.1 that included the new arena code. · 74e8c6af
      unknown authored
      Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset
      Prefix addresses with 0x for easier comparisons of debug logs
      Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
      This fix changed some 'index' queries to 'range' queries in the test suite
      Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
      This fix removed of a lot of 'Using where' notes in the test suite.
      Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      Give NOTE instead of WARNING for safe field-type conversions
      
      
      Makefile.am:
        Don't automaticly update files from bk
      client/mysqlbinlog.cc:
        Merge with 4.1 (+ apply bug fixes for --offset and --start-position)
      include/my_sys.h:
        Faster clear_alloc_root()
      mysql-test/r/bdb.result:
        Updated results after merge
      mysql-test/r/create.result:
        Updated results after merge
      mysql-test/r/func_group.result:
        Updated results after merge
      mysql-test/r/func_if.result:
        Updated results after merge
      mysql-test/r/heap_btree.result:
        Updated results after merge
      mysql-test/r/index_merge.result:
        Updated results after merge
      mysql-test/r/index_merge_ror.result:
        Updated results after merge
      mysql-test/r/innodb.result:
        Updated results after merge
      mysql-test/r/join_outer.result:
        Updated results after merge
      mysql-test/r/mysqlbinlog2.result:
        Updated results after merge
      mysql-test/r/negation_elimination.result:
        Updated results after merge
      mysql-test/r/null.result:
        Updated results after merge
        Added more tests
      mysql-test/r/null_key.result:
        Updated results after merge
        Added more tests
      mysql-test/r/order_by.result:
        Updated results after merge
      mysql-test/r/range.result:
        Updated results after merge
        Added more tests
      mysql-test/r/rpl_charset.result:
        Updated results after merge
      mysql-test/r/sp-error.result:
        Updated results after merge
      mysql-test/r/sp.result:
        Updated results after merge
        Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
      mysql-test/r/type_blob.result:
        Updated results after merge
        (Some warnings are now notes)
      mysql-test/r/user_var.result:
        Updated results after merge
        Added more tests
      mysql-test/r/variables.result:
        Updated results after merge
      mysql-test/r/view.result:
        Updated results after merge
      mysql-test/t/mysqlbinlog2.test:
        Updated tests to use new positions
      mysql-test/t/null.test:
        More tests
      mysql-test/t/null_key.test:
        More tests
      mysql-test/t/range.test:
        More tests
      mysql-test/t/rpl_charset.test:
        Avoid big diffs in the future if tests changes
      mysql-test/t/sp-error.test:
        Updated error numbers
      mysql-test/t/sp-security.test:
        Updated error numbers
      mysql-test/t/sp.test:
        Updated results after merge
        Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
      mysql-test/t/user_var.test:
        More tests
      mysql-test/t/view.test:
        Updated error numbers
      mysys/my_alloc.c:
        Write into debug log the address of the allocated area
      sql/ha_isam.cc:
        Prefix addresses with 0x for easier comparisons of debug logs
      sql/ha_myisam.cc:
        Prefix addresses with 0x for easier comparisons of debug logs
      sql/ha_ndbcluster.cc:
        Add missing enum to switch
      sql/handler.cc:
        remove compiler warning
      sql/item.cc:
        More debugging
        Simple cleanup
      sql/item.h:
        Move Item::cleanup() to item.cc
      sql/item_cmpfunc.cc:
        Fix arena code
      sql/item_subselect.cc:
        After merge fixes
      sql/item_subselect.h:
        After merge fixes
      sql/item_sum.cc:
        Updated comment
      sql/log_event.cc:
        Remove wrong test
      sql/mysql_priv.h:
        Indentation fixes
      sql/mysqld.cc:
        After merge fixes
        Added 0x to pointers in debug log
      sql/opt_range.cc:
        Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
        This fix changed some 'index' queries to 'range' queries in the test suite
      sql/set_var.cc:
        Indentation fixes
      sql/sp_head.cc:
        Set state to INITIALIZED to make SP work with new arena code
      sql/sql_base.cc:
        After merge fixes
      sql/sql_class.cc:
        More debugging
        Use clear_alloc_root() instead of init_alloc_root() as the former is faster
      sql/sql_class.h:
        New method 'only_prepare()'
      sql/sql_lex.cc:
        After merge fixes
      sql/sql_lex.h:
        After merge fixes
      sql/sql_parse.cc:
        Fix for timezone tables. (The old way to add timezone tables to global list in 'create_total_list' doesn't work anymore)
        Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
        This fix removed of a lot of 'Using where' notes in the test suite
      sql/sql_table.cc:
        Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      sql/sql_union.cc:
        After merge fix
      sql/sql_view.cc:
        After merge fix
      sql/table.cc:
        After merge fix
      sql/tztime.cc:
        Update timezone table handling to use new table lists structure
      sql/tztime.h:
        Update timezone table handling to use new table lists structure
      sql/unireg.cc:
        Use 0x before pointers
      74e8c6af
  18. 07 Sep, 2004 1 commit
  19. 04 Sep, 2004 1 commit
  20. 03 Sep, 2004 1 commit
    • unknown's avatar
      renamed ha_recovery_logging to ha_enable_transaction · 158e6745
      unknown authored
      added tests to alter table for "large" alter tables and truncates in ndbcluster
      added debug printout in restart() in ndbcluster
      added flag THD::transaction.on to enable/disable transaction
      
      
      mysql-test/r/ndb_alter_table.result:
        added tests to alter table for "large" alter tables and truncates
      mysql-test/t/ndb_alter_table.test:
        added tests to alter table for "large" alter tables and truncates
      ndb/src/ndbapi/NdbConnection.cpp:
        added debug printout in restart()
      sql/ha_ndbcluster.cc:
        added support for large alter table and truncate
      sql/handler.cc:
        renamed ha_recovery_logging to ha_enable_transaction
      sql/handler.h:
        renamed ha_recovery_logging to ha_enable_transaction
      sql/sql_class.cc:
        added flag THD::transaction.on to enable/disable transaction
      sql/sql_class.h:
        added flag THD::transaction.on to enable/disable transaction
      sql/sql_delete.cc:
        added disable transaction for mysql_truncate
      sql/sql_table.cc:
        renamed ha_recovery_logging to ha_enable_transaction
      158e6745
  21. 27 Aug, 2004 1 commit
    • unknown's avatar
      WL#1724 "Min/Max Optimization for Queries with Group By Clause" · 72b06d45
      unknown authored
      - after-review changes
      - merged with the source tree from 204-08-27
      
      
      mysql-test/r/distinct.result:
        Different plans due to group-by optimization.
      sql/ha_myisam.cc:
        More general interface to key_copy.
      sql/handler.cc:
        More general interface to key_copy.
      sql/item.cc:
        New method to collect all Item_field objects. Used by Item::walk.
      sql/item.h:
        Several methods to collect different kinds of items from expression trees.
        Used by Item::walk.
      sql/item_sum.cc:
        Added helper to collect Item_sum objects.
      sql/item_sum.h:
        Methods to collect and test Item_sum objects.
      sql/key.cc:
        More general interface to key_copy and key_restore.
      sql/mysql_priv.h:
        More general interface to key_copy and key_restore.
      sql/opt_range.cc:
        Complete implementaion of WL#1724 "Min/Max Optimization for Queries with Group By Clause".
      sql/opt_range.h:
        Complete implementaion of WL#1724 "Min/Max Optimization for Queries with Group By Clause".
      sql/opt_sum.cc:
        simple_pred is re-used in opt_range.cc
      sql/sql_acl.cc:
        More general interface to key_copy and key_restore.
      sql/sql_handler.cc:
        More general interface to key_copy.
      sql/sql_insert.cc:
        More general interface to key_copy.
      sql/sql_select.cc:
        Changes to hook the new QUICK_GROUP_MIN_MAX_SELECT due to two differences from all other
        quick selects:
        1)
        This quick select may be created (and used) even if there is no WHERE clause.
        Several places assumed that a QUICK_SELECT is constructed only if there is a WHERE clause,
        which had to be changed so that QUICK_GROUP_MIN_MAX can be used.
        2)
        Unlike all other quick selects, this QUICK_GROUP_MIN_MAX_SELECT operates for GROUP BY queries.
        Since for the caller the quick select already produces one result tuple per group, there is
        no need to call end_send_group, instead we have to call end_send as for a regular quick select.
      sql/sql_select.h:
        simple_pred is re-used in opt_range.cc
      72b06d45
  22. 22 Aug, 2004 1 commit
  23. 20 Aug, 2004 2 commits
    • unknown's avatar
      after merge fix · c984b763
      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)
      c984b763
    • unknown's avatar
      Making FLUSH TABLES WITH READ LOCK block COMMITs of existing transactions, · 79b2593f
      unknown authored
      in a deadlock-free manner. This splits locking the global read lock in two steps.
      This fixes a consequence of this bug, known as:
      BUG#4953 'mysqldump --master-data may report incorrect binlog position if using InnoDB'
      And a test.
      
      
      sql/handler.cc:
        making COMMIT wait if FLUSH TABLES WITH READ LOCK happened.
      sql/lock.cc:
        an additional stage so that FLUSH TABLES WITH READ LOCK blocks COMMIT:
        make_global_read_lock_block_commit():
        taking the global read lock is TWO steps (2nd step is optional; without
        it, COMMIT of existing transactions will be allowed):
        lock_global_read_lock() THEN make_global_read_lock_block_commit().
      sql/mysql_priv.h:
        new argument to wait_if_global_read_lock()
      sql/sql_class.h:
        THD::global_read_lock now an uint to reflect the 2 steps of global read lock (does not block COMMIT / does)
      sql/sql_db.cc:
        update for new prototype
      sql/sql_parse.cc:
        implementing the two steps of global read lock so that FLUSH TABLES WITH READ LOCK can block COMMIT without deadlocking with COMMITs.
      79b2593f
  24. 13 Aug, 2004 1 commit
    • unknown's avatar
      This is the addition of the CSV engine "aka tina". Its an example engine that... · 518f6daf
      unknown authored
      This is the addition of the CSV engine "aka tina". Its an example engine that works as a plain text file. 
      
      
      acconfig.h:
        Adding HAVE CSV rule
      acinclude.m4:
        Build option of csv engine
      configure.in:
        Update for building CSV
      sql/Makefile.am:
        Added files for CSV build
      sql/handler.cc:
        Needed options for CSV to be created.
      sql/handler.h:
        CSV type engine enum.
      sql/mysql_priv.h:
        Addition of the have_csv_db variable.
      sql/mysqld.cc:
        Code to show csv option.
      sql/set_var.cc:
        Adding have show variables for both csv and example.
      518f6daf
  25. 19 Jul, 2004 1 commit
    • unknown's avatar
      handler.cc: · ffabd0ec
      unknown authored
        Revise output of SHOW ENGINES.
      
      
      sql/handler.cc:
        Revise output of SHOW ENGINES.
      ffabd0ec
  26. 15 Jul, 2004 1 commit
    • unknown's avatar
      After merge fixes · 13d67c78
      unknown authored
      Note: The following tests fails
      - fulltext (Sergei has promised to fix)
      - rpl_charset (Guilhem should fix)
      - rpl_timezone (Dimitray has promised to fix)
      
      Sanja needs to check out the calling of close_thread_tables() in sp_head.cc
      
      
      myisam/mi_check.c:
        After merge fix
      myisam/sort.c:
        After merge fix
      mysql-test/mysql-test-run.sh:
        Export master socket to mysqltest
      mysql-test/r/func_group.result:
        Make result repeatable
      mysql-test/r/mysqlbinlog.result:
        After merge fix
      mysql-test/r/ps_1general.result:
        After merge fix
      mysql-test/r/ps_2myisam.result:
        After merge fix
      mysql-test/r/ps_3innodb.result:
        After merge fix
      mysql-test/r/ps_4heap.result:
        After merge fix
      mysql-test/r/ps_5merge.result:
        After merge fix
      mysql-test/r/ps_6bdb.result:
        After merge fix
      mysql-test/r/rpl_flush_log_loop.result:
        After merge fix
      mysql-test/r/rpl_replicate_do.result:
        After merge fix
      mysql-test/r/rpl_temporary.result:
        After merge fix
      mysql-test/r/rpl_timezone.result:
        After merge fix
        Note that this test fails now (Dimitry has promised to fix this)
      mysql-test/r/rpl_user_variables.result:
        After merge fix
      mysql-test/r/select.result:
        After merge fix
      mysql-test/r/sp-error.result:
        After merge fix
      mysql-test/r/sp-security.result:
        After merge fix
      mysql-test/r/sp.result:
        After merge fix
      mysql-test/r/user_var.result:
        After merge fix
      mysql-test/r/variables.result:
        After merge fix
      mysql-test/t/alter_table.test:
        After merge fix
      mysql-test/t/derived.test:
        After merge fix
      mysql-test/t/func_group.test:
        Make result repeatable
      mysql-test/t/grant_cache.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/multi_update.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000015.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000017.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000018.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl_charset.test:
        After merge fix
      mysql-test/t/rpl_heap.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl_rotate_logs.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/sp-error.test:
        after merge fix
      mysql-test/t/sp-security.test:
        after merge fix
      mysql-test/t/user_var.test:
        after merge fix
      scripts/mysql_fix_privilege_tables.sh:
        This can now be exectued from the source distribution
      sql/handler.cc:
        Cleanup
      sql/handler.h:
        More debugging
      sql/item.h:
        Indentation fixes
      sql/item_cmpfunc.cc:
        After merge fixes
      sql/opt_range.cc:
        After merge fixes
      sql/opt_range.h:
        After merge fixes
      sql/sp.cc:
        After merge fixes
      sql/sp_head.cc:
        Remove closing of thread tables in a SP function as this caused a core dump.
        (Has to be fixed better)
      sql/sql_base.cc:
        More debugging
      sql/sql_handler.cc:
        After merge fixes
        (We have to call ha_index_or_rnd_end() before calling close_thread_table())
      sql/sql_parse.cc:
        More debugging
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        After merge fixes
      13d67c78
  27. 02 Jul, 2004 1 commit
  28. 25 Jun, 2004 1 commit
    • unknown's avatar
      Added missing root user to mysql.user on windows. (Bug #4242) · b77fce84
      unknown authored
      Set default max_allowed_packet to be able to read help tables even if an my.cnf file with this option is present. (Bug #3938)
      Don't use default arguments for ha_rnd_init()
      Simple code cleanups since last pull
      
      
      
      scripts/fill_func_tables.sh:
        Change mode to -rw-rw-r--
      scripts/make_win_src_distribution.sh:
        Safer remove of SCCS directories
      scripts/mysql_create_system_tables.sh:
        Added missing root user to mysql.user on windows. (Bug #4242)
      scripts/mysql_install_db.sh:
        Set default max_allowed_packet to be able to read help tables even if an my.cnf file with this option is present. (Bug #3938)
      sql/filesort.cc:
        Don't use default arguments for ha_rnd_init()
      sql/ha_berkeley.cc:
        Better to use #ifdef than // to disable code
        Removed not needed setting of active_index (It's set in index_end)
      sql/ha_berkeley.h:
        Don't use default arguments for ha_rnd_init()
      sql/ha_heap.h:
        Don't use default arguments for ha_rnd_init()
      sql/ha_innodb.h:
        Don't use default arguments for ha_rnd_init()
      sql/ha_isam.h:
        Don't use default arguments for ha_rnd_init()
      sql/ha_isammrg.h:
        Don't use default arguments for ha_rnd_init()
      sql/ha_myisam.cc:
        Fixed wrong previous patch (New code used 'and' between two conditions when it should be 'or' as in original code)
      sql/ha_myisam.h:
        Don't use default arguments for ha_rnd_init()
      sql/ha_myisammrg.h:
        Don't use default arguments for ha_rnd_init()
      sql/ha_ndbcluster.h:
        Don't use default arguments for ha_rnd_init()
      sql/handler.cc:
        Code cleanup
      sql/handler.h:
        Keep bool variables together (better alignment)
      sql/records.cc:
        Don't use default arguments for ha_rnd_init()
      sql/sql_select.cc:
        Don't use default arguments for ha_rnd_init()
      b77fce84
  29. 24 Jun, 2004 4 commits
    • unknown's avatar
      Cosmetic fixes · dd656648
      unknown authored
      dd656648
    • unknown's avatar
      Enabling the --innodb-safe-binlog option in code. If you wish to disable it, · 1760dc7d
      unknown authored
      you just need to change this line of mysqld.cc:
      #if MYSQL_VERSION_ID >= 40103
      to, say,
      #if MYSQL_VERSION_ID > 40103
      I am noticing a failure of bdb.test; I believe this is not related to the
      code I added yesterday and today, but I am checking. In any case I push this
      changeset as it cannot by itself bring more mess that I *may* (or not)
      already have brought with previous pushes.
      
      
      sql/handler.cc:
        if innodb_active_trans is true then innobase_tid too.
      sql/mysqld.cc:
        only a warning if --innodb-safe-binlog without InnoDB (it's true this situation will not hurt).
        Enabling the --innodb-safe-binlog option.
      1760dc7d
    • unknown's avatar
      106210cc
    • unknown's avatar
      Final part of WL#1717 "innodb/binlog consistency". This is to resolve · d8e1e179
      unknown authored
      a limitation of yesterday's implementation:
      if there was an unfinished transaction (COMMIT not typed), and some MyISAM tables were
      then updated, and then mysqld crashes, then at restart the server would use the too old
      binlog offset known by InnoDB to cut the binlog, thus cutting the successful MyISAM
      updates. We fix this by reporting the binlog offset into InnoDB even if InnoDB was not
      affected at all by the update.
      But the feature is still disabled until we decide if it can go into 4.1.3.
      
      
      sql/handler.cc:
        How we report the binlog offset into InnoDB:
        - if the update affected InnoDB, it will happen naturally
        - otherwise (for example MyISAM update not in an InnoDB transaction), we explicitely report it.
      sql/handler.h:
        removing warning (noticed this)
      sql/log.cc:
        clearer messages when truncating binlog.
      sql/mysql_priv.h:
        need to see opt_innodb_safe_binlog in handler.cc
      sql/mysqld.cc:
        No innodb-safe-binlog if no InnoDB.
        Updating message as now we work with MyISAM.
      d8e1e179
  30. 23 Jun, 2004 2 commits
    • unknown's avatar
      Fixed warning about unitialized mutex when mysqld couldn't start. · 68798f04
      unknown authored
      sql/handler.cc:
        Cleaned up comments
      68798f04
    • unknown's avatar
      handler interface cleanups: · ee8ee8ca
      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
      ee8ee8ca