An error occurred fetching the project authors.
  1. 26 Jan, 2005 1 commit
    • unknown's avatar
      Test Bug: Memory leaks in the archive handler. · b6e00331
      unknown authored
      Moved initialization code into a new init function.
      Added a new cleanup function.
      Added a call to close the meta file.
      
      
      
      mysql-test/t/archive.test:
        Test Bug: Memory leaks in the archive handler.
        Fixed a typo.
      sql/examples/ha_archive.h:
        Test Bug: Memory leaks in the archive handler.
        Added declarations for the new init/cleanup functions.
      sql/handler.cc:
        Test Bug: Memory leaks in the archive handler.
        Added calls of the new init/cleanup functions.
      b6e00331
  2. 07 Jan, 2005 1 commit
    • unknown's avatar
      Introduce ROW_TYPE=REDUNDANT and ROW_TYPE=COMPACT for InnoDB table formats · 6e74893a
      unknown authored
      sql/handler.cc:
        ha_row_type[]: Add REDUNDANT and COMPACT
      sql/handler.h:
        enum row_type: Add ROW_TYPE_REDUNDANT and ROW_TYPE_COMPACT
      sql/ha_innodb.cc:
        ha_innobase::create(): Detect ROW_TYPE=REDUNDANT
      sql/lex.h:
        Add "COMPACT" (COMPACT_SYM) and "REDUNDANT" (REDUNDANT_SYM)
      sql/sql_yacc.yy:
        row_types, keyword: Add COMPACT and REDUNDANT
      6e74893a
  3. 06 Jan, 2005 1 commit
    • unknown's avatar
      First stage of table definition cache · acf76e3b
      unknown authored
      Split TABLE to TABLE and TABLE_SHARE (TABLE_SHARE is still allocated as part of table, will be fixed soon)
      Created Field::make_field() and made Field_num::make_field() to call this
      Added 'TABLE_SHARE->db' that points to database name; Changed all usage of table_cache_key as database name to use this instead
      Changed field->table_name to point to pointer to alias. This allows us to change alias for a table by just updating one pointer.
      Renamed TABLE_SHARE->real_name to table_name
      Renamed TABLE->table_name to alias
      Renamed TABLE_LIST->real_name to table_name
      
      
      include/myisam.h:
        Added const before names
      mysql-test/r/group_min_max.result:
        Make results repeatable
      mysql-test/t/group_min_max.test:
        Make results repeatable
      sql/field.cc:
        Created Field::make_field() and made Field_num::make_field() to call this
        Use TABLE_SHARE
        Use sql_strmake() instead of sql_memdup() to simplify code
      sql/field.h:
        Changed table_name to be pointer to table_name. This allows us to change alias for all fields by just changing one pointer.
        Use TABLE_SHARE
      sql/field_conv.cc:
        Use TABLE_SHARE
      sql/filesort.cc:
        Use TABLE_SHARE
      sql/ha_berkeley.cc:
        Use TABLE_SHARE
      sql/ha_heap.cc:
        Use TABLE_SHARE
      sql/ha_innodb.cc:
        Use TABLE_SHARE
      sql/ha_myisam.cc:
        Use TABLE_SHARE
      sql/ha_myisammrg.cc:
        Use TABLE_SHARE
        Change some pointer handling to use const char*
      sql/ha_ndbcluster.cc:
        Use TABLE_SHARE
      sql/handler.cc:
        Use TABLE_SHARE
      sql/item.cc:
        Use TABLE_SHARE
      sql/item_func.cc:
        Use TABLE_SHARE
      sql/item_subselect.cc:
        Use TABLE_SHARE
      sql/item_sum.cc:
        Use TABLE_SHARE
      sql/key.cc:
        Use TABLE_SHARE
      sql/lock.cc:
        Use TABLE_SHARE
      sql/log_event.cc:
        real_name -> table_name
      sql/mysql_priv.h:
        Use TABLE_SHARE
      sql/opt_range.cc:
        Use TABLE_SHARE
      sql/opt_sum.cc:
        Use TABLE_SHARE
      sql/records.cc:
        Use TABLE_SHARE
      sql/repl_failsafe.cc:
        real_name -> table_name
      sql/slave.cc:
        Use TABLE_SHARE
      sql/sp.cc:
        Use TABLE_SHARE
      sql/sp_head.cc:
        real_name -> table_name
      sql/sql_acl.cc:
        Use TABLE_SHARE
        removed unnecessary assert
        fixed indentation
        changed some char * -> const char*
      sql/sql_acl.h:
        changed some char* -> const char*
      sql/sql_base.cc:
        Use TABLE_SHARE
      sql/sql_cache.cc:
        Use TABLE_SHARE
      sql/sql_class.cc:
        Use TABLE_SHARE
      sql/sql_db.cc:
        real_name -> table_name
      sql/sql_delete.cc:
        Use TABLE_SHARE
      sql/sql_derived.cc:
        Use TABLE_SHARE
      sql/sql_handler.cc:
        Use TABLE_SHARE
      sql/sql_help.cc:
        Use TABLE_SHARE
      sql/sql_insert.cc:
        Use TABLE_SHARE
      sql/sql_load.cc:
        Use TABLE_SHARE
      sql/sql_parse.cc:
        Use TABLE_SHARE
      sql/sql_rename.cc:
        real_name -> table_name
      sql/sql_select.cc:
        Use TABLE_SHARE
        table->blob_fields now points to field offsets, not fields
        tmp_table->table_name now points to alias name
      sql/sql_show.cc:
        Use TABLE_SHARE
      sql/sql_table.cc:
        Use TABLE_SHARE
      sql/sql_test.cc:
        Use TABLE_SHARE
      sql/sql_trigger.cc:
        Use TABLE_SHARE
      sql/sql_udf.cc:
        Use TABLE_SHARE
      sql/sql_union.cc:
        real_name -> table_name
      sql/sql_update.cc:
        Use TABLE_SHARE
      sql/sql_view.cc:
        Use TABLE_SHARE
      sql/table.cc:
        Split TABLE to TABLE and TABLE_SHARE
        Changed blob_field to be field offsets instead of pointer to fields
        Only initialize table->s->default_values with default record (not all table->record[#])
        Some indentation changes
      sql/table.h:
        Split TABLE to TABLE and TABLE_SHARE
      sql/tztime.cc:
        real_name -> table_name
      sql/unireg.cc:
        Use TABLE_SHARE
      sql/unireg.h:
        Use TABLE_SHARE
      acf76e3b
  4. 23 Dec, 2004 2 commits
    • unknown's avatar
      WL#2126 - Multi_read_range. · 8d11c01c
      unknown authored
      Added the required structures and functions for
      handing over multiple key ranges to the table handler.
      
      
      include/my_base.h:
        WL#2126 - Multi_read_range.
        Moved key range flags from sql/opt_range.h to here.
        Added the multi-range structure.
      sql/handler.cc:
        WL#2126 - Multi_read_range.
        Added the new table handler methods.
      sql/handler.h:
        WL#2126 - Multi_read_range.
        Added a new table flag.
        Added a declaration for the handler buffer.
        Added new elements to class handler.
        Added new function declarations.
      sql/mysqld.cc:
        WL#2126 - Multi_read_range.
        Added an option to set new system variable 'multi_range_count'.
      sql/opt_range.cc:
        WL#2126 - Multi_read_range.
        Added initialization for the new class members.
        Added initialization for the extended get_next().
        Added de-initialization for the allocated buffers.
        Added a buffer allocation method.
        Added an inner loop to collect multiple ranges.
        Adapted range collection loops to the new initialization.
      sql/opt_range.h:
        WL#2126 - Multi_read_range.
        Moved key range flags from here to include/my_base.h.
        Added new elements to class QUICK_RANGE_SELECT.
        Added a copy constructor.
      sql/records.cc:
        WL#2126 - Multi_read_range.
        Added a call of the allocation method.
      sql/set_var.cc:
        WL#2126 - Multi_read_range.
        Added the new system variable 'multi_range_count'.
      sql/sql_class.h:
        WL#2126 - Multi_read_range.
        Added the new system variable 'multi_range_count'.
      8d11c01c
    • unknown's avatar
      WL#1895 - Print message to error log in case of detected MyISAM corruption · bec3feaa
      unknown authored
      Changed my_error() to print error messages, which come from
      arbitrary registered ranges of error messages. Messages can
      be unregistered (and should be at end of the program).
      Added registration of handler error messages.
      Added a new mi_print_error() macro and a new 
      mi_report_error() function, which supply error
      messages with a table name.
      Added calls to mi_print_error() or mi_report_error()
      at all places in MyISAM, where table corruption is detected.
      
      
      extra/comp_err.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added prints for ER_ERROR_FIRST and ER_ERROR_LAST.
        Removed print for ER_ERROR_MESSAGES.
      include/errmsg.h:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added declaration for a new function.
        Added first and last error number defines.
      include/my_base.h:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added first and last error number defines.
      include/my_sys.h:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Removed obsolete defines.
        Removed a global variable, which held pointers to the error message arrays.
        Added declarations for new functions.
      include/mysys_err.h:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Removed an obsolete define.
        Changed two defines to use the new defines.
        Added first and last error number defines.
      libmysql/errmsg.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Replaced global array initialization by proper registration
        and unregistration of client error messages.
      libmysql/libmysql.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added a call for unregistration of client error messages.
      myisam/mi_delete.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
        Added a debugging call to pretend MyISAM corruption in case a special
        debug string is set.
        Added a debugging call to test undefined error numbers in case a special
        debug string is set.
      myisam/mi_extra.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_info.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added the error logging function.
      myisam/mi_key.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_keycache.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_locking.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_open.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
        Added a debugging call to pretend MyISAM corruption in case a special
        debug string is set.
      myisam/mi_page.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_range.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_rkey.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_search.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
      myisam/mi_update.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
        Added a debugging call to pretend MyISAM corruption in case a special
        debug string is set.
      myisam/mi_write.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added calls to the new error logging function at all places, where
        corruption is detected.
        Added a debugging call to pretend MyISAM corruption in case a special
        debug string is set.
      myisam/myisamdef.h:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added the declaration of the new error logging function
        and a new macro.
      mysql-test/r/merge.result:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed test results. These come from the changed error reporting
        in openfrm().
      mysql-test/r/repair.result:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed test results. These come from the changed error reporting
        in openfrm().
      mysql-test/t/merge.test:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changederror numbers. These come from the changed error reporting
        in openfrm().
      mysys/errors.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Dropped the assignment of the global errors to the
        dropped global pointer array.
      mysys/my_error.c:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed my_error() from using a static array of pointers to
        error message arrays to using a linked list of structures
        with pointers to array message arrays.
        Added functions for registering and unregistering error 
        message arrays to the chain.
      sql/derror.cc:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed reading of mysqld error messages to using the new
        registering and unregistering functions.
      sql/handler.cc:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Added initialization and deinitialization of handler error messages.
        Included more handler error messages in the mapping to
        mysqld error messages.
      sql/mysqld.cc:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed deinitialization of error messages to proper
        unregistration.
      sql/table.cc:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed error reporting in openfrm() so that error messages from
        handler::ha_open() are reported by handler::print_error(). This
        changed messages from "Can't open 't1.MYI' (errno: 130)" to
        "Incorrect file format 't1'" for example.
      sql/unireg.h:
        WL#1895 - Print message to error log in case of detected MyISAM corruption
        Changed two defines to use the new defines.
      bec3feaa
  5. 11 Dec, 2004 1 commit
    • unknown's avatar
      First commit to mysql-5.0 tree to include MySQL Federated Storage Handler.... · 7d2e580c
      unknown authored
      First commit to mysql-5.0 tree to include MySQL Federated Storage Handler. This includes both the source and header files, test (results, test, require), and modifications to server and handler base files, and autoconf modifications to properly build federated handler.
      
      
      configure.in:
        inclusion of federated handler autoheader macro
      mysql-test/mysql-test-run.sh:
        allow usage of replication tests for federated handler
      sql/Makefile.am:
        inclusion of federated header and source file
      sql/field.h:
        overloaded method val_str() to work with fields in 'old_data' in 'update_row()'
      sql/handler.cc:
        added code to include federated handler
      sql/handler.h:
        add db type for federated
      sql/mysql_priv.h:
        added code for federated handler
      sql/mysqld.cc:
        added code for federated handler
      sql/set_var.cc:
        added code for federated handler
      7d2e580c
  6. 10 Dec, 2004 1 commit
    • unknown's avatar
      Fix for bug #6516 (Server crash loading spatial data) · 95056a0b
      unknown authored
      (after discussion with SerG)
      
      
      include/my_base.h:
        Handler error code added
      myisam/mi_write.c:
        New error code handled
      myisam/rt_index.c:
        check for zero length added
      myisam/sp_key.c:
        zero length check added
      mysql-test/r/gis-rtree.result:
        appropriate test result
      mysql-test/t/gis-rtree.test:
        test case
      sql/handler.cc:
        new error code handling added
      95056a0b
  7. 03 Dec, 2004 1 commit
    • unknown's avatar
      Bug#6391 (binlog-do-db rules ignored) · 220acb32
      unknown authored
        CREATE DATABASE statement used the current database instead of the
        database created when checking conditions for replication.
        CREATE/DROP/ALTER DATABASE statements are now replicated based on
        the manipulated database.
      
      
      mysql-test/t/rpl_until.test:
        Longer sleep to allow slave to stop.
      mysql-test/t/rpl_charset.test:
        Position change in binary file.
      mysql-test/r/drop_temp_table.result:
        Position change in binlog.
      mysql-test/r/rpl_loaddata_rule_m.result:
        Position change in binlog.
      mysql-test/r/rpl_charset.result:
        Position change in binlog.
      sql/log_event.h:
        Added new flag and parameter to suppress generation of
        USE statements.
      sql/log_event.cc:
        Added parameter and code to suppress generation of
        USE statements.
      sql/sql_db.cc:
        Suppress generation of USE before CREATE/ALTER/DROP DATABASE
        statements.
      sql/log.cc:
        Query_log_event have new extra parameter.
      sql/sql_table.cc:
        Query_log_event have new extra parameter.
      sql/sql_base.cc:
        Query_log_event have new extra parameter.
      sql/sql_update.cc:
        Query_log_event have new extra parameter.
      sql/sql_insert.cc:
        Query_log_event have new extra parameter.
      sql/sql_rename.cc:
        Query_log_event have new extra parameter.
      sql/sql_delete.cc:
        Query_log_event have new extra parameter.
      sql/sql_acl.cc:
        Query_log_event have new extra parameter.
      sql/handler.cc:
        Query_log_event have new extra parameter.
      sql/item_func.cc:
        Query_log_event have new extra parameter.
      sql/sql_parse.cc:
        Query_log_event have new extra parameter.
      220acb32
  8. 22 Nov, 2004 1 commit
    • unknown's avatar
      Bug #6748 heap_rfirst() doesn't work (and never did!) · 01604355
      unknown authored
      range for BETWEEN typo fixed
      
      
      extra/perror.c:
        meaningless error message fixed
      heap/hp_rfirst.c:
        Bug #6748 heap_rfirst() doesn't work (and never did!)
      mysql-test/r/heap.result:
        Bug #6748 heap_rfirst() doesn't work (and never did!)
      mysql-test/r/range.result:
        range for BETWEEN typo fixed
      mysql-test/t/heap.test:
        Bug #6748 heap_rfirst() doesn't work (and never did!)
      sql/handler.cc:
        Bug #6748 heap_rfirst() doesn't work (and never did!)
      sql/sql_select.cc:
        range for BETWEEN typo fixed
      01604355
  9. 18 Nov, 2004 1 commit
    • unknown's avatar
      WL 2059 Engine-specific status variables framework and WL 1922 · 4dac69eb
      unknown authored
      InnoDB status variables
      
      
      innobase/buf/buf0buf.c:
        Added function to get the number of latched pages
      innobase/buf/buf0flu.c:
        Added support for dblwr_pages_written, dblwr_writes and
        buffer_pool_pages_flushed status variables
      innobase/buf/buf0lru.c:
        Added support for _buffer_pool_wait_free status variable
      innobase/buf/buf0rea.c:
        Added support for buffer_pool_read_ahead_rnd, buffer_pool_read_ahead_seq
        and srv_buf_pool_reads status variables
      innobase/fil/fil0fil.c:
        Added support for os_log_fsyncs, data_read, and data_written
      innobase/include/buf0buf.h:
        Functions and variables needed for new status variables declared
      innobase/include/buf0flu.ic:
        Added support for buffer_pool_write_requests status variable
      innobase/include/fil0fil.h:
        Variable declared
      innobase/include/os0file.h:
        Declared several variabled
      innobase/include/srv0srv.h:
        Declared all new variables needed for InnoDB status variables
      innobase/log/log0log.c:
        Added support for various log-related status variables
      innobase/os/os0file.c:
        Added support for pending_writes, pending_reads status variables
      innobase/srv/srv0srv.c:
        Added internal counters and function to accumulate information for
        InnoDB status variables
      mysql-test/r/innodb.result:
        result fot the test
      mysql-test/t/innodb.test:
        We have tests only for few variables, as we cannot predict value for
        most of the added variables. It depends on the system load, OS, HDD
        e.t.c Thus, we cannot test them with mysql-test.
      sql/ha_innodb.cc:
        Added an array for InnoDB status variables. This is part of the
        WL2059 Engine-specific status variables framework
      sql/ha_innodb.h:
        Declared status variables array and the function to refresh statistics
      sql/handler.cc:
        Added function to get statistics
      sql/handler.h:
        Declared function to update handlers statistics
      sql/mysql_priv.h:
        declared opt_innodb to see it from handlers
      sql/mysqld.cc:
        Don't include Innodb_*  status variables into "show status" if we
        are compiling without InnoDB
      sql/sql_show.cc:
        mysqld_show modified and split into two parts to support enclosed
        arrays in the show_var_st structure. This is a part of
        WL2059 Engine-specific status variables framework.
      sql/structs.h:
        Added new value to mark enclosed array in the status variables array
      4dac69eb
  10. 13 Nov, 2004 2 commits
    • unknown's avatar
      make information schema libmysqld compatible · 9ec34a40
      unknown authored
      fixed typo
      
      
      sql/handler.cc:
        fixed typo
      sql/sql_acl.cc:
        make information schema libmysqld compatible
      9ec34a40
    • unknown's avatar
      now my_printf_error is not better then my_error, but my_error call is shorter · 8d71bcec
      unknown authored
      used only one implementation of format parser of (printf)
      fixed multistatement
      
      
      include/mysqld_error.h:
        newerror messages
      mysql-test/t/key.test:
        unknown error replaced with real error
      mysys/my_error.c:
        my_error & my_printf_error use my_vsprintf
      sql/field_conv.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/ha_innodb.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/handler.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_cmpfunc.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_func.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/item_strfunc.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/lock.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/log.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/parse_file.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/procedure.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/protocol.cc:
        no need reset thd->lex->found_colon to break multiline sequance now, send_error called too late
      sql/repl_failsafe.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/set_var.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/share/czech/errmsg.txt:
        new errors converted from unknown error
      sql/share/danish/errmsg.txt:
        new errors converted from unknown error
      sql/share/dutch/errmsg.txt:
        new errors converted from unknown error
      sql/share/english/errmsg.txt:
        new errors converted from unknown error
      sql/share/estonian/errmsg.txt:
        new errors converted from unknown error
      sql/share/french/errmsg.txt:
        new errors converted from unknown error
      sql/share/german/errmsg.txt:
        new errors converted from unknown error
      sql/share/greek/errmsg.txt:
        new errors converted from unknown error
      sql/share/hungarian/errmsg.txt:
        new errors converted from unknown error
      sql/share/italian/errmsg.txt:
        new errors converted from unknown error
      sql/share/japanese/errmsg.txt:
        new errors converted from unknown error
      sql/share/korean/errmsg.txt:
        new errors converted from unknown error
      sql/share/norwegian-ny/errmsg.txt:
        new errors converted from unknown error
      sql/share/norwegian/errmsg.txt:
        new errors converted from unknown error
      sql/share/polish/errmsg.txt:
        new errors converted from unknown error
      sql/share/portuguese/errmsg.txt:
        new errors converted from unknown error
      sql/share/romanian/errmsg.txt:
        new errors converted from unknown error
      sql/share/russian/errmsg.txt:
        new errors converted from unknown error
      sql/share/serbian/errmsg.txt:
        new errors converted from unknown error
      sql/share/slovak/errmsg.txt:
        new errors converted from unknown error
      sql/share/spanish/errmsg.txt:
        new errors converted from unknown error
      sql/share/swedish/errmsg.txt:
        new errors converted from unknown error
      sql/share/ukrainian/errmsg.txt:
        new errors converted from unknown error
      sql/slave.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sp.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sp_head.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_acl.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_analyse.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_base.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_class.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_db.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_delete.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_handler.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_insert.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_load.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_map.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_parse.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
        multi-row command fixed
      sql/sql_prepare.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
        remover send_error ingected from 4.1
      sql/sql_rename.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_repl.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_select.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_show.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_table.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_trigger.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_udf.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_update.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_view.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/sql_yacc.yy:
        now my_printf_error is not better then my_error, but my_error call is shorter
      sql/table.cc:
        now my_printf_error is not better then my_error, but my_error call is shorter
      strings/my_vsnprintf.c:
        * format support added to my_vsprint
      8d71bcec
  11. 12 Nov, 2004 3 commits
    • unknown's avatar
      post-review fixes · 9e921615
      unknown authored
      mysql-test/r/rpl_rotate_logs.result:
        removed host dependence in error messages
      mysql-test/t/rpl_rotate_logs.test:
        removed host dependence in error messages
      mysys/my_error.c:
        comment about using my_error family functions
      sql/filesort.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/ha_innodb.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_cmpfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_func.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_strfunc.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_subselect.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/item_sum.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/lock.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/log.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/mysql_priv.h:
        error check moved to fill_record
      sql/mysqld.cc:
        fixed error messages
      sql/parse_file.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/protocol_cursor.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/repl_failsafe.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/set_var.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/slave.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_head.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sp_rcontext.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_acl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_analyse.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_base.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_class.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_class.h:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_db.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_delete.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_handler.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_help.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_insert.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
        error check moved to fill_record
      sql/sql_lex.cc:
        layout fixed
      sql/sql_load.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_map.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_parse.cc:
        error check moved to fill_record
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_prepare.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_rename.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_repl.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_select.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_show.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_trigger.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_udf.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_union.cc:
        error check moved to fill_record
      sql/sql_update.cc:
        error check moved to fill_record
      sql/sql_view.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/sql_yacc.yy:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/table.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      sql/unireg.cc:
        changing my_error on my_message and my_printf_error where if they are prefered
      9e921615
    • unknown's avatar
      Build fixes to make it compile. · c3531618
      unknown authored
      sql/handler.cc:
        Build fixes.
      sql/log_event.cc:
        Build fixes.
      c3531618
    • unknown's avatar
      Mainly resolving Guilhem's 4.1 patch to 5.0 · 593c7ce9
      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
      593c7ce9
  12. 10 Nov, 2004 4 commits
    • unknown's avatar
      no new message in 4.1 (causes merge issues with 5.0). Using ER_UNKNOW_ERROR... · b6eb77f7
      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)
      b6eb77f7
    • unknown's avatar
      Added possibility to detect if libmysqld is restarted · 5205078e
      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()
      5205078e
    • unknown's avatar
      WL#1596 "make mysqldump --master-data --single-transaction able to do online... · 313ce62f
      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.
      313ce62f
    • unknown's avatar
      Bug#6031 - To drop database you have to execute DROP DATABASE command twice. · 97af0a0e
      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
      97af0a0e
  13. 08 Nov, 2004 1 commit
    • unknown's avatar
      As rollback can be 30 times slower than insert in InnoDB, and user may · c4d04e9e
      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.
      c4d04e9e
  14. 03 Nov, 2004 2 commits
    • unknown's avatar
      After merge fixes · 3693aa47
      unknown authored
      libmysqld/lib_sql.cc:
        After merge fix
      sql/handler.cc:
        Cleanup
      3693aa47
    • unknown's avatar
      Fixes after merge with 4.1 · f5a47f15
      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
      f5a47f15
  15. 25 Oct, 2004 1 commit
  16. 22 Oct, 2004 1 commit
    • unknown's avatar
      handler.cc: · b24dd933
      unknown authored
        Typos in comments.
      
      
      sql/handler.cc:
        Typos in comments.
      b24dd933
  17. 21 Oct, 2004 1 commit
    • unknown's avatar
      smarter ALTER TABLE - don't copy the table if only comment or default values are changed · a01f45e5
      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
      a01f45e5
  18. 20 Oct, 2004 1 commit
  19. 14 Oct, 2004 1 commit
    • unknown's avatar
      true,false -> TRUE, FALSE · 33073189
      unknown authored
      Simple fixes/optimization of things discovered during review of new pushed code
      
      
      include/my_sys.h:
        Ensure that clear_alloc_root() interacts correctly with alloc_root_inited()
      mysys/hash.c:
        More comments
        Simple optimization (merge identical code)
      mysys/my_bitmap.c:
        Change inline -> static inline
      sql/examples/ha_archive.cc:
        Fixed compiler warning
      sql/ha_ndbcluster.cc:
        true,false -> TRUE, FALSE
        Change if (false) -> #ifdef NOT_USED
      sql/ha_ndbcluster.h:
        true,false -> TRUE, FALSE
      sql/handler.cc:
        More comments
        Remove not needed initializations.
        #ifdef not used code
      sql/item_cmpfunc.h:
        true,false -> TRUE, FALSE
      sql/item_strfunc.cc:
        Move local variables to function beginning
        Remove wrong comments
      sql/log_event.h:
        true,false -> TRUE, FALSE
      sql/sql_base.cc:
        true,false -> TRUE, FALSE
        More comments
      sql/sql_help.cc:
        true,false -> TRUE, FALSE
      sql/sql_lex.cc:
        Simple optimization of new code
      sql/sql_parse.cc:
        true,false -> TRUE, FALSE
      sql/sql_prepare.cc:
        true,false -> TRUE, FALSE
      sql/sql_table.cc:
        true,false -> TRUE, FALSE
      sql/sql_yacc.yy:
        true,false -> TRUE, FALSE
      33073189
  20. 05 Oct, 2004 1 commit
    • unknown's avatar
      Reverted patch for new usage of open_count as it caused more problems than it solved · 0d76cb7e
      unknown authored
      Cleaned up patch for checking locks for multi-table updates
      
      
      myisam/mi_close.c:
        Reverted patch for new usage of open_counts
      myisam/mi_locking.c:
        Reverted patch for new usage of open_counts
      sql/ha_myisam.cc:
        Reverted patch for new usage of open_counts
      sql/handler.cc:
        Removed compiler warning
      sql/sql_acl.cc:
        Removed compiler warning
      sql/sql_table.cc:
        No need to unlock after failed call to external_lock()
      sql/sql_update.cc:
        Cleaned up (and made it more secure) patch for checking locks for multi-table updates
      0d76cb7e
  21. 01 Oct, 2004 1 commit
    • unknown's avatar
      Support for TIMESTAMP columns holding NULL values. Unlike all other · 7b511544
      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).
      7b511544
  22. 26 Sep, 2004 1 commit
    • unknown's avatar
      WL#1424 Updated after review · 5077ba47
      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
      5077ba47
  23. 21 Sep, 2004 1 commit
    • unknown's avatar
      Changed WL#1424 to use the function ha_find_files. This is a simpler... · dd07a90d
      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
      dd07a90d
  24. 17 Sep, 2004 1 commit
    • unknown's avatar
      Removed wrong warnings in test suite (This was because select_insert /... · e74b00bb
      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
      e74b00bb
  25. 15 Sep, 2004 1 commit
    • unknown's avatar
      Added options --auto-increment-increment and --auto-increment-offset. · ffc0d185
      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
      ffc0d185
  26. 13 Sep, 2004 2 commits
    • unknown's avatar
      93527151
    • unknown's avatar
      WL1424 Multiple MySQL Servers: SHOW TABLES etc. should detect new and delete old tables. · 5a464356
      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
      5a464356
  27. 09 Sep, 2004 1 commit
    • unknown's avatar
      After merge fixes of merge with 4.1 that included the new arena code. · 33efc967
      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
      33efc967
  28. 07 Sep, 2004 1 commit
  29. 04 Sep, 2004 1 commit
  30. 03 Sep, 2004 1 commit
    • unknown's avatar
      renamed ha_recovery_logging to ha_enable_transaction · e8c2e418
      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
      e8c2e418
  31. 27 Aug, 2004 1 commit
    • unknown's avatar
      WL#1724 "Min/Max Optimization for Queries with Group By Clause" · d9450332
      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
      d9450332