An error occurred fetching the project authors.
  1. 24 Mar, 2006 1 commit
  2. 20 Mar, 2006 1 commit
  3. 18 Mar, 2006 1 commit
    • unknown's avatar
      bug 17290 and bug 14350 · 6a421c56
      unknown authored
      added THD::work_part_info member where we now store modified
      partition_info structure.
      It allows no solve problem when different parts of the part_info get
      into different mem_roots
      
      
      sql/partition_info.cc:
        get_clone implementation
      sql/partition_info.h:
        get_clone() declared
      sql/sql_class.h:
        THD::work_part_info added
      sql/sql_partition.cc:
        thd->work_part_info instead of lex->part_info
      sql/sql_table.cc:
        thd->work_part_info instad of lex->part_info
      sql/unireg.cc:
        thd->work_part_info instad of lex->part_info
      6a421c56
  4. 13 Mar, 2006 1 commit
    • unknown's avatar
      Misc. portability compile fixes. · 357007b3
      unknown authored
      sql/log_event.cc:
        Fix Windows compile errors.
      storage/innobase/btr/btr0sea.c:
        Fix AIX compile error (declarations must come before code in traditional C).
      sql/sql_class.h:
        Fix HPUX compile problem (HP compiler bug).
        Local class of member in derived class has no access to protected members,
        so make the class global and a friend.
      sql/sql_insert.cc:
        Fix HPUX compile problem (HP compiler bug).
        Local class of member in derived class has no access to protected members,
        so make the class global and a friend.
      357007b3
  5. 10 Mar, 2006 1 commit
    • unknown's avatar
      BUG#15101 SYSDATE() disregards SET TIMESTAMP. · 8f543b5e
      unknown authored
         After the ChangeSet 1.1892.20.1 2005/08/24 (Bug #12562) SYSDATE() is not an alias
         of NOW() and is unsafe for replication.
         `SYSDATE()' backward compatible aliasing clashes with the idea #12562 
         fix. To make it safe-replicatable we have to either use RBR or to restore
         the pre-5.0 style.
         --sysdate-is-now command line flag was introduced to provide backward compatibility.
      
      
      sql/mysqld.cc:
        New option to force SYSDATE's backward compatible with 4.1 aliasing to NOW (not default)
      sql/sql_class.h:
        new slot to fill at init time and check at parse
      sql/sql_yacc.yy:
        calling NOW's branches when --sysdate-is-now
      mysql-test/r/sysdate_is_now.result:
        New BitKeeper file ``mysql-test/r/sysdate_is_now.result''
      mysql-test/t/sysdate_is_now-master.opt:
        New BitKeeper file ``mysql-test/t/sysdate_is_now-master.opt''
      mysql-test/t/sysdate_is_now.test:
        New BitKeeper file ``mysql-test/t/sysdate_is_now.test''
      8f543b5e
  6. 08 Mar, 2006 1 commit
    • unknown's avatar
      WL#3171: Dynamic logging format · 1b4516d1
      unknown authored
        Removed error on seeing table map event when slave is in SBR mode
        and switching temporarily to RBR mode to replicate the rows.
      
      
      sql/log_event.cc:
        Settig binlog format to "row" on seeing a table map event.
        Resetting binlog format on error and seeing STMT_END_F.
      sql/sql_class.h:
        Adding method to unconditially set binlog format to "row".
      mysql-test/r/rpl_rbr_to_sbr.result:
        New BitKeeper file ``mysql-test/r/rpl_rbr_to_sbr.result''
      mysql-test/t/rpl_rbr_to_sbr.test:
        New BitKeeper file ``mysql-test/t/rpl_rbr_to_sbr.test''
      1b4516d1
  7. 25 Feb, 2006 2 commits
    • unknown's avatar
      WL#2977 and WL#2712 global and session-level variable to set the binlog format (row/statement), · 7cac0ddf
      unknown authored
      and new binlog format called "mixed" (which is statement-based except if only row-based is correct,
      in this cset it means if UDF or UUID is used; more cases could be added in later 5.1 release):
      SET GLOBAL|SESSION BINLOG_FORMAT=row|statement|mixed|default;
      the global default is statement unless cluster is enabled (then it's row) as in 5.1-alpha.
      It's not possible to use SET on this variable if a session is currently in row-based mode and has open temporary tables (because CREATE
      TEMPORARY TABLE was not binlogged so temp table is not known on slave),  or if NDB is enabled (because
      NDB does not support such change on-the-fly, though it will later), of if in a stored function (see below).
      The added tests test the possibility or impossibility to SET, their effects, and the mixed mode,
      including in prepared statements and in stored procedures and functions.
      Caveats:
      a) The mixed mode will not work for stored functions: in mixed mode, a stored function will
      always be binlogged as one call and in a statement-based way (e.g. INSERT VALUES(myfunc()) or SELECT myfunc()).
      b) for the same reason, changing the thread's binlog format inside a stored function is
      refused with an error message.
      c) the same problems apply to triggers; implementing b) for triggers will be done later (will ask
      Dmitri).
      Additionally, as the binlog format is now changeable by each user for his session, I remove the implication
      which was done at startup, where row-based automatically set log-bin-trust-routine-creators to 1
      (not possible anymore as a user can now switch to stmt-based and do nasty things again), and automatically
      set --innodb-locks-unsafe-for-binlog to 1 (was anyway theoretically incorrect as it disabled
      phantom protection).
      Plus fixes for compiler warnings.
      
      
      mysql-test/r/rpl_row_4_bytes.result:
        update
      mysql-test/t/rpl_row_4_bytes.test:
        don't influence next tests
      sql/ha_archive.cc:
        please pay attention to this structure when you change it...
      sql/ha_berkeley.cc:
        please pay attention to this structure when you change it...
      sql/ha_blackhole.cc:
        please pay attention to this structure when you change it...
      sql/ha_federated.cc:
        please pay attention to this structure when you change it...
      sql/ha_heap.cc:
        please pay attention to this structure when you change it...
      sql/ha_innodb.cc:
        please pay attention to this structure when you change it...
      sql/ha_myisam.cc:
        please pay attention to this structure when you change it...
      sql/ha_myisammrg.cc:
        please pay attention to this structure when you change it...
      sql/ha_ndbcluster_binlog.cc:
        no more global 'binlog_row_based'
      sql/ha_partition.cc:
        please pay attention to this structure when you change it...
      sql/handler.cc:
        please pay attention to this structure when you change it...
      sql/handler.h:
        it's good to initialize statically (to get no compiler warning) even if to a null value.
      sql/item_func.cc:
        UDFs require row-based if this is the "mixed" binlog format.
      sql/item_strfunc.cc:
        UUID() requires row-based binlogging if this is the "mixed" binlog format
      sql/log.cc:
        binlog_row_based -> thd->current_stmt_binlog_row_based
      sql/log.h:
        the enum enum_binlog_format moves to log.h from mysqld.cc as we need it in several places.
      sql/log_event.cc:
        binlog_row_based -> thd->current_stmt_binlog_row_based
      sql/log_event.h:
        this global variable not used anymore
      sql/mysql_priv.h:
        these global variables not used anymore
      sql/mysqld.cc:
        simplification in the handling of --binlog-format (but with no user-visible change), thanks to
        the new global system variable.
        RBR does not anymore turn on --log-bin-trust-function-creators and --innodb-locks-unsafe-for-binlog
        as these are global options and RBR is now settable per session.
      sql/partition_info.cc:
        compiler warnings
      sql/set_var.cc:
        new class of thread's variable, to handle the binlog_format (like sys_var_thd_enum except
        that is_readonly() is overriden for more checks before update).
        compiler warnings (ok'd by Serg)
      sql/set_var.h:
        new class for the thread's binlog_format (see set_var.cc)
      sql/share/errmsg.txt:
        some messages for when one can't toggle from one binlog format to another
      sql/sp_head.cc:
        binlog_row_based -> thd->current_stmt_binlog_row_based
      sql/sql_base.cc:
        binlog_row_based -> thd->current_stmt_binlog_row_based
      sql/sql_class.cc:
        When a THD is initialized, we set its current_stmt_binlog_row_based
      sql/sql_class.h:
        new THD::variables.binlog_format (the value of the session variable set by SET
        or inherited from the global value), and THD::current_stmt_binlog_row_based which tells if the
        current statement does row-based or statement-based binlogging. Both members are needed
        as the 2nd one cannot be derived only from the first one (the statement's type plays a role too),
        and the 1st one is needed to reset the 2nd one.
      sql/sql_delete.cc:
        binlog_row_based -> thd->current_stmt_binlog_row_based
      sql/sql_insert.cc:
        binlog_row_based -> thd->current_stmt_binlog_row_based
      sql/sql_load.cc:
        binlog_row_based -> thd->current_stmt_binlog_row_based.
      sql/sql_parse.cc:
        when we are done with a statement, we reset the current_stmt_binlog_row_based to the value
        derived from THD::variables.binlog_format.
      sql/sql_partition.cc:
        compiler warning
      sql/sql_show.cc:
        compiler warning
      sql/sql_table.cc:
        binlog_row_based -> thd->current_stmt_binlog_row_based
      tests/mysql_client_test.c:
        compiler warning
      mysql-test/r/ndb_binlog_basic2.result:
        new result
      mysql-test/r/rpl_switch_stm_row_mixed.result:
        new result
      mysql-test/t/ndb_binlog_basic2.test:
        new test to verify that if cluster is enabled, can't change binlog format on the fly.
      mysql-test/t/rpl_switch_stm_row_mixed.test:
        test to see if one can switch between SBR, RBR, and "mixed" mode, and when one cannot,
        and test to see if the switching, and the mixed mode, work properly (using UUID() to test,
        as using UDFs is not possible in the testsuite for portability reasons).
      7cac0ddf
    • unknown's avatar
      Fixed compiler warnings from gcc 4.0.2: · f5f01b15
      unknown authored
      - Added empty constructors and virtual destructors to many classes and structs
      - Removed some usage of the offsetof() macro to instead use C++ class pointers
      
      
      configure.in:
        Added comment
      ndb/include/ndbapi/NdbDictionary.hpp:
        Fixed compiler warnings from gcc 4.0.2
      sql/field.cc:
        Fixed compiler warnings from gcc 4.0.2
      sql/handler.h:
        Fixed compiler warnings from gcc 4.0.2
      sql/item.h:
        Fixed compiler warnings from gcc 4.0.2
      sql/item_cmpfunc.h:
        Fixed compiler warnings from gcc 4.0.2
      sql/log_event.h:
        Fixed compiler warnings from gcc 4.0.2
      sql/mysql_priv.h:
        Fixed compiler warnings from gcc 4.0.2
        For find_table_in_list I fixed it to use proper C++ class pointers instead of C style pointers
      sql/opt_range.cc:
        Fixed compiler warnings from gcc 4.0.2
      sql/parse_file.h:
        Fixed compiler warnings from gcc 4.0.2
      sql/sp_rcontext.h:
        Fixed compiler warnings from gcc 4.0.2
      sql/spatial.h:
        Fixed compiler warnings from gcc 4.0.2
      sql/sql_base.cc:
        Fixed compiler warnings from gcc 4.0.2
      sql/sql_cache.h:
        Fixed compiler warnings from gcc 4.0.2
      sql/sql_class.h:
        Fixed compiler warnings from gcc 4.0.2
      sql/sql_parse.cc:
        Fixed compiler warnings from gcc 4.0.2
        (Not pretty, but seams to work...)
      sql/sql_select.h:
        Fixed compiler warnings from gcc 4.0.2
      sql/sql_update.cc:
        Fixed compiler warnings from gcc 4.0.2
      sql/table.h:
        Fixed compiler warnings from gcc 4.0.2
      sql/tztime.cc:
        Fixed compiler warnings from gcc 4.0.2
      sql/tztime.h:
        Fixed compiler warnings from gcc 4.0.2
      f5f01b15
  8. 24 Feb, 2006 1 commit
    • unknown's avatar
      Fixes to embedded server to be able to run tests with it · 0afb6ff6
      unknown authored
      (Needed for "list of pushes" web page and autopush)
      
      
      include/mysql.h:
        Fix to embedded server to be able to run tests on it
      libmysql/libmysql.c:
        Fix to embedded server to be able to run tests on it
      libmysqld/emb_qcache.cc:
        Fix to embedded server to be able to run tests on it
      libmysqld/embedded_priv.h:
        Fix to embedded server to be able to run tests on it
      libmysqld/lib_sql.cc:
        Fix to embedded server to be able to run tests on it
      libmysqld/libmysqld.c:
        Fix to embedded server to be able to run tests on it
      mysql-test/mysql-test-run.sh:
        Fix to embedded server to be able to run tests on it
      mysql-test/r/binlog.result:
        Updated test for embedded server
      mysql-test/r/ctype_cp932.result:
        Updated test for embedded server
      mysql-test/r/innodb.result:
        Updated test for embedded server
      mysql-test/r/mysqltest.result:
        Updated test for embedded server
      mysql-test/r/query_cache.result:
        Updated test for embedded server
      mysql-test/r/query_cache_notembedded.result:
        Updated test for embedded server
      mysql-test/r/sp-error.result:
        Updated test for embedded server
      mysql-test/r/sp.result:
        Updated test for embedded server
      mysql-test/r/subselect.result:
        Updated test for embedded server
      mysql-test/r/view.result:
        Updated test for embedded server
      mysql-test/r/view_grant.result:
        Updated test for embedded server
      mysql-test/t/backup.test:
        Updated test for embedded server
      mysql-test/t/binlog.test:
        Updated test for embedded server
      mysql-test/t/blackhole.test:
        Updated test for embedded server
      mysql-test/t/compress.test:
        Updated test for embedded server
      mysql-test/t/ctype_cp932.test:
        Updated test for embedded server
      mysql-test/t/delayed.test:
        Updated test for embedded server
      mysql-test/t/handler.test:
        Updated test for embedded server
      mysql-test/t/innodb.test:
        Updated test for embedded server
      mysql-test/t/mysql.test:
        Updated test for embedded server
      mysql-test/t/mysql_client_test.test:
        Updated test for embedded server
      mysql-test/t/mysqltest.test:
        Updated test for embedded server
      mysql-test/t/query_cache.test:
        Updated test for embedded server
      mysql-test/t/query_cache_notembedded.test:
        Updated test for embedded server
      mysql-test/t/read_only.test:
        Updated test for embedded server
      mysql-test/t/skip_grants.test:
        Updated test for embedded server
      mysql-test/t/sp-destruct.test:
        Updated test for embedded server
      mysql-test/t/sp-error.test:
        Updated test for embedded server
      mysql-test/t/sp-threads.test:
        Updated test for embedded server
      mysql-test/t/sp.test:
        Updated test for embedded server
      mysql-test/t/subselect.test:
        Updated test for embedded server
      mysql-test/t/temp_table.test:
        Updated test for embedded server
      mysql-test/t/view.test:
        Updated test for embedded server
      mysql-test/t/view_grant.test:
        Updated test for embedded server
      mysql-test/t/wait_timeout.test:
        Updated test for embedded server
      mysys/mf_dirname.c:
        Review fix: Don't access data outside of array
      mysys/my_bitmap.c:
        Remove compiler warnings
      scripts/mysql_fix_privilege_tables.sql:
        Add flush privileges to .sql script so that one doesn't have to reboot mysqld when one runs the mysql_fix_privilege_script
      sql-common/client.c:
        Updated test for embedded server
      sql/item.cc:
        Remove DBUG_PRINT statement that can cause crashes when running with --debug
      sql/mysqld.cc:
        Fix to embedded server to be able to run tests on it
      sql/protocol.cc:
        Fix to embedded server to be able to run tests on it
        (Trivial reconstruction of code)
      sql/protocol.h:
        Fix to embedded server to be able to run tests on it
      sql/sql_base.cc:
        Better comment
      sql/sql_class.cc:
        Fix to embedded server to be able to run tests on it
      sql/sql_class.h:
        Fix to embedded server to be able to run tests on it
      sql/sql_cursor.cc:
        Fix to embedded server to be able to run tests on it
      sql/sql_parse.cc:
        Fix to embedded server to be able to run tests on it
        Don't crash for disabled commands when using embedded server
      sql/sql_prepare.cc:
        Fix to embedded server to be able to run tests on it
      mysql-test/r/ctype_cp932_notembedded.result:
        New BitKeeper file ``mysql-test/r/ctype_cp932_notembedded.result''
      mysql-test/r/innodb_notembedded.result:
        New BitKeeper file ``mysql-test/r/innodb_notembedded.result''
      mysql-test/r/sp.result.orig:
        New BitKeeper file ``mysql-test/r/sp.result.orig''
      mysql-test/r/sp_notembedded.result:
        New BitKeeper file ``mysql-test/r/sp_notembedded.result''
      mysql-test/r/subselect_notembedded.result:
        New BitKeeper file ``mysql-test/r/subselect_notembedded.result''
      mysql-test/t/ctype_cp932_notembedded.test:
        New BitKeeper file ``mysql-test/t/ctype_cp932_notembedded.test''
      mysql-test/t/innodb_notembedded.test:
        New BitKeeper file ``mysql-test/t/innodb_notembedded.test''
      mysql-test/t/sp.test.orig:
        New BitKeeper file ``mysql-test/t/sp.test.orig''
      mysql-test/t/sp_notembedded.test:
        New BitKeeper file ``mysql-test/t/sp_notembedded.test''
      mysql-test/t/subselect_notembedded.test:
        New BitKeeper file ``mysql-test/t/subselect_notembedded.test''
      0afb6ff6
  9. 16 Feb, 2006 1 commit
    • unknown's avatar
      WL#3023 (Use locks in a statement-like manner): · 41f7d138
      unknown authored
        Table maps are now written on aquiring locks to tables and released
        at the end of each logical statement.
      
      
      mysql-test/extra/binlog_tests/ctype_cp932.test:
        Disabling cleanup code
      mysql-test/r/binlog_row_blackhole.result:
        Result change
      mysql-test/r/binlog_row_mix_innodb_myisam.result:
        Result change
      mysql-test/r/binlog_stm_ctype_cp932.result:
        Result change
      mysql-test/r/rpl_row_charset.result:
        Result change
      mysql-test/r/rpl_row_create_table.result:
        Result change
      mysql-test/t/rpl_row_create_table.test:
        Binlog position change
      sql/handler.cc:
        Writing table map after external_lock()
      sql/handler.h:
        Adding class for table operation hooks.
      sql/log.cc:
        Adding binlog_write_table_map() to THD.
        Removing write_table_map() from MYSQL_LOG.
      sql/log.h:
        Minor interface changes to move table map writing.
      sql/log_event.cc:
        Removing pre-allocation of memory for buffers.
        Allowing ULONG_MAX as table id denoting an event to ignore (only used to transfer flags).
        Adding code to collect tables while seeing table maps and lock collected tables
        when seeing a binrow event.
        Debriding code as a result of the above changes.
      sql/log_event.h:
        Minor interface changes.
      sql/mysql_priv.h:
        Adding hooks argument to create_table_from_items().
      sql/parse_file.cc:
        Minor fix to avoid crash in debug printout.
      sql/rpl_rli.h:
        Adding list of tables to lock to RLI structure.
      sql/slave.cc:
        Using list of tables to lock from RLI structure.
      sql/sql_acl.cc:
        Removing redundant pending events flush.
      sql/sql_base.cc:
        Moving pending event flush.
        Using flag to guard to clear statement transaction only if this is the original
        open tables state.
      sql/sql_class.cc:
        Adding flag for open tables state.
        Removing redundant pending events flushes.
        Write a dummy event to indicate that the tables to lock should be emptied
        on the slave.
      sql/sql_class.h:
        Adding open tables state flags.
        Adding binlog_write_table_map() function to THD.
        Changes to select_create() to support new locking scheme.
      sql/sql_insert.cc:
        Adding rollback of statement transaction on error. It can now contain
        events after locking tables.
      sql/sql_load.cc:
        Removing redundant pending event flush.
      sql/sql_table.cc:
        Adding hooks argument to create_table_from_items().
        Calling prelock hook before starting to lock tables.
      sql/sql_update.cc:
        Removing a compiler warning.
      sql/table.h:
        Minor changes.
      41f7d138
  10. 14 Feb, 2006 1 commit
    • unknown's avatar
      Many files: · 7ce3b2a3
      unknown authored
        Backporting character_set_filesystem from 5.0 to 5.1.
      
      
      sql/mysqld.cc:
        Backporting character_set_filesystem from 5.0 to 5.1.
      sql/set_var.cc:
        Backporting character_set_filesystem from 5.0 to 5.1.
      sql/set_var.h:
        Backporting character_set_filesystem from 5.0 to 5.1.
      sql/sql_class.cc:
        Backporting character_set_filesystem from 5.0 to 5.1.
      sql/sql_class.h:
        Backporting character_set_filesystem from 5.0 to 5.1.
      sql/sql_yacc.yy:
        Backporting character_set_filesystem from 5.0 to 5.1.
      mysql-test/t/variables.test:
        Backporting character_set_filesystem from 5.0 to 5.1.
      mysql-test/r/variables.result:
        Backporting character_set_filesystem from 5.0 to 5.1.
      7ce3b2a3
  11. 03 Feb, 2006 1 commit
    • unknown's avatar
      WL 2826: Seventh step, more fixes for error injects · 7ea92dcc
      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
      7ea92dcc
  12. 01 Feb, 2006 1 commit
    • unknown's avatar
      WL 2826: First step in error handling of ALTER TABLE for partitioning · 520dffb5
      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
      520dffb5
  13. 19 Jan, 2006 1 commit
    • unknown's avatar
      Fix the tree: plugin-related changes, necessary for · bd7120f9
      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
      bd7120f9
  14. 18 Jan, 2006 1 commit
    • unknown's avatar
      loaddata.result, loaddata.test: · 137ae790
      unknown authored
        Adding test case.
      sql_yacc.yy:
        Adding TEXT_STRING_filesystem, which
        converts from character_set_client to
        character_set_conversion.
        Replacing TEXT_STRING_sys to TEXT_STRING_filesystem
        in LOAD DATA and SELECT INTO OUTFILE contexts.
      sql_class.h, sql_class.cc:
        Adding character_set_filesystem variable,
        and charset_is_character_set_filesystem
        flag (to avoid conversion when it's not necessary).
      set_var.h, set_var.cc:
        Adding sys_var_character_set_filesystem
      mysqld.cc:
        Adding --character-set-filesystem startup option.
      
      
      sql/mysqld.cc:
        Adding --character-set-filesystem startup option.
      sql/set_var.cc:
        Adding sys_var_character_set_filesystem
      sql/set_var.h:
        Adding sys_var_character_set_filesystem
      sql/sql_class.cc:
        Adding character_set_filesystem variable,
        and charset_is_character_set_filesystem
        flag (to avoid conversion when it's not necessary).
      sql/sql_class.h:
        Adding character_set_filesystem variable,
        and charset_is_character_set_filesystem
        flag (to avoid conversion when it's not necessary).
      sql/sql_yacc.yy:
        Adding TEXT_STRING_filesystem, which
        converts from character_set_client to
        character_set_conversion.
        Replacing TEXT_STRING_sys to TEXT_STRING_filesystem
        in LOAD DATA and SELECT INTO OUTFILE contexts.
      mysql-test/t/loaddata.test:
        Adding test case.
      mysql-test/r/loaddata.result:
        Adding test case.
      137ae790
  15. 12 Jan, 2006 1 commit
    • unknown's avatar
      wl2325 wl2324 · 4c798b42
      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''
      4c798b42
  16. 09 Jan, 2006 1 commit
    • unknown's avatar
      Changes to support aCC on HP-UX. · 00ba4659
      unknown authored
      sql/log_event.h:
        Adding enumeration constants since aCC (HP-UX) does not like empty enumerations.
      sql/sql_class.cc:
        Adding template parameter as argument to member template function to support aCC on HP-UX.
      sql/sql_class.h:
        Adding template parameter as argument to member template function to support aCC on HP-UX.
      00ba4659
  17. 04 Jan, 2006 1 commit
    • unknown's avatar
      Big patch to make embedded-server working in 5.x · 6b27acbd
      unknown authored
      Now it supports queries returning several results
      (particularly important with the SP)
      
      
      include/mysql.h:
        embedded_query_result structure added
      libmysql/libmysql.c:
        embedded-server related fixes
      libmysqld/emb_qcache.cc:
        multiple-result support added
      libmysqld/embedded_priv.h:
        embedded_query_result struct implemented
      libmysqld/lib_sql.cc:
        multiple-result support added
      libmysqld/libmysqld.c:
        small fixes
      mysql-test/t/backup.test:
        test fixed
      mysql-test/t/binlog_stm_binlog.test:
        test fixed
      mysql-test/t/binlog_stm_blackhole.test:
        test fixed
      mysql-test/t/binlog_stm_ctype_cp932.test:
        test fixed
      mysql-test/t/compress.test:
        test fixed
      mysql-test/t/delayed.test:
        test fixed
      mysql-test/t/federated.test:
        test fixed
      mysql-test/t/federated_archive.test:
        test fixed
      mysql-test/t/federated_bug_13118.test:
        test fixed
      mysql-test/t/federated_transactions.test:
        test fixed
      mysql-test/t/flush_table.test:
        test fixed
      mysql-test/t/handler.test:
        test fixed
      mysql-test/t/init_connect.test:
        test fixed
      mysql-test/t/innodb.test:
        test fixed
      mysql-test/t/mysql.test:
        test fixed
      mysql-test/t/mysql_client_test.test:
        test fixed
      mysql-test/t/mysqltest.test:
        test fixed
      mysql-test/t/query_cache.test:
        test fixed
      mysql-test/t/query_cache_notembedded.test:
        test fixed
      mysql-test/t/read_only.test:
        test fixed
      mysql-test/t/skip_grants.test:
        test fixed
      mysql-test/t/sp-destruct.test:
        test fixed
      mysql-test/t/sp-error.test:
        test fixed
      mysql-test/t/sp-threads.test:
        test fixed
      mysql-test/t/sp.test:
        test fixed
      mysql-test/t/view.test:
        test fixed
      mysql-test/t/wait_timeout.test:
        test fixed
      sql-common/client.c:
        small fixes
      sql/mysqld.cc:
        embedded-server related fix
      sql/protocol.cc:
        embedded-server related fix
      sql/protocol.h:
        embedded-server related fix
      sql/sql_class.cc:
        embedded-server related fix
      sql/sql_class.h:
        embedded-server related fix
      sql/sql_cursor.cc:
        embedded-server related fix
      sql/sql_parse.cc:
        embedded-server related fix
      sql/sql_prepare.cc:
        embedded-server related fix
      6b27acbd
  18. 22 Dec, 2005 1 commit
    • unknown's avatar
      WL#1012: All changes as one single changeset. · 09346e6e
      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
      09346e6e
  19. 21 Dec, 2005 1 commit
    • unknown's avatar
      Finalize storage engine plugins · 613dd50a
      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''
      613dd50a
  20. 14 Dec, 2005 1 commit
  21. 07 Dec, 2005 1 commit
    • unknown's avatar
      Patch for WL#2894: Make stored routine variables work · 6b2f1309
      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.
      6b2f1309
  22. 01 Dec, 2005 1 commit
    • unknown's avatar
      Fix for bug #14304: auto_increment field incorrect set from within stored... · f853fbc9
      unknown authored
      Fix for bug #14304: auto_increment field incorrect set from within stored procedure (insert select).
      
      
      sql/sp_head.cc:
        Fix for bug #14304: auto_increment field incorrect set from within stored procedure (insert select).
        - call thd->cleanup_after_query() to clean next_insert_id.
      sql/sql_class.cc:
        Fix for bug #14304: auto_increment field incorrect set from within stored procedure (insert select).
        - save/restore clear_next_insert_id
      sql/sql_class.h:
        Fix for bug #14304: auto_increment field incorrect set from within stored procedure (insert select).
        - clear_next_insert_id added
      f853fbc9
  23. 30 Nov, 2005 1 commit
    • unknown's avatar
      Fix for BUG#14920 Ordering aggregated result sets corrupts resultset. · e3f57552
      unknown authored
      The cause of the bug was the use of end_write_group instead of end_write
      in the case when ORDER BY required a temporary table, which didn't take
      into account the fact that loose index scan already computes the result
      of MIN/MAX aggregate functions (and performs grouping).
      
      The solution is to call end_write instead of end_write_group and to add
      the MIN/MAX functions to the list of regular functions so that their
      values are inserted into the temporary table.
      
      
      mysql-test/r/group_min_max.result:
        Test for BUG#14920
      mysql-test/t/group_min_max.test:
        Test for BUG#14920
      sql/sql_class.cc:
        Added new member to TMP_TABLE_PARAM.
      sql/sql_class.h:
        Added new member to TMP_TABLE_PARAM.
      sql/sql_select.cc:
        Enable result rows generated by loose index scan being written into
        a temporary table. The change is necessary because loose index
        scan already computes the result of GROUP BY and the MIN/MAX aggregate
        functions. This is realized by three changes:
        - create_tmp_table allocates space for aggregate functions in the
          list of regular functions,
        - use end_write instead of end_write group,
        - copy the pointers to the MIN/MAX aggregate functions to the list
          of regular functions TMP_TABLE_PARAM::items_to_copy.
      sql/sql_select.h:
        New parameter to create_tmp_table.
      e3f57552
  24. 23 Nov, 2005 2 commits
    • unknown's avatar
      Table definition cache, part 2 · f631b361
      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
      f631b361
    • unknown's avatar
      A name of macro is fixed. · 056d7266
      unknown authored
      056d7266
  25. 22 Nov, 2005 2 commits
    • unknown's avatar
      Recursion support made for SP (BUG#10100). · 164ce4c5
      unknown authored
      client/mysqltest.c:
        An expected error messages hiding from the log if disable_result_log is in force.
      mysql-test/r/sp-dynamic.result:
        The test expanded for case of allowed/disalowed recursion.
      mysql-test/r/sp-error.result:
        Error messages changed.
        Test of bug11394() made with allowed recursion.
      mysql-test/r/sp.result:
        Tests for recursion.
      mysql-test/r/trigger.result:
        Check that triggers are not affected by this patch.
      mysql-test/r/variables.result:
        Test of max_sp_recursion_depth variable.
      mysql-test/t/sp-dynamic.test:
        The test expanded for case of allowed/disalowed recursion.
      mysql-test/t/sp-error.test:
        Error messages changed.
        Test of bug11394() made with allowed recursion.
      mysql-test/t/sp.test:
        Tests for recursion.
      mysql-test/t/trigger.test:
        Check that triggers are not affected by this patch.
      mysql-test/t/variables.test:
        Test of max_sp_recursion_depth variable.
      sql/item_func.cc:
        sp_find_function() and sp_find_procedure() joined to sp_find_routine()
          function as it was mentioned in TODO.
      sql/mysqld.cc:
        max_sp_recursion_depth variable added.
      sql/set_var.cc:
        max_sp_recursion_depth variable added.
      sql/share/errmsg.txt:
        An error message changed.
        An error message added.
      sql/sp.cc:
        sp_find_function() and sp_find_procedure() joined to sp_find_routine()
          function as it was mentioned in TODO.
        Temory LEX is allocated on a stack, not on a heap.
        Recursion support added for stored procedures.
      sql/sp.h:
        sp_find_function() and sp_find_procedure() joined to sp_find_routine()
          function as it was mentioned in TODO.
      sql/sp_head.cc:
        Initialization of new sp_head fields to get correct list of instances
          contained one instance only.
        Stack requirement for SP instruction is increased.
        Stack free space is checked before mem root initialisation to avoid
          memory leak.
        Pointer to the free instance management added before and after
          SP execution.
      sql/sp_head.h:
        New sp_head variables added to support inst of instances of SP
          for recursion and pointer on ths first free to use instance.
      sql/sql_base.cc:
        open_table() consume a lot of stack space so we check free stack space before it.
      sql/sql_class.h:
        max_sp_recursion_depth variable added.
      sql/sql_parse.cc:
        sp_find_function() and sp_find_procedure() joined to sp_find_routine()
          function as it was mentioned in TODO.
      164ce4c5
    • unknown's avatar
      Fix for BUG#13549 "Server crash with nested stored procedures · 6574612d
      unknown authored
      if inner routine has more local variables than outer one, and
      one of its last variables was used as argument to NOT operator".
      
      THD::spcont was non-0 when we were parsing stored routine/trigger
      definition during execution of another stored routine. This confused
      methods of Item_splocal and forced them use wrong runtime context.
      Fix ensures that we always have THD::spcont equal to zero during
      routine/trigger body parsing. This also allows to avoid problems
      with errors which occur during parsing and SQL exception handlers.
      
      
      mysql-test/r/sp.result:
        Test suite for bug#13549.
      mysql-test/r/trigger.result:
        Test suite for bug#13549.
      mysql-test/t/sp.test:
        Test suite for bug#13549.
      mysql-test/t/trigger.test:
        Test suite for bug#13549.
      sql/item.cc:
        Protection against using wrong context by SP local variable.
      sql/item.h:
        Protection against using wrong context by SP local variable.
      sql/protocol.cc:
        An incorrect macro name fixed.
      sql/protocol.h:
        An incorrect macro name fixed.
      sql/sp.cc:
        Do not allow SP which we are parsing to use other SP
        context (BUG#13549).
      sql/sp_head.cc:
        Protection against using wrong context by SP local variable.
      sql/sp_rcontext.h:
        Protection against using wrong context by SP local variable.
      sql/sql_cache.h:
        An incorrect macro name fixed.
      sql/sql_class.cc:
        Protection against using wrong context by SP local variable.
      sql/sql_class.h:
        Protection against using wrong context by SP local variable.
      sql/sql_trigger.cc:
        Do not allow Trigger which we are parsing to use
        other SP context (BUG#13549).
      sql/sql_yacc.yy:
        Protection against using wrong context by SP local variable.
      6574612d
  26. 21 Nov, 2005 1 commit
  27. 19 Nov, 2005 1 commit
    • unknown's avatar
      Fix for bug #13825 "Triggers: crash if release savepoint" and for general · 11d4d7e6
      unknown authored
      handling of savepoints in stored routines.
      
      Fixed ha_rollback_to_savepoint()/ha_savepoint()/ha_release_savepoint()
      functions to properly handle savepoints inside of stored functions and
      triggers.
      Also now when we invoke stored function or trigger we create new savepoint
      level. We destroy it at the end of function/trigger execution and return back
      to old savepoint level.
      
      
      mysql-test/r/sp_trans.result:
        Added test for bug #13825 "Triggers: crash if release savepoint" and for
        general handling of savepoints in stored routines.
      mysql-test/t/sp_trans.test:
        Added test for bug #13825 "Triggers: crash if release savepoint" and for
        general handling of savepoints in stored routines.
      sql/ha_innodb.cc:
        innobase_savepoint():
          Replaced check which always failed due to similar check in caller
          with assertion.
      sql/handler.cc:
        ha_rollback_to_savepoint()/ha_savepoint()/ha_release_savepoint():
          Changed functions to properly support handling of savepoints
          inside of stored functions and triggers.
      sql/sql_class.cc:
        THD::reset_sub_statement_state()/restore_sub_statement_state():
          When we invoke stored function or trigger we should create new savepoint
          level. We should destroy it at the end of function/trigger execution and
          return back to old savepoint level. To support this behavior we should
          save and reset list of current savepoints on entering function and restore
          old list when we leave it.
      sql/sql_class.h:
        Sub_statement_state:
          When we invoke stored function or trigger we should create new savepoint
          level. We should destroy it at the end of function/trigger execution and
          return back to old savepoint level. To support this behavior added "savepoint"
          member which is used to save/restore list of current savepoints on
          entering/leaving function.
      sql/sql_parse.cc:
        mysql_execute_command():
          Changed processing of SQLCOM_SAVEPOINT so now it is not ignored when
          we are in autocommit mode and savepoint is set inside of stored
          function or trigger.
      11d4d7e6
  28. 14 Nov, 2005 2 commits
    • unknown's avatar
      Import patch for bug #13377 from current 5.0 bk tree. · d4008244
      unknown authored
      include/my_global.h:
        Import patch 00.txt
      include/my_sys.h:
        Import patch 00.txt
      mysys/my_create.c:
        Import patch 00.txt
      mysys/my_open.c:
        Import patch 00.txt
      sql/log.cc:
        Import patch 00.txt
      sql/sql_class.h:
        Import patch 00.txt
      sql/sql_repl.cc:
        Import patch 00.txt
      d4008244
    • unknown's avatar
      Fixes bug #13377. my_open() & my_create() functions changed to use · 303cae4c
      unknown authored
      my_sopen() on win32 which allows to use FILE_SHARE_DELETE flag to 
      allow deleting opened files. my_sopen() implementation is added to
      support this functionality.
      
      
      include/my_global.h:
        Fixes bug #13377. Added number of constants for share delete file
        open option.
      include/my_sys.h:
        Fixes bug #13377. Added my_sopen function.
      mysys/my_create.c:
        Fixes bug #13377. my_create() function changed to use my_sopen() and which allows
        to use FILE_SHARE_DELETE flag on win32, which helps in deleting opened files.
      mysys/my_open.c:
        Fixes bug #13377. my_open() function changed to use my_sopen() on win32
        which allows to use FILE_SHARE_DELETE flag to allow deleting opened files.
      sql/log.cc:
        Fixes bug #13377. Additional patch - remove reference counting for
        opened binlog files, introduced in initial patch of #13377.
      sql/sql_class.h:
        Fixes bug #13377. Additional patch - remove reference counting for
        opened binlog files, introduced in initial patch of #13377.
      sql/sql_repl.cc:
        Fixes bug #13377. Additional patch - remove reference counting for
        opened binlog files, introduced in initial patch of #13377.
      303cae4c
  29. 07 Nov, 2005 1 commit
    • unknown's avatar
      Make storage engines "pluggable", handlerton work · 6b3a9cae
      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''
      6b3a9cae
  30. 06 Nov, 2005 1 commit
    • unknown's avatar
      WL#2575 - Fulltext: Parser plugin for FTS · 66002e45
      unknown authored
      WL#2763 - MySQL plugin interface: step 1
      Manual merge from CNET tree.
      
      
      include/ft_global.h:
        Default parser added.
      include/my_global.h:
        dlopen related code moved from sql_udf.cc into my_global.h
      include/myisam.h:
        Added fulltext parser to MI_KEYDEF
      libmysqld/Makefile.am:
        Added LIBDIR macro.
      mysql-test/r/connect.result:
        Test result fixed: added plugin table
      mysql-test/r/information_schema.result:
        Test result fixed: added plugin table.
      mysql-test/r/mysqlcheck.result:
        Test result fixed: added plugin table.
      mysql-test/r/system_mysql_db.result:
         Test fixed: added plugin table
      mysql-test/t/system_mysql_db_fix.test:
         Test fixed: added plugin table
      scripts/mysql_create_system_tables.sh:
        Added mysql.plugin table.
      scripts/mysql_fix_privilege_tables.sql:
        Added mysql.plugin table.
      sql/Makefile.am:
        Added LIBDIR macro.
      sql/ha_myisam.cc:
        Pass fulltext parser from sql to myisam layer.
      sql/lex.h:
        Plugin related symbols.
      sql/mysqld.cc:
        Initialize/deinitialize plugins, pass opt_plugin_dir.
        plugin-dir renamed to plugin_dir.
        plugin_dir is relative to mysql_home now.
      sql/set_var.cc:
        plugin_dir added to SHOW VARIABLES.
      sql/share/errmsg.txt:
        Plugin related error messages.
      sql/sql_class.h:
        Added parser to Key class.
        Hold parser_name instead of plugin in Key class.
      sql/sql_lex.h:
        INSTALL/UNINSTALL PLUGIN commands.
      sql/sql_parse.cc:
        INSTALL/UNINSTALL PLUGIN commands.
      sql/sql_show.cc:
        SHOW CREATE TABLE: output parser name if index was created WITH PARSER.
      sql/sql_table.cc:
        Pass fulltext parser from yacc to sql layer.
      sql/sql_udf.cc:
        dlopen related code moved into my_global.h.
        Implemented better check for UDF path.
        UDF loads libraries that are under plugin_dir now.
      sql/sql_yacc.yy:
        INSTALL/UNINSTALL PLUGIN syntax.
        Added WITH PARSER syntax to CREATE/ALTER TABLE/INDEX.
        opt_fulltext_parser must allocate memory, since it will be used afterwards.
      sql/table.cc:
        Save/restore fulltext parser in extra data segment.
        Added DBUG_PRINTs.
      storage/myisam/ft_boolean_search.c:
        Split functions so they can be used by fulltext parser.
        Use fulltext parser if specified.
      storage/myisam/ft_nlq_search.c:
        Use fulltext parser.
      storage/myisam/ft_parser.c:
        Split functions so they can be used by fulltext parser.
        Use fulltext parser if specified.
      storage/myisam/ft_static.c:
        Default fulltext parser added.
      storage/myisam/ft_update.c:
        Use fulltext parser.
      storage/myisam/ftdefs.h:
        FTB_PARAM moved into plugin.h and renamed to MYSQL_FTPARSER_BOOLEAN_INFO.
      storage/myisam/mi_open.c:
        Set default parser.
      66002e45
  31. 04 Nov, 2005 1 commit
    • unknown's avatar
      Reorder struct elements to be more optimal for 64 bit computers · d4a7867a
      unknown authored
      (Main reason for reordering was to get rid of compiler warnings for order of element initialization)
      
      
      sql/log.cc:
        Remove compiler warning
      sql/sql_class.h:
        Reorder MYSQL_LOG struct elements to be more optimal for 64 bit computers
        (Main reason for reordering was to get rid of compiler warnings for order of element initialization)
      d4a7867a
  32. 25 Oct, 2005 1 commit
    • unknown's avatar
      Fix for BUG#13037: undefined variable in IF cause erroneous error-message. · 5ed3b0b3
      unknown authored
      mysql-test/r/sp-error.result:
        Results for the test case for BUG#13037.
      mysql-test/t/sp-error.test:
        Test case for BUG#13037.
      sql/sql_base.cc:
        Polishing: use constant.
      sql/sql_class.cc:
        Reset THD::where in THD::cleanup_after_query();
        Polishing: use the constant (THD::DEFAULT_WHERE).
      sql/sql_class.h:
        Introduce a constant for the default value of THD::where.
      5ed3b0b3
  33. 15 Oct, 2005 1 commit
    • unknown's avatar
      Fixed bug #12762: · 6a0695fe
      unknown authored
      allowed set functions aggregated in outer subqueries, allowed nested set functions.
      
      
      mysql-test/r/func_gconcat.result:
        Changed a query when fixing bug #12762.
      mysql-test/r/subselect.result:
        Added test cases for bug #12762.
        Allowed set functions aggregated in outer subqueries. Allowed nested set functions.
      mysql-test/t/func_gconcat.test:
        Changed a query when fixing bug #12762.
      mysql-test/t/subselect.test:
        Added test cases for bug #12762.
        Allowed set functions aggregated in outer subqueries. Allowed nested set functions.
      sql/item.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
        aggregated in outer subquries.
        Changed Item_field::fix_fields to calculate attributes used when checking context conditions
        for set functions.
        Allowed alliases for set functions defined in outer subqueries.
      sql/item.h:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
        aggregated in outer subquries.
      sql/item_cmpfunc.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
        aggregated in outer subquries.
      sql/item_func.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
        aggregated in outer subquries.
      sql/item_row.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
        aggregated in outer subquries.
      sql/item_strfunc.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Added a parameter to Item::split_sum_func2 aliowing to defer splitting for set functions
        aggregated in outer subquries.
      sql/item_subselect.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Introduced next levels for subqueries and a bitmap of nesting levels showing
        in what subqueries a set function can be aggregated.
      sql/item_sum.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Added Item_sum methods to check context conditions imposed on set functions.
      sql/item_sum.h:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Added Item_sum methods to check context conditions imposed on set functions.
      sql/mysql_priv.h:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Introduced a type of bitmaps to be used for nesting constructs.
      sql/sql_base.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Introduced next levels for subqueries and a bitmap of nesting levels showing
        in what subqueries a set function can be aggregated.
      sql/sql_class.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Introduced a bitmap of nesting levels showing in what subqueries a set function can be aggregated.
      sql/sql_class.h:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Introduced a bitmap of nesting levels showing in what subqueries a set function can be aggregated.
      sql/sql_delete.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Introduced a bitmap of nesting levels showing in what subqueries a set function can be aggregated.
      sql/sql_lex.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Introduced next levels for subqueries and a bitmap of nesting levels showing
        in what subqueries a set function can be aggregated.
      sql/sql_lex.h:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Introduced next levels for subqueries and a bitmap of nesting levels showing
        in what subqueries a set function can be aggregated.
      sql/sql_parse.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Introduced next levels for subqueries.
      sql/sql_prepare.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Introduced a bitmap of nesting levels showingin what subqueries a set function can be aggregated.
      sql/sql_select.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Introduced next levels for subqueries and a bitmap of nesting levels showing
        in what subqueries a set function can be aggregated.
      sql/sql_update.cc:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Introduced a bitmap of nesting levels showing in what subqueries a set function can be aggregated.
      sql/sql_yacc.yy:
        Fixed bug #12762:
        allowed set functions aggregated in outer subqueries, allowed nested set functions.
        Introduced next levels for subqueries.
      6a0695fe
  34. 13 Oct, 2005 1 commit
    • unknown's avatar
      Move handling of suffix_length from strnxfrm_bin() to filesort to ensure... · b896d334
      unknown authored
      Move handling of suffix_length from strnxfrm_bin() to filesort to ensure proper sorting of all kind of binary objects
      field::sort_key() now adds length last for varbinary/blob
      VARBINARY/BLOB is now sorted by filesort so that shorter strings comes before longer ones
      Fixed issues in test cases from last merge
      
      
      
      mysql-test/r/select.result:
        Change column name in test to get GROUP BY to use the alias
      mysql-test/r/type_blob.result:
        Test BLOB and VARCHAR sorting
      mysql-test/t/select.test:
        Change column name in test to get GROUP BY to use the alias
        Drop used tables at start of test
        Don't use table names 'a', 'b' or 'c'
      mysql-test/t/type_blob.test:
        Test BLOB and VARCHAR sorting
      sql/field.cc:
        Store length last in VARBINARY() and BLOB() columns to get shorter strings sorted before longer onces
      sql/field.h:
        Added method 'sort_length()' to allow one to have length bytes last for VARBINARY/BLOB to get these to sort properly
      sql/filesort.cc:
        Use 'sort_length()' instead of 'pack_length()' to get length of field.
        Store suffix_length last for varbinary (blob) objects.
        The above ensures that BLOB/VARBINARY are correctly sorted (shorter strings before longer ones)
      sql/sql_class.h:
        Added sort suffix length (to get varbinary/blob to sort correctly)
      sql/sql_select.cc:
        Use sort_length() instead of pack_lengths()
      strings/ctype-bin.c:
        Don't let strnxfrm_bin store length last
        Better to do it in MySQL field object to ensure it's done properly for all cases
      b896d334
  35. 08 Oct, 2005 1 commit
  36. 03 Oct, 2005 1 commit
    • unknown's avatar
      Fixes bug #13377. Added code to close active log files in case · 3398cb23
      unknown authored
      of log reset condition.
      
      
      sql/log.cc:
        Added references counter of binlog readers to wait for closing opened log
        files by al readers for binary log reset.
      sql/slave.cc:
        Added a code to close opened relay log files, when they are not used anymore.
      sql/sql_class.h:
        Added declarations to maintain references count of binlog readers.
        Added reset log wait condition.
      sql/sql_repl.cc:
        Added code to close active log files in case of log reset condition.
      3398cb23