An error occurred fetching the project authors.
  1. 04 Feb, 2006 1 commit
    • unknown's avatar
      WL 2826: Nineth step · 2716f0a0
      unknown authored
      Updated error inject scripts
      
      
      dbug/dbug_long.h:
        Updated scripts in dub_long.h as well
      sql/mysql_priv.h:
        Updated error inject scripts
      2716f0a0
  2. 03 Feb, 2006 2 commits
    • unknown's avatar
      WL 2826: Seventh step, more fixes for error injects · 6a897b54
      unknown authored
      Removed session variables for error injects
      started using DBUG macros for error injects
      
      
      include/my_dbug.h:
        Added new DBUG macros
      sql/sql_class.cc:
        Removed session variables for error injects
      sql/sql_class.h:
        Removed session variables for error injects
      sql/mysql_priv.h:
        Changed ERROR INJECT macros to use DBUG macros
      sql/mysqld.cc:
        Removed session variables for error injects
      sql/set_var.cc:
        Removed session variables for error injects
      6a897b54
    • unknown's avatar
      WL #2826: Sixth step, made it work with test cases · 6b64b1a9
      unknown authored
      BUILD/SETUP.sh:
        Fixed BUILD scripts
      BUILD/compile-pentium-debug-max:
        Fixed BUILD scripts
      sql/ha_partition.cc:
        Need to handle states differently when creating handler files
      sql/mysql_priv.h:
        Some error inject fixes
      sql/mysqld.cc:
        Some error inject fixes
      sql/set_var.cc:
        Some error inject fixes
      sql/sql_partition.cc:
        Fixing a bug with generate partition syntax
        A number of fixes
      sql/sql_table.cc:
        Fix a few bugs
      sql/table.cc:
        fix
      6b64b1a9
  3. 01 Feb, 2006 3 commits
    • unknown's avatar
      WL 2826: A third step, fixing generate_partition_syntax · 93c697ad
      unknown authored
      sql/mysql_priv.h:
        Make it possible to set injector code and value
        Declare header part of a set of new functions
      sql/sql_partition.cc:
        Fix generate_partition_syntax to handle shadow variant of frm file
      93c697ad
    • unknown's avatar
      WL 2826: Another step · 463e4e79
      unknown authored
      sql/mysql_priv.h:
        Set error_inject_code to zero after firing error injection
      sql/sql_partition.cc:
        New entries for new functions
      463e4e79
    • unknown's avatar
      WL 2826: First step in error handling of ALTER TABLE for partitioning · 3742297b
      unknown authored
      BUILD/SETUP.sh:
        Add possibility for BUILD scripts to add error inject flag
      BUILD/compile-pentium-debug-max:
        Add error inject flag to this script
      configure.in:
        Add handling of --with-error-inject in configure script
      sql/ha_ndbcluster.cc:
        Add possibility to rename handler file
      sql/ha_ndbcluster.h:
        Add possibility to rename handler file
      sql/ha_partition.cc:
        Add possibility to rename handler file
      sql/ha_partition.h:
        Add possibility to rename handler file
      sql/handler.h:
        Add possibility to rename handler file
      sql/mysql_priv.h:
        Add error inject macros
      sql/mysqld.cc:
        Add error inject system variables
      sql/set_var.cc:
        Add error inject system variables
      sql/sql_class.h:
        Add error inject system variables
      sql/sql_table.cc:
        Start modifying code for introducing table log, Step 1
      sql/unireg.cc:
        Add rename flag to handler file call
      sql/sql_partition.cc:
        Changes to ADD/DROP/CHANGE partitions
      3742297b
  4. 24 Jan, 2006 1 commit
    • unknown's avatar
      bug #14354 - data directory and index directory not working for partitions · 89e741b5
      unknown authored
      mysql-test/r/partition_mgm_err.result:
        only the single drop table since we have disabled query logging for the create table
      mysql-test/t/partition_mgm_err.test:
        test for bug #14354
        first make sure /tmp/bug14354 is not there, then make the dir
        create a partitioned table with the partition using
        /tmp/bug14354 as it's data dir
        we are disabling query logging since we are using $MYSQL_TEST_DIR
        and we are not certain where the tmp files will be created.
      sql/ha_partition.cc:
        pass partition filename with pathname into 
        set_up_table_before_create.
        
        remove the path from the passed in value and then append the filename
        to the data_file_name or index_file_name if those values were
        specified.
      sql/ha_partition.h:
        added partition_name_with_path to set_up_table_before_create
      sql/mysql_priv.h:
        move append_file_to_dir to mysql_priv.h
      sql/sql_parse.cc:
        moving append_file_to_dir to mysql_priv.h
      sql/sql_partition.cc:
        add_keyword_string was not writing keyword value with quotes
      89e741b5
  5. 20 Jan, 2006 1 commit
    • unknown's avatar
      Portability compilation fixes. · 4bd9a061
      unknown authored
      storage/ndb/src/ndbapi/NdbEventOperationImpl.cpp:
        Fix sol10-amd64-a compile failure, conflict with system headers.
      sql/log.cc:
        Rename macros to fix AIX conflict with system LOG_GENERAL macros.
      sql/mysql_priv.h:
        Rename macros to fix AIX conflict with system LOG_GENERAL macros.
      sql/sql_delete.cc:
        Rename macros to fix AIX conflict with system LOG_GENERAL macros.
      sql/table.cc:
        Rename macros to fix AIX conflict with system LOG_GENERAL macros.
      sql/sql_parse.cc:
        Fix HPUX compile failure, initializing char * with const char *
      4bd9a061
  6. 19 Jan, 2006 2 commits
    • unknown's avatar
      Fix the tree: plugin-related changes, necessary for · 802bcd93
      unknown authored
      CSV storage engine to be statically compiled.
      Derived from antony's patch.
      
      
      config/ac-macros/storage.m4:
        don't add objects to the object list if
        we don't have them
      configure.in:
        compile CSV statically
      sql/ha_myisam.cc:
        fix prototype to get rid of THD
      sql/ha_myisam.h:
        fix prototype to get rid of THD
      sql/handler.cc:
        new function for plugins
      sql/handler.h:
        fix prototype to get rid of THD
        declare functions used by plugins
      sql/item.h:
        Don't include all the types and files when not building mysqld
      sql/lock.cc:
        don's assume that handler knows about THD
      sql/mysql_priv.h:
        Don't include all the types and files when not building mysqld
        declare new plugin functions
      sql/sql_class.cc:
        New plugin functions
      sql/sql_class.h:
        Don't include all the types and files when not building mysqld
      sql/sql_lex.h:
        Don't include all the types and files when not building mysqld
      storage/csv/Makefile.am:
        compile CSV into a static lib to be
        linked into mysqld
      storage/csv/ha_tina.cc:
        fix ha_tina to be able to build it static
      storage/csv/ha_tina.h:
        fix prototype to get rid of THD
      802bcd93
    • unknown's avatar
      WL1019: complete patch. Reapplied patch to the clean · f7bf702b
      unknown authored
      tree to get rid of multiple typos in CS comments and
      unify the patch.
      
      
      configure.in:
        CSV is compiled in by default now
      include/my_base.h:
        add new ha_extra flag for the log tables
      mysql-test/include/im_check_os.inc:
        we should only run im tests if csv is on for now: im relies
        on mysqld options available only in csv build.
      mysql-test/include/system_db_struct.inc:
        check log tables structure
      mysql-test/lib/init_db.sql:
        create log tables when running tests.
      mysql-test/mysql-test-run.pl:
        Add old logs flag to IM tests. As IM could only deal with
        old logs (this feature is not needed with log tables)
      mysql-test/r/connect.result:
        update result
      mysql-test/r/csv.result:
        update result
      mysql-test/r/im_utils.result:
        update result
      mysql-test/r/information_schema.result:
        update result
      mysql-test/r/mysqlcheck.result:
        update result
      mysql-test/r/show_check.result:
        update result
      mysql-test/r/system_mysql_db.result:
        update result
      mysql-test/t/connect.test:
        disable test if CSV engine is not in: result depends on the
        presence of CSV-based log tables
      mysql-test/t/csv.test:
        add tests for concurrent insert (the functionality is added
        to CSV in this patch)
      mysql-test/t/information_schema.test:
        disable test if CSV engine is not in: result depends on the
        presence of CSV-based log tables
      mysql-test/t/mysqlcheck.test:
        disable test if CSV engine is not in: result depends on the
        presence of CSV-based log tables
      mysql-test/t/show_check.test:
        disable test if CSV engine is not in: result depends on the
        presence of CSV-based log tables
      mysql-test/t/system_mysql_db.test:
        disable test if CSV engine is not in: result depends on the
        presence of CSV-based log tables
      mysql-test/t/system_mysql_db_fix.test:
        disable test if CSV engine is not in: result depends on the
        presence of CSV-based log tables
      scripts/mysql_create_system_tables.sh:
        new system tables: slow_log and general_log
      scripts/mysql_fix_privilege_tables.sql:
        add new log tables: use an SP to create them for
        non-csv build to work fine.
      sql/ha_myisam.cc:
        move locking-related checks to the hanlder
      sql/ha_myisam.h:
        new function declared
      sql/handler.h:
        new virtual function is added: we should check for handler-related
        locking issues in the handler
      sql/lock.cc:
        from now on we check for handler-related locking issues
        in the handler itself rather then in lock.cc
      sql/log.cc:
        Add log tables support, refactoring: there are log event
        handlers with common interface. They are used by the LOGGER
        class, which is responsible for their initialization, cleanup
        and managment. Logging to the tables provided by one of the
        log event handler types.
      sql/log.h:
        declare new log classes
      sql/log_event.cc:
        convert old logging routines calls to use new API
      sql/mysql_priv.h:
        define common log routines and objects
      sql/mysqld.cc:
        Add support for the log tables. Their initalization, cleanup
        and specific options.
      sql/share/errmsg.txt:
        add new error messages for the log tables
      sql/slave.cc:
        convert old logging routines calls to use new API
      sql/sql_base.cc:
        TABLE objects used by the logger should be skipped
        during refreshes (as log tables are always opened
        and locked). fix table_is_used to skip them.  This
        is needed for FLUSH LOGS to work
      sql/sql_db.cc:
        convert old logging routines calls to use new API
      sql/sql_delete.cc:
        fix TRUNCATE to work with log tables
      sql/sql_parse.cc:
        command_name is now an array of LEX_STRINGs
      sql/sql_prepare.cc:
        convert old logging routines calls to use new API
      sql/sql_show.cc:
        convert old logging routines calls to use new API
      sql/sql_table.cc:
        don't reoped the log tables for admin purposes
      sql/table.cc:
        mark log tables as such during the open
      sql/table.h:
        add log-related info
      storage/csv/ha_tina.cc:
        add support for concurrent insert (see bk commit - 5.1 tree
        (petr:1.1910) for standalone patch), add log tables-specific
        csv table handling.
      storage/csv/ha_tina.h:
        enable concurrent insert for CSV, add log table flag
      mysql-test/r/log_tables.result:
        New BitKeeper file ``mysql-test/r/log_tables.result''
      mysql-test/t/log_tables.test:
        New BitKeeper file ``mysql-test/t/log_tables.test''
      f7bf702b
  7. 18 Jan, 2006 2 commits
    • unknown's avatar
      - fix bug #16435 (Weekly events execute every second) (WL#1034 Internal CRON) · 82cefa00
      unknown authored
      Before the interval expression was considered to be in seconds, now it is
      just a number and the type of interval is considered.
      
      - this changeset introduces also fix for bug#16432 (Events: error re interval
        misrepresents the facts)
        the code of event_timed::set_interval() was refactored anyway so it is meaningful to
        fix the bug in the same changeset.
      
      
      include/my_time.h:
        - move enum interval_type to include/my_time.h so it can be used by functions
          in the whole server
      sql/event.cc:
        - don't use second_part
        - fix small problem with create event xyz, when xyz exists -> make it error
          instead of warning if create_if_not is false.
      sql/event.h:
        pass thd to mark_last_executed() to be able to call thd->end_time()
      sql/event_executor.cc:
        - pass thd to event_timed::compute_next_execution_time()
        - a bit more DBUG info in the server log
        - handle error returned by event_timed::compute_next_execution_time()
      sql/event_priv.h:
        - define the maximal possible value for interval_value
      sql/event_timed.cc:
        - more docs
        - add static get_next_time() which sums a TIME with an interval
        - fix bug #16435 (Weekly events execute every second)
        Before the interval expression was considered to be in seconds, now it is
        just a number and the type of interval is considered.
        - fix for bug#16432 (Events: error re interval misrepresents the facts)
          (return an error if a value is too big or is negative - errmsg changed)
      sql/item_timefunc.cc:
        - export get_interval_date()
        - refactor Item_date_add_interval::get_date() and extract the core
          to date_add_interval() in time.cc so it can be reused by the
          scheduler code in event_timed.cc
      sql/item_timefunc.h:
        - export get_interval_value() so it can be reused in event_timed.cc in
          function static get_next_time()
        - move enum interval_type to include/my_time.h so it can be used by functions
          in the whole server
      sql/mysql_priv.h:
        export the new function date_add_interval() added to time.cc
      sql/share/errmsg.txt:
        - change error message to be appropriate as fix for bug#16432
          (Events: error re interval misrepresents the facts)
      sql/sql_yacc.yy:
        - change error message to be appropriate as fix for bug#16432
          (Events: error re interval misrepresents the facts)
      sql/time.cc:
        extract the core of Item_date_add_interval::get_date()
        to a function per Serg's request. The code can be reused
        to add und substract interval from a date.
      82cefa00
    • unknown's avatar
      disabled.def: · 6e641d22
      unknown authored
        Disabled failing tests
      mysql_priv.h:
        Removed compiler warning
      
      
      sql/mysql_priv.h:
        Removed compiler warning
      mysql-test/t/disabled.def:
        Disabled failing tests
      6e641d22
  8. 17 Jan, 2006 2 commits
    • unknown's avatar
      WL #2747: Fix such that backup and restore works for user defined · 8d319b34
      unknown authored
      partitioned tables in NDB
      
      
      include/my_sys.h:
        Move packfrm and unpackfrm to mysys
      mysql-test/r/ndb_restore.result:
        New test cases
      mysql-test/t/ndb_restore.test:
        New test cases
      mysys/my_compress.c:
        Moved packfrm and unpackfrm to mysys
      sql/ha_ndbcluster.cc:
        Set value of partition function in hidden field for user defined
        partitioning in NDB to handle restore and later on-line reorganize
        of partitions
        To save space value of those functions are limited to 32 bits
      sql/ha_partition.cc:
        Use new get_partition_id interface
      sql/handler.h:
        Use new get_partition_id interface
      sql/mysql_priv.h:
        Moved to mysys
      sql/mysqld.cc:
        Minor
      sql/opt_range.cc:
        New get_partition_id interface
      sql/sql_partition.cc:
        New get_partition_id interface
        Fix error checks of specification of engines in ALTER TABLE
        Moved packfrm and unpackfrm to mysys
      sql/sql_table.cc:
        Fixed debug printouts
      storage/ndb/include/kernel/ndb_limits.h:
        New constant
      storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
        New table description item
      storage/ndb/include/ndb_version.h.in:
        New version specific constant
      storage/ndb/include/ndbapi/NdbDictionary.hpp:
        New item in table descriptions
      storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp:
        New item in table descriptions
      storage/ndb/src/kernel/blocks/backup/Backup.cpp:
        Write fragment id in backup's log entry
      storage/ndb/src/kernel/blocks/backup/BackupFormat.hpp:
        Write fragment id in backup's log entry
      storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
        New item in table description
      storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
        New item in table description
      storage/ndb/src/kernel/blocks/dbdih/DbdihMain.cpp:
        Moved constant
      storage/ndb/src/ndbapi/NdbDictionary.cpp:
        New item in table description
      storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
        New item in table description
      storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
        New item in table description
      storage/ndb/tools/Makefile.am:
        Compress library needed for ndb_restore
      storage/ndb/tools/restore/Restore.cpp:
        Handle fragment id and also handle backups from older versions
      storage/ndb/tools/restore/Restore.hpp:
        Use fragment id
      storage/ndb/tools/restore/consumer.hpp:
        Use fragment id
      storage/ndb/tools/restore/consumer_printer.cpp:
        Use fragment id
      storage/ndb/tools/restore/consumer_printer.hpp:
        Use fragment id
      storage/ndb/tools/restore/consumer_restore.cpp:
        Code to map node groups if new cluster has different set of
        node groups from original cluster
        Very simple search and replace parser of partition syntax in frm file
        Fix settings of partition id properly using fragment id and hidden
        field in tables
      storage/ndb/tools/restore/consumer_restore.hpp:
        Changed function headers and new one for mapping node groups
      storage/ndb/tools/restore/consumer_restorem.cpp:
        Use fragment id
      storage/ndb/tools/restore/restore_main.cpp:
        New parameter to set node group map, parser for this parameter
      8d319b34
    • unknown's avatar
      WL #2604: Partition Management · b770b9bf
      unknown authored
      Optimised version of ADD/DROP/REORGANIZE partitions for
      non-NDB storage engines.
      New syntax to handle REBUILD/OPTIMIZE/ANALYZE/CHECK/REPAIR partitions
      Quite a few bug fixes
      
      
      include/thr_lock.h:
        New method to downgrade locks from TL_WRITE_ONLY
        Possibility to upgrade lock while aborting locks
      mysql-test/r/ndb_autodiscover.result:
        Fix for lowercase and that all NDB tables are now partitioned
      mysql-test/r/ndb_bitfield.result:
        Fix for lowercase and that all NDB tables are now partitioned
      mysql-test/r/ndb_gis.result:
        Fix for lowercase and that all NDB tables are now partitioned
      mysql-test/r/ndb_partition_key.result:
        New test case
      mysql-test/r/partition.result:
        New test case
      mysql-test/r/partition_error.result:
        New test case
      mysql-test/r/partition_mgm_err.result:
        Fix of test case results
      mysql-test/t/disabled.def:
        partition_03ndb still has bug
      mysql-test/t/ndb_partition_key.test:
        New test cases for new functionality and bugs
      mysql-test/t/partition.test:
        New test cases for new functionality and bugs
      mysql-test/t/partition_error.test:
        New test cases for new functionality and bugs
      mysql-test/t/partition_mgm_err.test:
        New test cases for new functionality and bugs
      mysys/thr_lock.c:
        New method to downgrade TL_WRITE_ONLY locks
        Possibility to specify if locks are to be upgraded at abort locks
      sql/ha_archive.cc:
        New handlerton methods
      sql/ha_berkeley.cc:
        New handlerton methods
      sql/ha_blackhole.cc:
        New handlerton methods
      sql/ha_federated.cc:
        New handlerton methods
      sql/ha_heap.cc:
        New handlerton methods
      sql/ha_innodb.cc:
        New handlerton methods
      sql/ha_myisam.cc:
        New handlerton methods
      sql/ha_myisammrg.cc:
        New handlerton methods
      sql/ha_ndbcluster.cc:
        New handlerton methods
        Moved out packfrm and unpackfrm methods
        Adapted many parts to use table_share instead of table->s
        Ensured that .ndb file uses filename and not tablename
        according to new encoding of names (WL 1324)
        All NDB tables are partitioned and set up partition info
        Fixed such that tablenames use tablenames and not filenames in NDB
        NDB uses auto partitioning for ENGINE=NDB tables
        Warning for very large tables
        Set RANGE data
        Set LIST data
        New method to set-up partition info
        Set Default number of partitions flag
        Set linear hash flag
        Set node group array
        Set number of fragments
        Set max rows
        Set tablespace names
        New method to get number of partitions of table to use at open table
      sql/ha_ndbcluster.h:
        Removed partition_flags and alter_table_flags from handler class
        A couple of new and changed method headers
      sql/ha_ndbcluster_binlog.cc:
        Use new method headers
      sql/ha_partition.cc:
        New handlerton methods
        Lots of new function headers
        Use #P# as separator between table name and partition name and
        #SP# as separator between partition name and subpartition name
        Use filename encoding for files both of table name part and of
        partition name parts
        New method to drop partitions based on partition state
        New method to rename partitions based on partition state
        New methods to optimize, analyze, check and repair partitions
        New methods to optimize, analyze, check and repair table
        Helper method to create new partition, open it and external lock
        it, not needed to lock it internally since no one else knows about
        it yet.
        Cleanup method at error for new partitions
        New methods to perform bulk of work at ADD/REORGANIZE partitions
        (change_partitions, copy_partitions)
      sql/ha_partition.h:
        New methods and variables
        A few dropped ones and a few changed ones
      sql/handler.cc:
        Handlerton interface changes
        New flag to open_table_from_share
      sql/handler.h:
        New alter_table_flags
        New partition flags
        New partition states
        More states for default handling
        Lots of new, dropped and changed interfaces
      sql/lex.h:
        Added REBUILD and changed name of REORGANISE to REORGANIZE
      sql/lock.cc:
        Method to downgrade locks
        Able to specify if locks upgraded on abort locks
      sql/log.cc:
        New handlerton methods
      sql/mysql_priv.h:
        Lots of new interfaces
      sql/share/errmsg.txt:
        Lots of new, dropped and changed error messages
      sql/sql_base.cc:
        Adapted to new method headers
        New method to abort and upgrade lock
        New method to close open tables and downgrade lock
        New method to wait for completed table
      sql/sql_lex.h:
        New flags
      sql/sql_partition.cc:
        Return int instead of bool in get_partition_id
        More defaults handling
        Make use of new mem_alloc_error method
        More work on function headers
        Changes to generate partition syntax to cater for intermediate
        partition states
        Lots of new code with large comments describing new features for
        Partition Management:
        ADD/DROP/REORGANIZE/OPTIMIZE/ANALYZE/CHECK/REPAIR partitions
      sql/sql_show.cc:
        Minors
      sql/sql_table.cc:
        Moved a couple of methods
        New methods to copy create lists and key lists
        for use with mysql_prepare_table
        New method to write frm file
        New handling of handlers with auto partitioning
        Fix CREATE TABLE LIKE
        Moved code for ADD/DROP/REORGANIZE partitions
        Use handlerton method for alter_table_flags
      sql/sql_yacc.yy:
        More memory alloc error checks
        New syntax for REBUILD, ANALYZE, CHECK, OPTIMIZE, REPAIR partitions
      sql/table.cc:
        Fix length of extra part to be 4 bytes
        Partition state introduced in frm file
      sql/table.h:
        Partition state introduced
      sql/unireg.cc:
        Partition state introduced
        Default partition
      storage/csv/ha_tina.cc:
        New handlerton methods
      storage/example/ha_example.cc:
        New handlerton methods
      storage/ndb/include/kernel/ndb_limits.h:
        RANGE DATA
      storage/ndb/include/kernel/signaldata/AlterTable.hpp:
        New interfaces in ALTER TABLE towards NDB kernel
      storage/ndb/include/kernel/signaldata/DiAddTab.hpp:
        New section
      storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
        Lots of new parts of table description
      storage/ndb/include/kernel/signaldata/LqhFrag.hpp:
        tablespace id specified in LQHFRAGREQ
      storage/ndb/include/ndbapi/NdbDictionary.hpp:
        Lots of new methods in NDB dictionary
      storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp:
        Lots of new variables in table description
      storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
        Lots of new variables in table description
      storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
        Lots of new variables in table description
      storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
        New error insertion
      storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
        a few extra jam's
      storage/ndb/src/ndbapi/NdbBlob.cpp:
        Changes to definition of blob tables
      storage/ndb/src/ndbapi/NdbDictionary.cpp:
        Lots of new stuff in NDB dictionary
      storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
        Lots of new stuff in NDB dictionary
      storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
        Lots of new stuff in NDB dictionary
      storage/ndb/test/ndbapi/test_event.cpp:
        removed use of methods no longer in existence
      storage/ndb/tools/restore/Restore.cpp:
        Renamed variable
      b770b9bf
  9. 12 Jan, 2006 1 commit
    • unknown's avatar
      wl2325 wl2324 · 551f74f0
      unknown authored
      mysql-test/include/have_ndb_extra.inc:
        New BitKeeper file ``mysql-test/include/have_ndb_extra.inc''
      mysql-test/include/not_ndb.inc:
        New BitKeeper file ``mysql-test/include/not_ndb.inc''
      mysql-test/r/have_ndb_extra.require:
        New BitKeeper file ``mysql-test/r/have_ndb_extra.require''
      mysql-test/r/ndb_alter_table_row.result:
        New BitKeeper file ``mysql-test/r/ndb_alter_table_row.result''
      mysql-test/r/ndb_alter_table_stm.result:
        New BitKeeper file ``mysql-test/r/ndb_alter_table_stm.result''
      mysql-test/r/ndb_binlog_basic.result:
        New BitKeeper file ``mysql-test/r/ndb_binlog_basic.result''
      mysql-test/r/ndb_binlog_multi.result:
        New BitKeeper file ``mysql-test/r/ndb_binlog_multi.result''
      mysql-test/r/ndb_multi_row.result:
        New BitKeeper file ``mysql-test/r/ndb_multi_row.result''
      mysql-test/r/not_ndb.require:
        New BitKeeper file ``mysql-test/r/not_ndb.require''
      mysql-test/r/rpl_ndb_bank.result:
        New BitKeeper file ``mysql-test/r/rpl_ndb_bank.result''
      mysql-test/r/rpl_ndb_basic.result:
        New BitKeeper file ``mysql-test/r/rpl_ndb_basic.result''
      mysql-test/r/rpl_ndb_disk.result:
        New BitKeeper file ``mysql-test/r/rpl_ndb_disk.result''
      mysql-test/r/rpl_ndb_idempotent.result:
        New BitKeeper file ``mysql-test/r/rpl_ndb_idempotent.result''
      mysql-test/r/rpl_ndb_load.result:
        New BitKeeper file ``mysql-test/r/rpl_ndb_load.result''
      mysql-test/r/rpl_ndb_multi.result:
        New BitKeeper file ``mysql-test/r/rpl_ndb_multi.result''
      mysql-test/r/rpl_ndb_sync.result:
        New BitKeeper file ``mysql-test/r/rpl_ndb_sync.result''
      mysql-test/r/rpl_row_basic_7ndb.result:
        New BitKeeper file ``mysql-test/r/rpl_row_basic_7ndb.result''
      mysql-test/t/ndb_alter_table_row.test:
        New BitKeeper file ``mysql-test/t/ndb_alter_table_row.test''
      mysql-test/t/ndb_alter_table_stm.test:
        New BitKeeper file ``mysql-test/t/ndb_alter_table_stm.test''
      mysql-test/t/ndb_binlog_basic.test:
        New BitKeeper file ``mysql-test/t/ndb_binlog_basic.test''
      mysql-test/t/ndb_binlog_multi.test:
        New BitKeeper file ``mysql-test/t/ndb_binlog_multi.test''
      mysql-test/t/ndb_multi_row.test:
        New BitKeeper file ``mysql-test/t/ndb_multi_row.test''
      mysql-test/t/rpl_ndb_bank.test:
        New BitKeeper file ``mysql-test/t/rpl_ndb_bank.test''
      mysql-test/t/rpl_ndb_basic.test:
        New BitKeeper file ``mysql-test/t/rpl_ndb_basic.test''
      mysql-test/t/rpl_ndb_disk.test:
        New BitKeeper file ``mysql-test/t/rpl_ndb_disk.test''
      mysql-test/t/rpl_ndb_idempotent.test:
        New BitKeeper file ``mysql-test/t/rpl_ndb_idempotent.test''
      mysql-test/t/rpl_ndb_load.test:
        New BitKeeper file ``mysql-test/t/rpl_ndb_load.test''
      mysql-test/t/rpl_ndb_multi.test:
        New BitKeeper file ``mysql-test/t/rpl_ndb_multi.test''
      mysql-test/t/rpl_ndb_sync.test:
        New BitKeeper file ``mysql-test/t/rpl_ndb_sync.test''
      mysql-test/t/rpl_row_basic_7ndb.test:
        New BitKeeper file ``mysql-test/t/rpl_row_basic_7ndb.test''
      sql/ha_ndbcluster_binlog.cc:
        New BitKeeper file ``sql/ha_ndbcluster_binlog.cc''
      sql/ha_ndbcluster_binlog.h:
        New BitKeeper file ``sql/ha_ndbcluster_binlog.h''
      sql/ha_ndbcluster_tables.h:
        New BitKeeper file ``sql/ha_ndbcluster_tables.h''
      sql/rpl_injector.cc:
        New BitKeeper file ``sql/rpl_injector.cc''
      sql/rpl_injector.h:
        New BitKeeper file ``sql/rpl_injector.h''
      storage/ndb/include/kernel/signaldata/DihFragCount.hpp:
        New BitKeeper file ``storage/ndb/include/kernel/signaldata/DihFragCount.hpp''
      551f74f0
  10. 11 Jan, 2006 1 commit
    • unknown's avatar
      wl2723 - ndb opt. nr · 7bdcf080
      unknown authored
      mysql-test/t/rpl_multi_engine.test:
        merge fix
      libmysqld/sql_tablespace.cc:
        New BitKeeper file ``libmysqld/sql_tablespace.cc''
      mysql-test/r/ndb_basic_disk.result:
        New BitKeeper file ``mysql-test/r/ndb_basic_disk.result''
      mysql-test/t/ndb_basic_disk.test:
        New BitKeeper file ``mysql-test/t/ndb_basic_disk.test''
      sql/sql_tablespace.cc:
        New BitKeeper file ``sql/sql_tablespace.cc''
      storage/ndb/src/kernel/blocks/OptNR.txt:
        New BitKeeper file ``storage/ndb/src/kernel/blocks/OptNR.txt''
      storage/ndb/src/kernel/vm/mem.txt:
        New BitKeeper file ``storage/ndb/src/kernel/vm/mem.txt''
      storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
        New BitKeeper file ``storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp''
      storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp:
        New BitKeeper file ``storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp''
      storage/ndb/tools/ndb_error_reporter:
        New BitKeeper file ``storage/ndb/tools/ndb_error_reporter''
      7bdcf080
  11. 10 Jan, 2006 1 commit
  12. 07 Jan, 2006 1 commit
    • unknown's avatar
      WL#2935 - SHOW STATUS support in plugins · 47f811c3
      unknown authored
      The patch adds DYNAMIC_ARRAY all_status_vars, which is now the
      sole source of status information for SHOW STATUS.  Status
      variables can be added to and removed from the array dynamically.
      SHOW STATUS command uses this array instead of static array
      from mysqld.cc
      Compatibility with the old, global list of status variables is
      preserved in init_server_components(), where this global list is
      simply appended to all_status_vars.
      
      
      include/plugin.h:
        WL#2935 - SHOW STATUS support in plugins
      plugin/fulltext/plugin_example.c:
        WL#2935 - SHOW STATUS support in plugins
        example
      sql/ha_innodb.cc:
        s/struct show_var_st/SHOW_VAR/
      sql/ha_innodb.h:
        s/struct show_var_st/SHOW_VAR/
      sql/mysql_priv.h:
        WL#2935 - SHOW STATUS support in plugins
        add_status_vars(), remove_status_vars()
      sql/mysqld.cc:
        bug: plugin_free must be called even with --skip-grants
        add_status_vars()/free_status_vars(), remove unused SHOW_xxx_CONST
        s/struct show_var_st/SHOW_VAR/
      sql/set_var.cc:
        s/struct show_var_st/SHOW_VAR/
      sql/sql_parse.cc:
        s/struct show_var_st/SHOW_VAR/
      sql/sql_plugin.cc:
        WL#2935 - SHOW STATUS support in plugins
      sql/sql_plugin.h:
        WL#2935 - SHOW STATUS support in plugins
      sql/sql_show.cc:
        WL#2935 - SHOW STATUS support in plugins
        DYNAMIC_ARRAY all_status_vars, add_status_vars(), remove_status_vars()
        s/struct show_var_st/SHOW_VAR/
      sql/structs.h:
        WL#2935 - SHOW STATUS support in plugins
        SHOW STATUS definitions moved to include/plugin.h and sql_plugin.h
        s/struct show_var_st/SHOW_VAR/
      47f811c3
  13. 31 Dec, 2005 2 commits
    • unknown's avatar
      Making old tables seen with "#mysql50#" prefix, · acb20326
      unknown authored
        which makes it possible to run RENAME TABLE
        on old tables when upgrading from 5.0.
        TODO: A stored procedure to rename all tables and
        databases with old name format into new format,
        it will simplify upgrade.
      sql_table.cc:
        Making old tables seen with "#mysql50#" prefix.
        Adding warning into .err log when an old name is found.
      sql_show.cc:
        Skip non-directories before filename_to_tablename
        call, to avoid unnecessary warnings.
      strfunc.cc:
        Adding "error" argument to strconvert()
      mysql_priv.h:
        Adding "error" agrument to strconvert()
      
      
      sql/mysql_priv.h:
        Adding "error" agrument to strconvert()
      sql/strfunc.cc:
        Adding "error" argument to strconvert()
      sql/sql_show.cc:
        Skip non-directories before filename_to_tablename
        call, to avoid warning.
      sql/sql_table.cc:
        Making old tables seen with "#mysql50#" prefix,
        which makes it possible to run RENAME TABLE
        on old tables.
        Adding warning into .err log when an old name is found.
      acb20326
    • unknown's avatar
      WL#1324 table name to file name encoding · 8762c036
      unknown authored
      - Encoding itself, implemented as a charset
        "filename". Originally planned to use '.'
        as an escape character, but now changed to '@'
        for two reasons: "ls" does not return
        file names starting with '.' considering them
        as a kind of hidden files; some platforms
        do not allow several dots in a file name.
      - replacing many calls of my_snprintf() and
        strnxmov() to the new build_table_filename().
      - Adding MY_APPEND_EXT mysys flag, to append
        an extention rather that replace it.
      - Replacing all numeric constants in fn_format
        flag arguments to their mysys definitions, e.g.
        MY_UNPACK_FILENAME,
      - Predictability in several function/methods:
        when a table name can appear with or withot .frm
        extension. Some functions/methods were changed
        so accept names strictly with .frm, other - strictly
        without .frm extensions. Several DBUG_ASSERTs were
        added to check whether an extension is passed.
      Many files:
        table name to file name encoding
      mysql_priv.h:
        Prototypes for new table name encoding tools.
      ctype-utf8.c:
        Implementing "filename" charset for
        table name to file name encoding.
      row0mysql.c:
        Fixing table name prefix.
      mf_format.c:
        Adding MY_APPEND_EXT processing.
      Many files:
        Fixing tests.
      my_sys.h:
        Adding new flag to append rather than replace an extension.
      m_ctype.h:
        Adding "filename" charset definition.
      
      
      include/m_ctype.h:
        Adding "filename" charset definition.
      include/my_sys.h:
        Adding new flag to append rather than replace an extension.
      mysql-test/t/alter_table.test:
        Fixing tests.
      mysql-test/t/create.test:
        Fixing tests.
      mysql-test/t/show_check.test:
        Fixing tests.
      mysql-test/r/alter_table.result:
        Fixing tests.
      mysql-test/r/create.result:
        Fixing tests.
      mysql-test/r/mysqldump.result:
        Fixing tests.
      mysys/mf_format.c:
        Adding MY_APPEND_EXT processing.
      sql/discover.cc:
        table name to file name encoding
      sql/ha_berkeley.cc:
        table name to file name encoding
      sql/ha_innodb.cc:
        table name to file name encoding
      sql/ha_myisam.cc:
        table name to file name encoding
      sql/ha_myisammrg.cc:
        table name to file name encoding
      sql/ha_ndbcluster.cc:
        table name to file name encoding
      sql/ha_partition.cc:
        table name to file name encoding
      sql/handler.cc:
        table name to file name encoding.
      sql/init.cc:
        table name to file name encoding
      sql/mysqld.cc:
        table name to file name encoding
      sql/parse_file.cc:
        table name to file name encoding
      sql/sql_acl.cc:
        table name to file name encoding
      sql/sql_base.cc:
        table name to file name encoding
      sql/sql_db.cc:
        table name to file name encoding
      sql/sql_delete.cc:
        table name to file name encoding
      sql/sql_rename.cc:
        table name to file name encoding
      sql/sql_show.cc:
        table name to file name encoding
      sql/sql_table.cc:
        table name to file name encoding
      sql/sql_trigger.cc:
        table name to file name encoding
      sql/sql_view.cc:
        table name to file name encoding
      sql/strfunc.cc:
        table name to file name encoding
      sql/table.cc:
        table name to file name encoding
      sql/unireg.cc:
        table name to file name encoding
      storage/innobase/row/row0mysql.c:
        Fixing table name prefix.
        ,
      storage/myisam/mi_create.c:
        table name to file name encoding
      storage/myisam/mi_delete_table.c:
        table name to file name encoding
      storage/myisam/mi_open.c:
        table name to file name encoding
      storage/myisam/mi_rename.c:
        table name to file name encoding
      strings/ctype-utf8.c:
        Implementing "filename" charset for
        table name to file name encoding.
      sql/mysql_priv.h:
        Prototypes for new table name encoding tools.
      storage/myisammrg/myrg_create.c:
        table name to file name encoding
      storage/myisammrg/myrg_open.c:
        table name to file name encoding
      8762c036
  14. 22 Dec, 2005 2 commits
    • unknown's avatar
      BUG#5390 - problems with merge tables · 2be428bf
      unknown authored
      Problem #1: INSERT...SELECT, Version for 5.1.
      Extended the unique table check by a check of lock data.
      Merge sub-tables cannot be detected by doing name checks only.
      
      
      mysql-test/r/create.result:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/r/merge.result:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added test results.
      mysql-test/t/create.test:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/t/merge.test:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added tests.
      sql/lock.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.1.
        Added a new function to find a duplicate lock in a list of tables.
      sql/mysql_priv.h:
        Problem #1: INSERT...SELECT, Version for 5.1.
        Added the thread handle to unique_table().
        Added a declaration for the new function.
      sql/sql_base.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.1.
        Added the thread handle to unique_table().
        Added a call to the new mysql_lock_have_duplicate(),
        which needs the thread handle, to unique_table().
      sql/sql_delete.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.1.
        Added the thread handle to unique_table().
      sql/sql_insert.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.1.
        Added the thread handle to unique_table().
      sql/sql_load.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.1.
        Added the thread handle to unique_table().
      sql/sql_parse.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.1.
        Added the thread handle to unique_table().
      sql/sql_update.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.1.
        Added the thread handle to unique_table().
        Replaced a call to find_table_in_local_list() by
        the newly extended unique_table().
      2be428bf
    • unknown's avatar
      WL#1012: All changes as one single changeset. · 00d4af11
      unknown authored
      This includes both code and test cases.
      
      
      BitKeeper/deleted/.del-ctype_ucs_binlog.result~280d136b1a0bcf17:
        Delete: mysql-test/r/ctype_ucs_binlog.result
      BitKeeper/deleted/.del-rpl_delete_all.result~7c050d592614b3f:
        Delete: mysql-test/r/rpl_delete_all.result
      BitKeeper/deleted/.del-rpl000013-slave.opt~18266ad8a2403e8d:
        Delete: mysql-test/t/rpl000013-slave.opt
      BitKeeper/deleted/.del-rpl_delete_all.test~700a1490277780e0:
        Delete: mysql-test/t/rpl_delete_all.test
      mysql-test/extra/binlog_tests/binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/blackhole.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/ctype_cp932.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/ctype_cp932_binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/ctype_ucs_binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/drop_temp_table.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/insert_select-binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/binlog_tests/mix_innodb_myisam_binlog.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_ddl.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_deadlock.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_err_ignoredtable.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_flsh_tbls.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_loaddata_m.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_log.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_max_relay_size.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_multi_query.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_reset_slave.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_stm_000001.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_stm_EE_err.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_stm_charset.test:
        Import patch wl1012.patch
      mysql-test/extra/rpl_tests/rpl_user_variables.test:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_binlog.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_blackhole.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_ctype_cp932.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_ctype_ucs.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_drop_tmp_tbl.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_insert_select.result:
        Import patch wl1012.patch
      mysql-test/r/binlog_stm_mix_innodb_myisam.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_000012.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_000015.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_deadlock_innodb.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_flushlog_loop.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_loaddata_s.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_000001.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_EE_err.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_charset.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_ddl.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_err_ignoredtable.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_flsh_tbls.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_loaddata_m.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_log.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_max_relay_size.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_multi_query.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_mystery22.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_reset_slave.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_rewrt_db.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_sp.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_timezone.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_until.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_user_variables.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_stm_view.result:
        Import patch wl1012.patch
      mysql-test/t/binlog_row_binlog-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_000012.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_000015-slave.sh:
        Import patch wl1012.patch
      mysql-test/t/rpl_000015.slave-mi:
        Import patch wl1012.patch
      mysql-test/t/rpl_000015.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_deadlock_innodb-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop-master.sh:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop-slave.sh:
        Import patch wl1012.patch
      mysql-test/t/rpl_flushlog_loop.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_loaddata_s-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_loaddata_s.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_000001-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_err_ignoredtable-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_loaddata_m-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_log-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_log-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_mystery22.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_rewrt_db-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_rewrt_db.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_sp-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_sp-slave.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_sp.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_timezone-master.opt:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_timezone-slave.opt:
        Import patch wl1012.patch
      BUILD/SETUP.sh:
        Import patch wl1012.patch
      Makefile.am:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_timezone.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_until.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_stm_view.test:
        Import patch wl1012.patch
      client/Makefile.am:
        Import patch wl1012.patch
      client/client_priv.h:
        Import patch wl1012.patch
      client/mysqlbinlog.cc:
        Import patch wl1012.patch
      configure.in:
        Import patch wl1012.patch
      include/Makefile.am:
        Import patch wl1012.patch
      include/base64.h:
        Import patch wl1012.patch
      include/config-win.h:
        Import patch wl1012.patch
      include/my_base.h:
        Import patch wl1012.patch
      include/my_global.h:
        Import patch wl1012.patch
      mysql-test/Makefile.am:
        Import patch wl1012.patch
      mysql-test/mysql-test-run.pl:
        Import patch wl1012.patch
      mysql-test/mysql-test-run.sh:
        Import patch wl1012.patch
      mysql-test/r/date_formats.result:
        Import patch wl1012.patch
      mysql-test/r/flush_block_commit.result:
        Import patch wl1012.patch
      mysql-test/r/innodb.result:
        Import patch wl1012.patch
      mysql-test/r/rpl000017.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_change_master.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_commit_after_flush.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_create_database.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_do_grant.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_loaddata.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_log_pos.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_multi_delete.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_multi_update.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_openssl.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_replicate_do.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_rotate_logs.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_server_id1.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_server_id2.result:
        Import patch wl1012.patch
      mysql-test/r/rpl_temporary.result:
        Import patch wl1012.patch
      mysql-test/r/user_var-binlog.result:
        Import patch wl1012.patch
      mysql-test/t/create_select_tmp.test:
        Import patch wl1012.patch
      mysql-test/t/date_formats.test:
        Import patch wl1012.patch
      mysql-test/t/disabled.def:
        Import patch wl1012.patch
      mysql-test/t/innodb.test:
        Import patch wl1012.patch
      mysql-test/t/mysqlbinlog.test:
        Import patch wl1012.patch
      mysql-test/t/mysqlbinlog2.test:
        Import patch wl1012.patch
      mysql-test/t/rpl000002.test:
        Import patch wl1012.patch
      mysql-test/t/rpl000006.test:
        Import patch wl1012.patch
      mysql-test/t/rpl000013.test:
        Import patch wl1012.patch
      mysql-test/t/rpl000017.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_auto_increment.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_change_master.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_commit_after_flush.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_create_database.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_do_grant.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_drop.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_empty_master_crash.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_failed_optimize.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_heap.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_insert_id.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_insert_ignore.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_loaddata.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_log_pos.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_multi_delete.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_multi_update.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_multi_update2.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_multi_update3.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_openssl.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_redirect.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_relayrotate.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_replicate_do.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_rotate_logs.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_server_id1.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_sp_effects.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_temporary.test:
        Import patch wl1012.patch
      mysql-test/t/rpl_trigger.test:
        Import patch wl1012.patch
      mysql-test/t/sp.test:
        Import patch wl1012.patch
      mysql-test/t/user_var-binlog.test:
        Import patch wl1012.patch
      mysys/Makefile.am:
        Import patch wl1012.patch
      mysys/base64.c:
        Import patch wl1012.patch
      sql/Makefile.am:
        Import patch wl1012.patch
      sql/ha_innodb.cc:
        Import patch wl1012.patch
      sql/ha_innodb.h:
        Import patch wl1012.patch
      sql/ha_partition.cc:
        Import patch wl1012.patch
      sql/handler.cc:
        Import patch wl1012.patch
      sql/handler.h:
        Import patch wl1012.patch
      sql/item_sum.cc:
        Import patch wl1012.patch
      sql/log.cc:
        Import patch wl1012.patch
      sql/log_event.cc:
        Import patch wl1012.patch
      sql/log_event.h:
        Import patch wl1012.patch
      sql/mysql_priv.h:
        Import patch wl1012.patch
      sql/mysqld.cc:
        Import patch wl1012.patch
      sql/rpl_filter.h:
        Import patch wl1012.patch
      sql/set_var.cc:
        Import patch wl1012.patch
      sql/share/errmsg.txt:
        Import patch wl1012.patch
      sql/slave.cc:
        Import patch wl1012.patch
      sql/slave.h:
        Import patch wl1012.patch
      sql/sp.cc:
        Import patch wl1012.patch
      sql/sp_head.cc:
        Import patch wl1012.patch
      sql/sql_acl.cc:
        Import patch wl1012.patch
      sql/sql_base.cc:
        Import patch wl1012.patch
      sql/sql_class.cc:
        Import patch wl1012.patch
      sql/sql_class.h:
        Import patch wl1012.patch
      sql/sql_delete.cc:
        Import patch wl1012.patch
      sql/sql_insert.cc:
        Import patch wl1012.patch
      sql/sql_lex.h:
        Import patch wl1012.patch
      sql/sql_list.h:
        Import patch wl1012.patch
      sql/sql_load.cc:
        Import patch wl1012.patch
      sql/sql_parse.cc:
        Import patch wl1012.patch
      sql/sql_plugin.cc:
        Import patch wl1012.patch
      sql/sql_rename.cc:
        Import patch wl1012.patch
      sql/sql_repl.h:
        Import patch wl1012.patch
      sql/sql_select.cc:
        Import patch wl1012.patch
      sql/sql_show.cc:
        Import patch wl1012.patch
      sql/sql_table.cc:
        Import patch wl1012.patch
      sql/sql_udf.cc:
        Import patch wl1012.patch
      sql/sql_union.cc:
        Import patch wl1012.patch
      sql/sql_update.cc:
        Import patch wl1012.patch
      sql/sql_yacc.yy:
        Import patch wl1012.patch
      sql/table.cc:
        Import patch wl1012.patch
      sql/table.h:
        Import patch wl1012.patch
      storage/innobase/include/lock0lock.h:
        Import patch wl1012.patch
      storage/innobase/include/row0mysql.h:
        Import patch wl1012.patch
      storage/innobase/include/row0vers.h:
        Import patch wl1012.patch
      storage/innobase/lock/lock0lock.c:
        Import patch wl1012.patch
      storage/innobase/row/row0mysql.c:
        Import patch wl1012.patch
      storage/innobase/row/row0sel.c:
        Import patch wl1012.patch
      storage/innobase/row/row0vers.c:
        Import patch wl1012.patch
      00d4af11
  15. 21 Dec, 2005 1 commit
    • unknown's avatar
      Finalize storage engine plugins · af53246a
      unknown authored
      Give BerkeleyDB savepoints
      Remove "enum db_type" from most of the code
      
      
      storage/example/ha_example.h:
        Rename: sql/examples/ha_example.h -> storage/example/ha_example.h
      storage/csv/ha_tina.h:
        Rename: sql/examples/ha_tina.h -> storage/csv/ha_tina.h
      config/ac-macros/storage.m4:
        if hton name is "no", then we don't install it as a builtin
      configure.in:
        pluggable changes
      include/plugin.h:
        version field
      mysql-test/r/bdb.result:
        savepoint results copied from innodb test
      mysql-test/r/information_schema.result:
        PLUGINS information schema
      mysql-test/r/information_schema_db.result:
        PLUGINS information schema
      mysql-test/t/bdb.test:
        savepoint test copied from innodb test
      sql/Makefile.am:
        tina and example are not here anymore
      sql/authors.h:
        minor tweek
      sql/ha_archive.cc:
        remove unwanted handlerton entries
      sql/ha_berkeley.cc:
        remove unwanted handlerton entries
        support for savepoints
        changes to show logs
      sql/ha_blackhole.cc:
        remove unwanted handlerton entries
      sql/ha_federated.cc:
        remove unwanted handlerton entries
      sql/ha_heap.cc:
        remove unwanted handlerton entries
      sql/ha_innodb.cc:
        remove unwanted handlerton entries
        changes for show status
      sql/ha_myisam.cc:
        remove unwanted handlerton entries
      sql/ha_myisammrg.cc:
        remove unwanted handlerton entries
      sql/ha_ndbcluster.cc:
        remove unwanted handlerton entries
        changes to stat_print
      sql/ha_partition.cc:
        remove unwanted handlerton entries
        bye bye enum db_type
      sql/ha_partition.h:
        bye bye enum db_type
      sql/handler.cc:
        remove unwanted handlerton entries
        bye bye enum db_type
      sql/handler.h:
        remove unwanted handlerton entries
        bye bye enum db_type
        changes to stat_print_fn
      sql/item_sum.cc:
        bye bye enum db_type
      sql/log.cc:
        remove unwanted handlerton entries
      sql/mysql_priv.h:
        bye bye enum db_type
      sql/mysqld.cc:
        bye bye enum db_type
        reorder plugin initialization
      sql/set_var.cc:
        bye bye enum db_type
      sql/set_var.h:
        bye bye enum db_type
      sql/sql_base.cc:
        bye bye enum db_type
      sql/sql_cache.cc:
        bye bye enum db_type
      sql/sql_class.h:
        bye bye enum db_type
      sql/sql_delete.cc:
        bye bye enum db_type
      sql/sql_insert.cc:
        bye bye enum db_type
      sql/sql_lex.h:
        show plugin
      sql/sql_parse.cc:
        bye bye enum db_type
      sql/sql_partition.cc:
        bye bye enum db_type
      sql/sql_plugin.cc:
        loadable storage engines
      sql/sql_plugin.h:
        loadable storage engines
      sql/sql_rename.cc:
        bye bye enum db_type
      sql/sql_select.cc:
        bye bye enum db_type
      sql/sql_show.cc:
        SHOW PLUGIN
        PLUGINS information schema
        changes to show engines
      sql/sql_table.cc:
        bye bye enum db_type
      sql/sql_view.cc:
        bye bye enum db_type
      sql/sql_view.h:
        bye bye enum db_type
      sql/sql_yacc.yy:
        bye bye enum db_type
      sql/table.cc:
        bye bye enum db_type
      sql/table.h:
        bye bye enum db_type
      sql/unireg.cc:
        bye bye enum db_type
      storage/csv/ha_tina.cc:
        make tina into a loadable plugin
      storage/example/ha_example.cc:
        make into a plugin
      storage/csv/Makefile.am:
        New BitKeeper file ``storage/csv/Makefile.am''
      storage/example/Makefile.am:
        New BitKeeper file ``storage/example/Makefile.am''
      af53246a
  16. 20 Dec, 2005 1 commit
    • unknown's avatar
      BUG#5390 - problems with merge tables · 3ed6fc2f
      unknown authored
      Problem #1: INSERT...SELECT, Version for 5.0.
      Extended the unique table check by a check of lock data.
      Merge sub-tables cannot be detected by doing name checks only.
      
      
      mysql-test/r/create.result:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/r/merge.result:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added test results.
      mysql-test/t/create.test:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/t/merge.test:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added tests.
      sql/lock.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added a new function to find a duplicate lock in a list of tables.
      sql/mysql_priv.h:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
        Added a declaration for the new function.
      sql/sql_base.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
        Added a call to the new mysql_lock_have_duplicate(),
        which needs the thread handle, to unique_table().
      sql/sql_delete.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
      sql/sql_insert.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
      sql/sql_load.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
      sql/sql_parse.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
      sql/sql_update.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 5.0.
        Added the thread handle to unique_table().
        Replaced a call to find_table_in_local_list() by
        the newly extended unique_table().
      3ed6fc2f
  17. 07 Dec, 2005 2 commits
    • unknown's avatar
      BUG#5390 - problems with merge tables · 5197998b
      unknown authored
      Problem #1: INSERT...SELECT, Version for 4.1.
      INSERT ... SELECT with the same table on both sides (hidden
      below a MERGE table) does now work by buffering the select result.
      The duplicate detection works now after open_and_lock_tables() 
      on the locks.
      I did not find a test case that failed without the change in
      sql_update.cc. I made the change anyway as it should in theory
      fix a possible MERGE table problem with multi-table update.
      
      
      libmysqld/ha_blackhole.cc:
        BUG#5390 - problems with merge tables
        No idea, how the symlink change made it into my patch.
      mysql-test/r/create.result:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/r/merge.result:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 4.1.
        Added test results.
      mysql-test/t/create.test:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/t/merge.test:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 4.1.
        Added tests.
      sql/lock.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 4.1.
        Added a new function to find a duplicate lock in a list of tables.
      sql/mysql_priv.h:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 4.1.
        Added a declaration for the new function.
      sql/sql_parse.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 4.1.
        Changed the duplicate tables detection for INSERT ... SELECT
        to use the new function, which does also work for MERGE tables.
      sql/sql_update.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT, Version for 4.1.
        Changed the duplicate tables detection for UPDATE
        to use the new function, which does also work for MERGE tables.
      5197998b
    • unknown's avatar
      Patch for WL#2894: Make stored routine variables work · 66ce27ca
      unknown authored
      according to the standard.
      
      The idea is to use Field-classes to implement stored routines
      variables. Also, we should provide facade to Item-hierarchy
      by Item_field class (it is necessary, since SRVs take part
      in expressions).
      
      The patch fixes the following bugs:
        - BUG#8702: Stored Procedures: No Error/Warning shown for inappropriate data 
          type matching; 
       
        - BUG#8768: Functions: For any unsigned data type, -ve values can be passed 
          and returned; 
       
        - BUG#8769: Functions: For Int datatypes, out of range values can be passed 
          and returned; 
       
        - BUG#9078: STORED PROCDURE: Decimal digits are not displayed when we use 
          DECIMAL datatype; 
       
        - BUG#9572: Stored procedures: variable type declarations ignored; 
       
        - BUG#12903: upper function does not work inside a function; 
       
        - BUG#13705: parameters to stored procedures are not verified; 
       
        - BUG#13808: ENUM type stored procedure parameter accepts non-enumerated
          data; 
       
        - BUG#13909: Varchar Stored Procedure Parameter always BINARY string (ignores 
          CHARACTER SET); 
       
        - BUG#14161: Stored procedure cannot retrieve bigint unsigned;
      
        - BUG#14188: BINARY variables have no 0x00 padding;
      
        - BUG#15148: Stored procedure variables accept non-scalar values;
      
      
      mysql-test/r/ctype_ujis.result:
        Explicitly specify correct charset.
      mysql-test/r/schema.result:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/r/show_check.result:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/r/skip_name_resolve.result:
        Ignore columns with unpredictable values.
      mysql-test/r/sp-big.result:
        Add cleanup statement.
      mysql-test/r/sp-dynamic.result:
        Add cleanup statements.
      mysql-test/r/sp.result:
        Update result file.
      mysql-test/r/sum_distinct-big.result:
        Update result file.
      mysql-test/r/type_newdecimal-big.result:
        Update result file.
      mysql-test/t/ctype_ujis.test:
        Explicitly specify correct charset.
      mysql-test/t/schema.test:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/t/show_check.test:
        Drop our test database to not affect this test if some test
        left it cause of failure.
      mysql-test/t/skip_name_resolve.test:
        Ignore columns with unpredictable values.
      mysql-test/t/sp-big.test:
        Add cleanup statement.
      mysql-test/t/sp-dynamic.test:
        Add cleanup statements.
      mysql-test/t/sp.test:
        Non-scalar values prohibited for assignment to SP-vars;
        polishing.
      mysql-test/t/type_newdecimal-big.test:
        Update type specification so that the variables
        can contain the large values used in the test.
      sql/field.cc:
        Extract create_field::init() to initialize an existing
        instance of create_field from new_create_field().
      sql/field.h:
        Extract create_field::init() to initialize an existing
        instance of create_field from new_create_field().
      sql/item.cc:
        - Introduce a new class: Item_sp_variable -- a base class
          of stored-routine-variables classes;
        - Introduce Item_case_expr -- an Item, which is used to access
          to the expression of CASE statement;
      sql/item.h:
        - Introduce a new class: Item_sp_variable -- a base class
          of stored-routine-variables classes;
        - Introduce Item_case_expr -- an Item, which is used to access
          to the expression of CASE statement;
      sql/item_func.cc:
        Pass the Field (instead of Item) for the return value of
        a function to the function execution routine.
      sql/item_func.h:
        Pass the Field (instead of Item) for the return value of
        a function to the function execution routine.
      sql/mysql_priv.h:
        Move create_virtual_tmp_table() out of sql_select.h.
      sql/sp.cc:
        Use create_result_field() instead of make_field().
      sql/sp_head.cc:
        - Add a function to map enum_field_types to Item::Type;
        - Add sp_instr_push_case_expr instruction -- an instruction
          to push CASE expression into the active running context;
        - Add sp_instr_pop_case_expr instruction -- an instruction
          to pop CASE expression from the active running context;
        - Adapt the SP-execution code to using Fields instead of Items
          for SP-vars;
        - Use create_field structure for field description instead of
          a set of members.
      sql/sp_head.h:
        - Add a function to map enum_field_types to Item::Type;
        - Add sp_instr_push_case_expr instruction -- an instruction
          to push CASE expression into the active running context;
        - Add sp_instr_pop_case_expr instruction -- an instruction
          to pop CASE expression from the active running context;
        - Adapt the SP-execution code to using Fields instead of Items
          for SP-vars;
        - Use create_field structure for field description instead of
          a set of members.
      sql/sp_pcontext.cc:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Add an operation to retrieve a list of defined SP-vars
          from the processing context recursively.
      sql/sp_pcontext.h:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Add an operation to retrieve a list of defined SP-vars
          from the processing context recursively.
      sql/sp_rcontext.cc:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Use a tmp virtual table to store SP-vars instead of Items;
        - Provide operations to work with CASE expresion.
      sql/sp_rcontext.h:
        - Change rules to assign an index of SP-variable: use
          transparent index;
        - Use a tmp virtual table to store SP-vars instead of Items;
        - Provide operations to work with CASE expresion.
      sql/sql_class.cc:
        - Reflect Item_splocal ctor changes;
        - Item_splocal::get_offset() has been renamed to get_var_idx().
      sql/sql_class.h:
        Polishing.
      sql/sql_parse.cc:
        Extract create_field::init() to initialize an existing
        instance of create_field from new_create_field().
      sql/sql_select.cc:
        Take care of BLOB columns in create_virtual_tmp_table().
      sql/sql_select.h:
        Move create_virtual_tmp_table() out of sql_select.h.
      sql/sql_trigger.cc:
        Use boolean constants for boolean type instead of numerical ones.
      sql/sql_yacc.yy:
        Provide an instance of create_field for each SP-var.
      mysql-test/include/sp-vars.inc:
        The definitions of common-procedures, which are created
        under different circumstances.
      mysql-test/r/sp-vars.result:
        Result file for the SP-vars test.
      mysql-test/sp-vars.test:
        A new test for checking SP-vars functionality.
      66ce27ca
  18. 02 Dec, 2005 1 commit
    • unknown's avatar
      Bug#10932 - Building server with key limit of 128, makes test cases fail · 2547d3a5
      unknown authored
      Allow for configuration of the maximum number of indexes per table.
      Added and used a configure.in macro.
      Replaced fixed limits by the configurable limit.
      Limited MyISAM indexes to its hard limit.
      Fixed a bug in opt_range.cc for many indexes with InnoDB.
      
      Tested for 2, 63, 64, 65, 127, 128, 129, 255, 256, and 257 indexes.
      Testing this part of the bugfix requires rebuilding of the server 
      with different options. This cannot be done with our test suite. 
      Therefore I added the necessary test files to the bug report.
      If you repeat the tests, please note that the ps_* tests fail for
      everything but 64 indexes. This is because of differences in the 
      meta data, namely field lengths for index names etc.
      
      
      config/ac-macros/misc.m4:
        Bug#10932 - Building server with key limit of 128, makes test cases fail
        Allow for configuration of the maximum number of indexes per table.
        Added a macro for the new build option.
      configure.in:
        Bug#10932 - Building server with key limit of 128, makes test cases fail
        Allow for configuration of the maximum number of indexes per table.
        Added a call for the new macro.
      include/myisam.h:
        Bug#10932 - Building server with key limit of 128, makes test cases fail
        Allow for configuration of the maximum number of indexes per table.
        Limit the number of keys for MyISAM to its hard limit.
      sql/mysql_priv.h:
        Bug#10932 - Building server with key limit of 128, makes test cases fail
        Allow for configuration of the maximum number of indexes per table.
        Stick with the optimized Bitmap<64> if indexes are limited to 64
        or lower. Otherwise use a bigger bitmap. It must be defined as a
        multiple of 8.
      sql/opt_range.cc:
        Bug#10932 - Building server with key limit of 128, makes test cases fail
        Allow for configuration of the maximum number of indexes per table.
        Initialize an object element to avoid a crash when using InnoDB
        with many indexes.
      sql/unireg.h:
        Bug#10932 - Building server with key limit of 128, makes test cases fail
        Allow for configuration of the maximum number of indexes per table.
        Replace the fixed limit by the configurable limit.
      tests/mysql_client_test.c:
        Bug#10932 - Building server with key limit of 128, makes test cases fail
        Allow for configuration of the maximum number of indexes per table.
        Replace the fixed limit by the configurable limit.
      2547d3a5
  19. 01 Dec, 2005 1 commit
    • unknown's avatar
      Many files: · 000ae475
      unknown authored
        Added mmap support for MyISAM engine
      
      
      configure.in:
        Added mmap support for MyISAM engine
      include/my_base.h:
        Added mmap support for MyISAM engine
      include/my_sys.h:
        Added mmap support for MyISAM engine
      sql/ha_myisam.cc:
        Added mmap support for MyISAM engine
      sql/mysql_priv.h:
        Added mmap support for MyISAM engine
      sql/mysqld.cc:
        Added mmap support for MyISAM engine
      sql/records.cc:
        Added mmap support for MyISAM engine
      sql/set_var.cc:
        Added mmap support for MyISAM engine
      storage/myisam/mi_close.c:
        Added mmap support for MyISAM engine
      storage/myisam/mi_delete_all.c:
        Added mmap support for MyISAM engine
      storage/myisam/mi_dynrec.c:
        Added mmap support for MyISAM engine
      storage/myisam/mi_extra.c:
        Added mmap support for MyISAM engine
      storage/myisam/mi_locking.c:
        Added mmap support for MyISAM engine
      storage/myisam/mi_open.c:
        Added mmap support for MyISAM engine
      storage/myisam/mi_packrec.c:
        Added mmap support for MyISAM engine
      storage/myisam/mi_statrec.c:
        Added mmap support for MyISAM engine
      storage/myisam/myisamdef.h:
        Added mmap support for MyISAM engine
      000ae475
  20. 30 Nov, 2005 1 commit
    • unknown's avatar
      WL#2486 - natural/using joins according to SQL:2003 · 9a724d87
      unknown authored
      Post-review fixes that simplify the way access rights
      are checked during name resolution and factor out all
      entry points to check access rights into one single
      function.
      
      
      sql/item.cc:
        Simplfied find_field_in_table - factored out all acces right checks
        into a separate function.
      sql/mysql_priv.h:
        Simplified the way we control whether to perform access right
        checks for columns.
      sql/sql_acl.cc:
        - Added new functon check_column_grant_in_table_ref that serves as a single
          point of entry to check access rights during name resolution for different
          kinds of table references.
        - Moved check_grant_column_in_sctx to sql_acl.cc where it
          logically belongs.
        - Removed the parameter check_grants - it is checked before
          calling the function.
      sql/sql_acl.h:
        - Added new function check_column_grant_in_table_ref.
        - Made check_grant_column_in_sctx available to other modules.
      sql/sql_base.cc:
        - Factored out all code that check access rights for columns during
          name resolution into one function - check_column_grant_in_table_ref.
        - Moved check_grant_column_in_sctx to sql_acl.cc where it
          logically belongs.
        - Removed the parameter check_grants - it is checked before
          calling the function.
      sql/table.cc:
        Removed code that duplicates the functionality of
        check_column_grant_in_table_ref, and called directly
        that function.
      sql/table.h:
        check_grants method is replaced by more general
        check_column_grant_in_table_ref.
      9a724d87
  21. 29 Nov, 2005 2 commits
    • unknown's avatar
      BUG#5390 - problems with merge tables · 39fab575
      unknown authored
      Problem #1: INSERT...SELECT
      INSERT ... SELECT with the same table on both sides (hidden
      below a MERGE table) does now work by buffering the select result.
      The duplicate detection works now after open_and_lock_tables() 
      on the locks.
      I did not find a test case that failed without the change in
      sql_update.cc. I made the change anyway as it should in theory
      fix a possible MERGE table problem with multi-table update.
      
      
      mysql-test/r/create.result:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/r/merge.result:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added test results.
      mysql-test/t/create.test:
        BUG#5390 - problems with merge tables
        Removed a duplicate test.
      mysql-test/t/merge.test:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added tests.
      sql/lock.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added a new function to find a duplicate lock in a list of tables.
      sql/mysql_priv.h:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Added a declaration for the new function.
      sql/sql_parse.cc:
        BUG#5390 - problems with merge tables
        Problem #1: INSERT...SELECT
        Changed the duplicate tables detection for INSERT ... SELECT
        to use the new function, which does also work for MERGE tables.
      sql/sql_update.cc:
        BUG#5390 - problems with merge tables
        Changed the duplicate tables detection for UPDATE
        to use the new function, which does also work for MERGE tables.
      39fab575
    • unknown's avatar
      3ad53f43
  22. 28 Nov, 2005 1 commit
    • unknown's avatar
      WL#2486 - Natural/using join according to SQL:2003. · 35c5237c
      unknown authored
      Post-review fixes according to Monty's review.
      
      
      sql/item.h:
        Unite all code that stores and restores the state of a name resolution context
        into a class to represent the state, and methods to save/restore that
        state.
      sql/mysql_priv.h:
        Reorder parameters so that length is after the name of a field,
        and database is before table name.
      sql/sql_acl.cc:
        Reorder parameters so that length is after the name of a field,
        and database is before table name.
      sql/sql_base.cc:
        * Reorder parameters so that length is after the name of a field,
          and database is before table name.
        * Added new method - Field_iterator_table_ref::get_natural_column_ref
          to avoid unnecessary code when it is knwon that no new columns will
          be created when accessing natural join columns.
      sql/sql_insert.cc:
        Unite all code that stores and restores the state of a name resolution context
        into a class to represent the state, and methods to save/restore that
        state.
      sql/sql_lex.cc:
        Removed obsolete comment.
      sql/sql_lex.h:
        Return error from push_contex() if there is no memory.
      sql/sql_list.h:
        Extended base_list_iterator, List_iterator, and List_iterator_fast with an
        empty constructor, and init() methods, so that one doesn't have to construct
        a new iterator object every time one needs to iterate over a new list.
      sql/sql_parse.cc:
        Moved common functionality from the parser into one function, and renamed
        the function to better reflect what it does.
      sql/sql_yacc.yy:
        Moved common functionality from the parser into one function, and renamed
        the function to better reflect what it does.
      sql/table.cc:
        * Extended base_list_iterator, List_iterator, and List_iterator_fast with an
          empty constructor, and init() methods, so that one doesn't have to construct
          a new iterator object every time one needs to iterate over a new list.
        * Added new method Field_iterator_table_ref::get_natural_column_ref to be
          used in cases when it is known for sure that no new columns should be
          created.
      sql/table.h:
        - column_ref_it no longer allocated for each new list of columns
        - new method get_natural_join_column for faster/simpler access
          to natural join columns.
      35c5237c
  23. 25 Nov, 2005 1 commit
    • unknown's avatar
      A fix and a test case for Bug#14410 "Crash in Enum or Set type in · fe1f7430
      unknown authored
      CREATE TABLE and PS/SP": make sure that 'typelib' object for
      ENUM values and 'Item_string' object for DEFAULT clause are 
      created in the statement memory root.
      
      
      mysql-test/r/ps.result:
        Test results has been fixed (Bug#14410)
      mysql-test/t/ps.test:
        A test case for Bug#14410 "Crash in Enum or Set type in CREATE 
        TABLE and PS/SP"
      sql/mysql_priv.h:
        typelib() function declaration has been changed.
      sql/sql_table.cc:
        Supply the statement memory root to use in typelib() and
        safe_charset_converter() functions to ensure that objects 
        created during the first execution of CREATE TABLE statement
        are allocated in persistent memory of the statement.
      sql/table.cc:
        Change typelib() function to require MEM_ROOT.
      fe1f7430
  24. 24 Nov, 2005 1 commit
    • unknown's avatar
      Don't use PATH_MAX for FN_REFLEN as this uses too much stack space · 6eed9d51
      unknown authored
      Larger stack size neaded for open table on x86 64 bit
      Fix failing test cases
      Deleted symlink from bk
      
      
      BitKeeper/etc/ignore:
        added libmysqld/ha_blackhole.cc
      BitKeeper/deleted/.del-ha_blackhole.cc~727c69ef7846623a:
        Delete: libmysqld/ha_blackhole.cc
      include/my_global.h:
        Don't use PATH_MAX for FN_REFLEN as this uses too much stack space.
        (With a PATH_MAX of 4096, we use 80K for opening a table as there is several objects of size FN_REFLEN on stack)
      mysql-test/r/federated.result:
        Update results after error message changes
      mysql-test/r/grant.result:
        Update results after error message changes
      mysql-test/r/grant2.result:
        Update results after error message changes
      sql/ha_federated.cc:
        Fix error messages to be more consistent
      sql/mysql_priv.h:
        Stack size to have when opening a table
        (This was needed on x86 64 bit Linux)
      sql/share/errmsg.txt:
        Remove quotes around error string for federated as two quotes in the output looks strange
      sql/sql_base.cc:
        More correct stack size
      sql/sql_parse.cc:
        Set thread_stack before store_globals()
      sql/unireg.h:
        More correct MAX_DBKEY_LENGTH
      6eed9d51
  25. 23 Nov, 2005 1 commit
    • unknown's avatar
      Table definition cache, part 2 · 9fb36b2d
      unknown authored
      The table opening process now works the following way:
      - Create common TABLE_SHARE object
      - Read the .frm file and unpack it into the TABLE_SHARE object
      - Create a TABLE object based on the information in the TABLE_SHARE
        object and open a handler to the table object
      
      Other noteworthy changes:
      - In TABLE_SHARE the most common strings are now LEX_STRING's
      - Better error message when table is not found
      - Variable table_cache is now renamed 'table_open_cache'
      - New variable 'table_definition_cache' that is the number of table defintions that will be cached
      - strxnmov() calls are now fixed to avoid overflows
      - strxnmov() will now always add one end \0 to result
      - engine objects are now created with a TABLE_SHARE object instead of a TABLE object.
      - After creating a field object one must call field->init(table) before using it
      
      - For a busy system this change will give you:
       - Less memory usage for table object
       - Faster opening of tables (if it's has been in use or is in table definition cache)
       - Allow you to cache many table definitions objects
       - Faster drop of table
      
      
      mysql-test/mysql-test-run.sh:
        Fixed some problems with --gdb option
        Test both with socket and tcp/ip port that all old servers are killed
      mysql-test/r/flush_table.result:
        More tests with lock table with 2 threads + flush table
      mysql-test/r/information_schema.result:
        Removed old (now wrong) result
      mysql-test/r/innodb.result:
        Better error messages (thanks to TDC patch)
      mysql-test/r/merge.result:
        Extra flush table test
      mysql-test/r/ndb_bitfield.result:
        Better error messages (thanks to TDC patch)
      mysql-test/r/ndb_partition_error.result:
        Better error messages (thanks to TDC patch)
      mysql-test/r/query_cache.result:
        Remove tables left from old tests
      mysql-test/r/temp_table.result:
        Test truncate with temporary tables
      mysql-test/r/variables.result:
        Table_cache -> Table_open_cache
      mysql-test/t/flush_table.test:
        More tests with lock table with 2 threads + flush table
      mysql-test/t/merge.test:
        Extra flush table test
      mysql-test/t/multi_update.test:
        Added 'sleep' to make test predictable
      mysql-test/t/query_cache.test:
        Remove tables left from old tests
      mysql-test/t/temp_table.test:
        Test truncate with temporary tables
      mysql-test/t/variables.test:
        Table_cache -> Table_open_cache
      mysql-test/valgrind.supp:
        Remove warning that may happens becasue threads dies in different order
      mysys/hash.c:
        Fixed wrong DBUG_PRINT
      mysys/mf_dirname.c:
        More DBUG
      mysys/mf_pack.c:
        Better comment
      mysys/mf_tempdir.c:
        More DBUG
        Ensure that we call cleanup_dirname() on all temporary directory paths.
        
        If we don't do this, we will get a failure when comparing temporary table
        names as in some cases the temporary table name is run through convert_dirname())
      mysys/my_alloc.c:
        Indentation fix
      sql/examples/ha_example.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/examples/ha_example.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/examples/ha_tina.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/examples/ha_tina.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/field.cc:
        Update for table definition cache:
        - Field creation now takes TABLE_SHARE instead of TABLE as argument
          (This is becasue field definitions are now cached in TABLE_SHARE)
          When a field is created, one now must call field->init(TABLE) before using it
        - Use s->db instead of s->table_cache_key
        - Added Field::clone() to create a field in TABLE from a field in TABLE_SHARE
        - make_field() takes TABLE_SHARE as argument instead of TABLE
        - move_field() -> move_field_offset()
      sql/field.h:
        Update for table definition cache:
        - Field creation now takes TABLE_SHARE instead of TABLE as argument
          (This is becasue field definitions are now cached in TABLE_SHARE)
          When a field is created, one now must call field->init(TABLE) before using it
        - Added Field::clone() to create a field in TABLE from a field in TABLE_SHARE
        - make_field() takes TABLE_SHARE as argument instead of TABLE
        - move_field() -> move_field_offset()
      sql/ha_archive.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_archive.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_berkeley.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Changed name of argument create() to not hide internal 'table' variable.
        table->s  -> table_share
      sql/ha_berkeley.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_blackhole.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_blackhole.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_federated.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Fixed comments
        Remove index variable and replace with pointers (simple optimization)
        move_field() -> move_field_offset()
        Removed some strlen() calls
      sql/ha_federated.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_heap.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Simplify delete_table() and create() as the given file names are now without extension
      sql/ha_heap.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_innodb.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_innodb.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_myisam.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Remove not needed fn_format()
        Fixed for new table->s structure
      sql/ha_myisam.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_myisammrg.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Don't set 'is_view' for MERGE tables
        Use new interface to find_temporary_table()
      sql/ha_myisammrg.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Added flag HA_NO_COPY_ON_ALTER
      sql/ha_ndbcluster.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Fixed wrong calls to strxnmov()
        Give error HA_ERR_TABLE_DEF_CHANGED if table definition has changed
        drop_table -> intern_drop_table()
        table->s -> table_share
        Move part_info to TABLE
        Fixed comments & DBUG print's
        New arguments to print_error()
      sql/ha_ndbcluster.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
      sql/ha_partition.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        We can't set up or use part_info when creating handler as there is not yet any table object
        New ha_intialise() to work with TDC (Done by Mikael)
      sql/ha_partition.h:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        Got set_part_info() from Mikael
      sql/handler.cc:
        We new use TABLE_SHARE instead of TABLE when creating engine handlers
        ha_delete_table() now also takes database as an argument
        handler::ha_open() now takes TABLE as argument
        ha_open() now calls ha_allocate_read_write_set()
        Simplify ha_allocate_read_write_set()
        Remove ha_deallocate_read_write_set()
        Use table_share (Cached by table definition cache)
      sql/handler.h:
        New table flag: HA_NO_COPY_ON_ALTER (used by merge tables)
        Remove ha_deallocate_read_write_set()
        get_new_handler() now takes TABLE_SHARE as argument
        ha_delete_table() now gets database as argument
      sql/item.cc:
        table_name and db are now LEX_STRING objects
        When creating fields, we have now have to call field->init(table)
        move_field -> move_field_offset()
      sql/item.h:
        tmp_table_field_from_field_type() now takes an extra paramenter 'fixed_length' to allow one to force usage of CHAR
         instead of BLOB
      sql/item_cmpfunc.cc:
        Fixed call to tmp_table_field_from_field_type()
      sql/item_create.cc:
        Assert if new not handled cast type
      sql/item_func.cc:
        When creating fields, we have now have to call field->init(table)
        dummy_table used by 'sp' now needs a TABLE_SHARE object
      sql/item_subselect.cc:
        Trivial code cleanups
      sql/item_sum.cc:
        When creating fields, we have now have to call field->init(table)
      sql/item_timefunc.cc:
        Item_func_str_to_date::tmp_table_field() now replaced by call to
         tmp_table_field_from_field_type() (see item_timefunc.h)
      sql/item_timefunc.h:
        Simply tmp_table_field()
      sql/item_uniq.cc:
        When creating fields, we have now have to call field->init(table)
      sql/key.cc:
        Added 'KEY' argument to 'find_ref_key' to simplify code
      sql/lock.cc:
        More debugging
        Use create_table_def_key() to create key for table cache
        Allocate TABLE_SHARE properly when creating name lock
        Fix that locked_table_name doesn't test same table twice
      sql/mysql_priv.h:
        New functions for table definition cache
        New interfaces to a lot of functions.
        New faster interface to find_temporary_table() and close_temporary_table()
      sql/mysqld.cc:
        Added support for table definition cache of size 'table_def_size'
        Fixed som calls to strnmov()
        Changed name of 'table_cache' to 'table_open_cache'
      sql/opt_range.cc:
        Use new interfaces
        Fixed warnings from valgrind
      sql/parse_file.cc:
        Safer calls to strxnmov()
        Fixed typo
      sql/set_var.cc:
        Added variable 'table_definition_cache'
        Variable table_cache renamed to 'table_open_cache'
      sql/slave.cc:
        Use new interface
      sql/sp.cc:
        Proper use of TABLE_SHARE
      sql/sp_head.cc:
        Remove compiler warnings
        We have now to call field->init(table)
      sql/sp_head.h:
        Pointers to parsed strings are now const
      sql/sql_acl.cc:
        table_name is now a LEX_STRING
      sql/sql_base.cc:
        Main implementation of table definition cache
        (The #ifdef's are there for the future when table definition cache will replace open table cache)
        Now table definitions are cached indepndent of open tables, which will speed up things when a table is in use at once from several places
        Views are not yet cached; For the moment we only cache if a table is a view or not.
        
        Faster implementation of find_temorary_table()
        Replace 'wait_for_refresh()' with the more general function 'wait_for_condition()'
        Drop table is slightly faster as we can use the table definition cache to know the type of the table
      sql/sql_cache.cc:
        table_cache_key and table_name are now LEX_STRING
        'sDBUG print fixes
      sql/sql_class.cc:
        table_cache_key is now a LEX_STRING
        safer strxnmov()
      sql/sql_class.h:
        Added number of open table shares (table definitions)
      sql/sql_db.cc:
        safer strxnmov()
      sql/sql_delete.cc:
        Use new interface to find_temporary_table()
      sql/sql_derived.cc:
        table_name is now a LEX_STRING
      sql/sql_handler.cc:
        TABLE_SHARE->db and TABLE_SHARE->table_name are now LEX_STRING's
      sql/sql_insert.cc:
        TABLE_SHARE->db and TABLE_SHARE->table_name are now LEX_STRING's
      sql/sql_lex.cc:
        Make parsed string a const (to quickly find out if anything is trying to change the query string)
      sql/sql_lex.h:
        Make parsed string a const (to quickly find out if anything is trying to change the query string)
      sql/sql_load.cc:
        Safer strxnmov()
      sql/sql_parse.cc:
        Better error if wrong DB name
      sql/sql_partition.cc:
        part_info moved to TABLE from TABLE_SHARE
        Indentation changes
      sql/sql_select.cc:
        Indentation fixes
        Call field->init(TABLE) for new created fields
        Update create_tmp_table() to use TABLE_SHARE properly
      sql/sql_select.h:
        Call field->init(TABLE) for new created fields
      sql/sql_show.cc:
        table_name is now a LEX_STRING
        part_info moved to TABLE
      sql/sql_table.cc:
        Use table definition cache to speed up delete of tables
        Fixed calls to functions with new interfaces
        Don't use 'share_not_to_be_used'
        Instead of doing openfrm() when doing repair, we now have to call
        get_table_share() followed by open_table_from_share().
        Replace some fn_format() with faster unpack_filename().
        Safer strxnmov()
        part_info is now in TABLE
        Added Mikaels patch for partition and ALTER TABLE
        Instead of using 'TABLE_SHARE->is_view' use 'table_flags() & HA_NO_COPY_ON_ALTER
      sql/sql_test.cc:
        table_name and table_cache_key are now LEX_STRING's
      sql/sql_trigger.cc:
        TABLE_SHARE->db and TABLE_SHARE->table_name are now LEX_STRING's
        safer strxnmov()
        Removed compiler warnings
      sql/sql_update.cc:
        Call field->init(TABLE) after field is created
      sql/sql_view.cc:
        safer strxnmov()
        Create common TABLE_SHARE object for views to allow us to cache if table is a view
      sql/structs.h:
        Added SHOW_TABLE_DEFINITIONS
      sql/table.cc:
        Creation and destruct of TABLE_SHARE objects that are common for many TABLE objects
        
        The table opening process now works the following way:
        - Create common TABLE_SHARE object
        - Read the .frm file and unpack it into the TABLE_SHARE object
        - Create a TABLE object based on the information in the TABLE_SHARE
          object and open a handler to the table object
        
        open_table_def() is written in such a way that it should be trival to add parsing of the .frm files in new formats
      sql/table.h:
        TABLE objects for the same database table now share a common TABLE_SHARE object
        In TABLE_SHARE the most common strings are now LEX_STRING's
      sql/unireg.cc:
        Changed arguments to rea_create_table() to have same order as other functions
        Call field->init(table) for new created fields
      sql/unireg.h:
        Added OPEN_VIEW
      strings/strxnmov.c:
        Change strxnmov() to always add end \0
        This makes usage of strxnmov() safer as most of MySQL code assumes that strxnmov() will create a null terminated string
      9fb36b2d
  26. 15 Nov, 2005 1 commit
    • unknown's avatar
      Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash · 2f4c2b63
      unknown authored
      Version for 5.0.
      It fixes three problems:
      1. The cause of the bug was that we did not check the table version for
       the HANDLER ... READ commands. We did not notice when a table was
       replaced by a new one. This can happen during ALTER TABLE, REPAIR
       TABLE, and OPTIMIZE TABLE (there might be more cases). I call the fix
       for this problem "the primary bug fix".
      2. mysql_ha_flush() was not always called with a locked LOCK_open.
       Though the function comment clearly said it must.
       I changed the code so that the locking is done when required. I call
       the fix for this problem "the secondary fix".
      3. In 5.0 (not in 4.1 or 4.0) DROP TABLE had a possible deadlock flaw in
       concur with FLUSH TABLES WITH READ LOCK. I call the fix for this
       problem "the 5.0 addendum fix".
      
      
      include/my_pthread.h:
        Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
        Added a new macro for the 5.0 addendum fix.
      mysql-test/r/handler.result:
        Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
        The test result.
      mysql-test/t/handler.test:
        Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
        The test case.
      sql/lock.cc:
        Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
        Changed a comment which did confuse me and which is not fully
        correct anymore after the 5.0 addendum fix.
        Added an assertion which would fire without the 5.0 addendum fix.
      sql/mysql_priv.h:
        Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
        Changed a definition for the secondary fix.
      sql/sql_base.cc:
        Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
        Changed function calls for the secondary fix.
      sql/sql_class.cc:
        Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
        Changed a function call for the secondary fix.
      sql/sql_handler.cc:
        Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
        The first two diffs make the primary bug fix.
        The rest is for the secondary fix.
      sql/sql_table.cc:
        Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
        The first diff (four changed places) make the 5.0 addendum fix.
        The other three are changed function calls for the secondary fix.
      2f4c2b63
  27. 10 Nov, 2005 3 commits
    • unknown's avatar
      WL#2818 (Add creator to the trigger definition for privilege · 9da2ba78
      unknown authored
      checks on trigger activation)
      
      
      mysql-test/r/information_schema.result:
        Update result file: a new column DEFINER has been added to
        INFORMATION_SCHEMA.TRIGGERS.
      mysql-test/r/mysqldump.result:
        Update result file: a new column DEFINER has been added to
        INFORMATION_SCHEMA.TRIGGERS.
      mysql-test/r/rpl_ddl.result:
        Update result file: a new column DEFINER has been added to
        INFORMATION_SCHEMA.TRIGGERS.
      mysql-test/r/rpl_sp.result:
        Update result file: a new clause DEFINER has been added to
        CREATE TRIGGER statement.
      mysql-test/r/rpl_trigger.result:
        Results for new test cases were added.
      mysql-test/r/skip_grants.result:
        Error message has been changed.
      mysql-test/r/trigger.result:
        Added DEFINER column.
      mysql-test/r/view.result:
        Error messages have been changed.
      mysql-test/r/view_grant.result:
        Error messages have been changed.
      mysql-test/t/mysqldump.test:
        Drop created procedure to not affect further tests.
      mysql-test/t/rpl_trigger.test:
        Add tests for new column in information schema.
      mysql-test/t/skip_grants.test:
        Error tag has been renamed.
      mysql-test/t/view.test:
        Error tag has been renamed.
      mysql-test/t/view_grant.test:
        Error tag has been changed.
      sql/item_func.cc:
        Fix typo in comments.
      sql/mysql_priv.h:
        A try to minimize copy&paste:
          - introduce operations to be used from sql_yacc.yy;
          - introduce an operation to be used from trigger and
            view processing code.
      sql/share/errmsg.txt:
        - Rename ER_NO_VIEW_USER to ER_MALFORMED_DEFINER in order to
          be shared for view and trigger implementations;
        - Fix a typo;
        - Add a new error code for trigger warning.
      sql/sp.cc:
        set_info() was split into set_info() and set_definer().
      sql/sp_head.cc:
        set_info() was split into set_info() and set_definer().
      sql/sp_head.h:
        set_info() was split into set_info() and set_definer().
      sql/sql_acl.cc:
        Add a new check: exit from the cycle if the table is NULL.
      sql/sql_lex.h:
        - Rename create_view_definer to definer, since it is used for views
          and triggers;
        - Change st_lex_user to LEX_USER, since st_lex_user is a structure.
          So, formally, it should be "struct st_lex_user", which is longer
          than just LEX_USER;
        - Add trigger_definition_begin.
      sql/sql_parse.cc:
        - Add a new check: exit from the cycle if the table is NULL;
        - Implement definer-related functions.
      sql/sql_show.cc:
        Add DEFINER column.
      sql/sql_trigger.cc:
        Add DEFINER support for triggers.
      sql/sql_trigger.h:
        Add DEFINER support for triggers.
      sql/sql_view.cc:
        Rename create_view_definer to definer.
      sql/sql_yacc.yy:
        Add support for DEFINER-clause in CREATE TRIGGER statement.
        
        Since CREATE TRIGGER and CREATE VIEW can be similar at the start,
        yacc is unable to distinguish between them. So, had to modify both
        statements in order to make it parsable by yacc.
      mysql-test/r/trigger-compat.result:
        Result file for triggers backward compatibility test.
      mysql-test/r/trigger-grant.result:
        Result file of the test for WL#2818.
      mysql-test/t/trigger-compat.test:
        Triggers backward compatibility test: check that the server
        still can load triggers w/o definer attribute and modify
        tables with such triggers (add a new trigger, etc).
      mysql-test/t/trigger-grant.test:
        Test for WL#2818 -- check that DEFINER support in triggers
        works properly
      9da2ba78
    • unknown's avatar
      Added "SHOW AUTHORS" code · 1218ff33
      unknown authored
      mysql-test/r/show_check.result:
        Update to results
      mysql-test/t/show_check.test:
        Added SHOW AUTHORS test
      sql/field.h:
        Fixed portability issue
      sql/lex.h:
        Added new keyword "AUTHORS"
      sql/mysql_priv.h:
        Added reference to new show command.
      sql/sql_cache.h:
        Fixed compile bug (more of these need to be fixed)
      sql/sql_lex.h:
        Added to com bit.
      sql/sql_parse.cc:
        Parsing for show authors
      sql/sql_show.cc:
        Added new show command for "SHOW AUTHORS"
      sql/sql_yacc.yy:
        Added new parse code for show authors.
      1218ff33
    • unknown's avatar
      WL#2971 "change log-bin-trust-routine-creators=0 to apply only to functions". · 20285580
      unknown authored
      Indeed now that stored procedures CALL is not binlogged, but instead the invoked substatements are,
      the restrictions applied by log-bin-trust-routine-creators=0 are superfluous for procedures.
      They still need to apply to functions where function calls are written to the binlog (for example as "DO myfunc(3)").
      We rename the variable to log-bin-trust-function-creators but allow the old name until some future version (and issue a warning if old name is used).
      
      
      mysql-test/mysql-test-run.pl:
        update to new option name
      mysql-test/mysql-test-run.sh:
        update to new option name
      mysql-test/mysql_test_run_new.c:
        update to new option name
      mysql-test/r/rpl_sp.result:
        result update
      mysql-test/t/rpl_sp-slave.opt:
        we need to skip this error to not hit BUG#14769
      mysql-test/t/rpl_sp.test:
        Test update:
        1) as log-bin-trust-routine-creators now affects only functions, the testing of this option, which was
        mainly done on procedures, is moved to functions
        2) cleanup is simplified; and instead of many SHOW BINLOG EVENTS we do a big one in the end, which is more
        maintainable.
        3) we test a few more function and procedures cases to see how they replicate.
        4) removing out-of-date comments
      sql/item_func.cc:
        This warning is wrong since binlogging of functions was changed in August. If a function fails
        in the middle, it will be binlogged with its error code (i.e. properly).
      sql/mysql_priv.h:
        variable name changed
      sql/mysqld.cc:
        option name changes. A precision about --read-only.
      sql/set_var.cc:
        a new class sys_var_trust_routine_creators to be able to issue a "this is a deprecated variable" warning if used.
      sql/set_var.h:
        new class to be able to issue a "this is a deprecated variable" warning if used.
      sql/share/errmsg.txt:
        routine -> function
      sql/sp.cc:
        log-bin-trust-routine-creators now applies only to functions.
      sql/sql_parse.cc:
        1) sending ER_FAILED_ROUTINE_BREAK_BINLOG is wrong since August as we don't binlog CALL anymore but instead binlog the substatements;
        the clear_error() goes away too as it was necessary only when we created a binlog event from the "CALL" statement.
        2) log-bin-trust-routine-creators now applies only to functions.
      sql/sql_trigger.cc:
        comments.
      20285580
  28. 07 Nov, 2005 1 commit
    • unknown's avatar
      Make storage engines "pluggable", handlerton work · e7aebf4f
      unknown authored
      Makefile.am:
        Changes to autoconf subst
      config/ac-macros/ha_berkeley.m4:
        simplify
      config/ac-macros/ha_ndbcluster.m4:
        simplify
      config/ac-macros/ha_partition.m4:
        simplify
      configure.in:
        strip configure of storage engine specific cruft and simplify
      extra/Makefile.am:
        changes to autoconf/automake subst
      libmysqld/Makefile.am:
        only compile storage engines if required.
        make find object file a little smarter
      libmysqld/examples/Makefile.am:
        changes to autoconf subst
      mysql-test/Makefile.am:
        remove storage engine specific cruft
      mysql-test/r/ps_1general.result:
        cannot gaurantee order of results from 'show storage engines'
      mysql-test/r/show_check.result:
        fix test - frm file fails to be deleted if it is invalid
      mysql-test/r/sql_mode.result:
        isam does not exist, test may need to be redone/fixed in 5.0
      mysql-test/r/warnings.result:
        isam no longer exists
      mysql-test/t/ps_1general.test:
        cannot gaurantee order of results from 'show storage engines'
      mysql-test/t/show_check.test:
        fix test - frm file fails to be deleted if it is invalid
      mysql-test/t/sql_mode.test:
        isam does not exist, test may need to be redone/fixed in 5.0
      mysql-test/t/system_mysql_db_fix.test:
        change isam to myisam
      mysql-test/t/view.test:
        change isam to myisam
      mysql-test/t/warnings.test:
        isam no longer exists
      sql/Makefile.am:
        Make storage engines "pluggable" stage 1
        only compile storage engines if included
      sql/examples/ha_example.cc:
        handlerton work
      sql/examples/ha_example.h:
        handlerton work
      sql/examples/ha_tina.cc:
        handlerton work
      sql/examples/ha_tina.h:
        handlerton work
      sql/ha_archive.cc:
        handlerton work
      sql/ha_archive.h:
        handlerton work
      sql/ha_berkeley.cc:
        handlerton work
      sql/ha_berkeley.h:
        handlerton work
      sql/ha_blackhole.cc:
        handlerton work
      sql/ha_federated.cc:
        handlerton work
      sql/ha_federated.h:
        handlerton work
      sql/ha_heap.cc:
        handlerton work
      sql/ha_innodb.cc:
        handlerton work
      sql/ha_innodb.h:
        handlerton work
      sql/ha_myisam.cc:
        handlerton work
      sql/ha_myisammrg.cc:
        handlerton work
      sql/ha_ndbcluster.cc:
        handlerton work
      sql/ha_ndbcluster.h:
        handlerton work
      sql/ha_partition.cc:
        handlerton work
      sql/handler.cc:
        start removing storage engine specific cruft
      sql/handler.h:
        start removing storage engine specific cruft
        db_type for binlog handlerton
        handlerton flag for not-user-selectable storage engines
      sql/lex.h:
        start removing storage engine specific cruft
      sql/log.cc:
        handlerton work
        give binlog handlerton a 'real' db_type
      sql/mysql_priv.h:
        start removing storage engine specific cruft
      sql/mysqld.cc:
        start removing storage engine specific cruft
      sql/set_var.cc:
        start removing storage engine specific cruft
      sql/sp_head.cc:
        start removing storage engine specific cruft
      sql/sql_class.cc:
        start removing storage engine specific cruft
      sql/sql_class.h:
        start removing storage engine specific cruft
      sql/sql_lex.h:
        start removing storage engine specific cruft
      sql/sql_manager.cc:
        start removing storage engine specific cruft
      sql/sql_manager.h:
        start removing storage engine specific cruft
      sql/sql_parse.cc:
        start removing storage engine specific cruft
      sql/sql_partition.cc:
        start removing storage engine specific cruft
      sql/sql_prepare.cc:
        start removing storage engine specific cruft
      sql/sql_show.cc:
        start removing storage engine specific cruft
      sql/sql_table.cc:
        changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
        start removing storage engine specific cruft
      sql/sql_update.cc:
        changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
      sql/sql_yacc.yy:
        start removing storage engine specific cruft
        test if we should throw error
      sql/table.cc:
        changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
      sql/table.h:
        changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
      sql/unireg.cc:
        changed define from HAVE_PARTITION_DB to WITH_PARTITION_STORAGE_ENGINE
      storage/ndb/include/kernel/kernel_types.h:
        added my_config.h
      storage/ndb/include/ndb_global.h.in:
        added my_config.h
      storage/ndb/include/ndb_types.h.in:
        added my_config.h
      config/ac-macros/storage.m4:
        New BitKeeper file ``config/ac-macros/storage.m4''
      sql/handlerton.cc.in:
        New BitKeeper file ``sql/handlerton.cc.in''
      e7aebf4f