An error occurred fetching the project authors.
  1. 23 Jan, 2006 1 commit
  2. 18 Jan, 2006 4 commits
    • unknown's avatar
      BUG #16596 · 209ff874
      unknown authored
      Moved init to lex_start
      
      
      sql/sql_lex.cc:
        Added init to lex_start
      sql/sql_yacc.yy:
        Removed init from CREATE INDEX code
      209ff874
    • unknown's avatar
      Bug fix · ca1bb5a0
      unknown authored
      mysql-test/include/partition_1.inc:
        Drop table missing in test case
      sql/sql_partition.cc:
        Removed some dead code
      sql/sql_yacc.yy:
        initialised name that was missing
      ca1bb5a0
    • unknown's avatar
      - fix bug #16435 (Weekly events execute every second) (WL#1034 Internal CRON) · 6bd58a2a
      unknown authored
      Before the interval expression was considered to be in seconds, now it is
      just a number and the type of interval is considered.
      
      - this changeset introduces also fix for bug#16432 (Events: error re interval
        misrepresents the facts)
        the code of event_timed::set_interval() was refactored anyway so it is meaningful to
        fix the bug in the same changeset.
      
      
      include/my_time.h:
        - move enum interval_type to include/my_time.h so it can be used by functions
          in the whole server
      sql/event.cc:
        - don't use second_part
        - fix small problem with create event xyz, when xyz exists -> make it error
          instead of warning if create_if_not is false.
      sql/event.h:
        pass thd to mark_last_executed() to be able to call thd->end_time()
      sql/event_executor.cc:
        - pass thd to event_timed::compute_next_execution_time()
        - a bit more DBUG info in the server log
        - handle error returned by event_timed::compute_next_execution_time()
      sql/event_priv.h:
        - define the maximal possible value for interval_value
      sql/event_timed.cc:
        - more docs
        - add static get_next_time() which sums a TIME with an interval
        - fix bug #16435 (Weekly events execute every second)
        Before the interval expression was considered to be in seconds, now it is
        just a number and the type of interval is considered.
        - fix for bug#16432 (Events: error re interval misrepresents the facts)
          (return an error if a value is too big or is negative - errmsg changed)
      sql/item_timefunc.cc:
        - export get_interval_date()
        - refactor Item_date_add_interval::get_date() and extract the core
          to date_add_interval() in time.cc so it can be reused by the
          scheduler code in event_timed.cc
      sql/item_timefunc.h:
        - export get_interval_value() so it can be reused in event_timed.cc in
          function static get_next_time()
        - move enum interval_type to include/my_time.h so it can be used by functions
          in the whole server
      sql/mysql_priv.h:
        export the new function date_add_interval() added to time.cc
      sql/share/errmsg.txt:
        - change error message to be appropriate as fix for bug#16432
          (Events: error re interval misrepresents the facts)
      sql/sql_yacc.yy:
        - change error message to be appropriate as fix for bug#16432
          (Events: error re interval misrepresents the facts)
      sql/time.cc:
        extract the core of Item_date_add_interval::get_date()
        to a function per Serg's request. The code can be reused
        to add und substract interval from a date.
      6bd58a2a
    • 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
  3. 17 Jan, 2006 1 commit
    • unknown's avatar
      WL #2604: Partition Management · 19bbb7cc
      unknown authored
      Optimised version of ADD/DROP/REORGANIZE partitions for
      non-NDB storage engines.
      New syntax to handle REBUILD/OPTIMIZE/ANALYZE/CHECK/REPAIR partitions
      Quite a few bug fixes
      
      
      include/thr_lock.h:
        New method to downgrade locks from TL_WRITE_ONLY
        Possibility to upgrade lock while aborting locks
      mysql-test/r/ndb_autodiscover.result:
        Fix for lowercase and that all NDB tables are now partitioned
      mysql-test/r/ndb_bitfield.result:
        Fix for lowercase and that all NDB tables are now partitioned
      mysql-test/r/ndb_gis.result:
        Fix for lowercase and that all NDB tables are now partitioned
      mysql-test/r/ndb_partition_key.result:
        New test case
      mysql-test/r/partition.result:
        New test case
      mysql-test/r/partition_error.result:
        New test case
      mysql-test/r/partition_mgm_err.result:
        Fix of test case results
      mysql-test/t/disabled.def:
        partition_03ndb still has bug
      mysql-test/t/ndb_partition_key.test:
        New test cases for new functionality and bugs
      mysql-test/t/partition.test:
        New test cases for new functionality and bugs
      mysql-test/t/partition_error.test:
        New test cases for new functionality and bugs
      mysql-test/t/partition_mgm_err.test:
        New test cases for new functionality and bugs
      mysys/thr_lock.c:
        New method to downgrade TL_WRITE_ONLY locks
        Possibility to specify if locks are to be upgraded at abort locks
      sql/ha_archive.cc:
        New handlerton methods
      sql/ha_berkeley.cc:
        New handlerton methods
      sql/ha_blackhole.cc:
        New handlerton methods
      sql/ha_federated.cc:
        New handlerton methods
      sql/ha_heap.cc:
        New handlerton methods
      sql/ha_innodb.cc:
        New handlerton methods
      sql/ha_myisam.cc:
        New handlerton methods
      sql/ha_myisammrg.cc:
        New handlerton methods
      sql/ha_ndbcluster.cc:
        New handlerton methods
        Moved out packfrm and unpackfrm methods
        Adapted many parts to use table_share instead of table->s
        Ensured that .ndb file uses filename and not tablename
        according to new encoding of names (WL 1324)
        All NDB tables are partitioned and set up partition info
        Fixed such that tablenames use tablenames and not filenames in NDB
        NDB uses auto partitioning for ENGINE=NDB tables
        Warning for very large tables
        Set RANGE data
        Set LIST data
        New method to set-up partition info
        Set Default number of partitions flag
        Set linear hash flag
        Set node group array
        Set number of fragments
        Set max rows
        Set tablespace names
        New method to get number of partitions of table to use at open table
      sql/ha_ndbcluster.h:
        Removed partition_flags and alter_table_flags from handler class
        A couple of new and changed method headers
      sql/ha_ndbcluster_binlog.cc:
        Use new method headers
      sql/ha_partition.cc:
        New handlerton methods
        Lots of new function headers
        Use #P# as separator between table name and partition name and
        #SP# as separator between partition name and subpartition name
        Use filename encoding for files both of table name part and of
        partition name parts
        New method to drop partitions based on partition state
        New method to rename partitions based on partition state
        New methods to optimize, analyze, check and repair partitions
        New methods to optimize, analyze, check and repair table
        Helper method to create new partition, open it and external lock
        it, not needed to lock it internally since no one else knows about
        it yet.
        Cleanup method at error for new partitions
        New methods to perform bulk of work at ADD/REORGANIZE partitions
        (change_partitions, copy_partitions)
      sql/ha_partition.h:
        New methods and variables
        A few dropped ones and a few changed ones
      sql/handler.cc:
        Handlerton interface changes
        New flag to open_table_from_share
      sql/handler.h:
        New alter_table_flags
        New partition flags
        New partition states
        More states for default handling
        Lots of new, dropped and changed interfaces
      sql/lex.h:
        Added REBUILD and changed name of REORGANISE to REORGANIZE
      sql/lock.cc:
        Method to downgrade locks
        Able to specify if locks upgraded on abort locks
      sql/log.cc:
        New handlerton methods
      sql/mysql_priv.h:
        Lots of new interfaces
      sql/share/errmsg.txt:
        Lots of new, dropped and changed error messages
      sql/sql_base.cc:
        Adapted to new method headers
        New method to abort and upgrade lock
        New method to close open tables and downgrade lock
        New method to wait for completed table
      sql/sql_lex.h:
        New flags
      sql/sql_partition.cc:
        Return int instead of bool in get_partition_id
        More defaults handling
        Make use of new mem_alloc_error method
        More work on function headers
        Changes to generate partition syntax to cater for intermediate
        partition states
        Lots of new code with large comments describing new features for
        Partition Management:
        ADD/DROP/REORGANIZE/OPTIMIZE/ANALYZE/CHECK/REPAIR partitions
      sql/sql_show.cc:
        Minors
      sql/sql_table.cc:
        Moved a couple of methods
        New methods to copy create lists and key lists
        for use with mysql_prepare_table
        New method to write frm file
        New handling of handlers with auto partitioning
        Fix CREATE TABLE LIKE
        Moved code for ADD/DROP/REORGANIZE partitions
        Use handlerton method for alter_table_flags
      sql/sql_yacc.yy:
        More memory alloc error checks
        New syntax for REBUILD, ANALYZE, CHECK, OPTIMIZE, REPAIR partitions
      sql/table.cc:
        Fix length of extra part to be 4 bytes
        Partition state introduced in frm file
      sql/table.h:
        Partition state introduced
      sql/unireg.cc:
        Partition state introduced
        Default partition
      storage/csv/ha_tina.cc:
        New handlerton methods
      storage/example/ha_example.cc:
        New handlerton methods
      storage/ndb/include/kernel/ndb_limits.h:
        RANGE DATA
      storage/ndb/include/kernel/signaldata/AlterTable.hpp:
        New interfaces in ALTER TABLE towards NDB kernel
      storage/ndb/include/kernel/signaldata/DiAddTab.hpp:
        New section
      storage/ndb/include/kernel/signaldata/DictTabInfo.hpp:
        Lots of new parts of table description
      storage/ndb/include/kernel/signaldata/LqhFrag.hpp:
        tablespace id specified in LQHFRAGREQ
      storage/ndb/include/ndbapi/NdbDictionary.hpp:
        Lots of new methods in NDB dictionary
      storage/ndb/src/common/debugger/signaldata/DictTabInfo.cpp:
        Lots of new variables in table description
      storage/ndb/src/kernel/blocks/dbdict/Dbdict.cpp:
        Lots of new variables in table description
      storage/ndb/src/kernel/blocks/dbdict/Dbdict.hpp:
        Lots of new variables in table description
      storage/ndb/src/kernel/blocks/dblqh/DblqhMain.cpp:
        New error insertion
      storage/ndb/src/kernel/blocks/dbtup/DbtupMeta.cpp:
        a few extra jam's
      storage/ndb/src/ndbapi/NdbBlob.cpp:
        Changes to definition of blob tables
      storage/ndb/src/ndbapi/NdbDictionary.cpp:
        Lots of new stuff in NDB dictionary
      storage/ndb/src/ndbapi/NdbDictionaryImpl.cpp:
        Lots of new stuff in NDB dictionary
      storage/ndb/src/ndbapi/NdbDictionaryImpl.hpp:
        Lots of new stuff in NDB dictionary
      storage/ndb/test/ndbapi/test_event.cpp:
        removed use of methods no longer in existence
      storage/ndb/tools/restore/Restore.cpp:
        Renamed variable
      19bbb7cc
  4. 12 Jan, 2006 1 commit
    • unknown's avatar
      Fix for BUG#15103: SHOW TRIGGERS: small output alignment problem. · f315b0b8
      unknown authored
      mysql-test/r/information_schema.result:
        Remove extra spaces from result file.
      mysql-test/r/mysqldump.result:
        Remove extra spaces from result file.
      mysql-test/r/rpl_ddl.result:
        Remove extra spaces from result file.
      mysql-test/r/trigger-compat.result:
        Remove extra spaces from result file.
      mysql-test/r/trigger-grant.result:
        Remove extra spaces from result file.
      mysql-test/r/trigger.result:
        Remove extra spaces from result file.
      sql/sql_yacc.yy:
        Remove leading spaces.
      f315b0b8
  5. 11 Jan, 2006 3 commits
    • unknown's avatar
      Fixed bug #15538: unchecked table absence caused server crash. · 4e2e0c6d
      unknown authored
      Absence of table in left part of LEFT/RIGHT join wasn't checked before
      name resolution which resulted in NULL dereferencing and server crash.
      
      Modified rules: 
      "table_ref LEFT opt_outer JOIN_SYM table_ref" and "table_ref RIGHT opt_outer 
      JOIN_SYM table_ref"
      NULL check is moved before push_new_name_resolution_context()
      
      
      sql/sql_yacc.yy:
        Fixed bug #15538: unchecked table absence caused server crash.
        Modified rules:
        "table_ref LEFT opt_outer JOIN_SYM table_ref" and "table_ref RIGHT opt_outer 
        JOIN_SYM table_ref"
        NULL check is moved before push_new_name_resolution_context()
      mysql-test/r/select.result:
        Added test case for bug #15538: unchecked table absence caused server crash.
      mysql-test/t/select.test:
        Added test case for bug #15538: unchecked table absence caused server crash.
      4e2e0c6d
    • unknown's avatar
      WL #1034 (Internal CRON) pre-push fixes · b8ce8ad1
      unknown authored
      after another merge fixes.
      
      
      mysql-test/r/information_schema.result:
        WL #1034 (Internal CRON)
        fix result
      mysql-test/r/mysqlcheck.result:
        WL #1034 (Internal CRON)
        fix result
      mysql-test/r/sp.result:
        WL #1034 (Internal CRON)
        fix result
      sql/event.cc:
        after fixes for WL1012 fix these to be able to compile
      sql/event_timed.cc:
        after fixes for WL1012 fix these to be able to compile
      sql/share/errmsg.txt:
        readd error messages removed during manual update
      sql/sql_yacc.yy:
        fix sql_yacc.yy for WL#1034 (Internal CRON) after the manual
        merge. The merge wasn't good :(
      b8ce8ad1
    • unknown's avatar
      wl2723 - ndb opt. nr · 641ce5e9
      unknown authored
      mysql-test/t/rpl_multi_engine.test:
        merge fix
      libmysqld/sql_tablespace.cc:
        New BitKeeper file ``libmysqld/sql_tablespace.cc''
      mysql-test/r/ndb_basic_disk.result:
        New BitKeeper file ``mysql-test/r/ndb_basic_disk.result''
      mysql-test/t/ndb_basic_disk.test:
        New BitKeeper file ``mysql-test/t/ndb_basic_disk.test''
      sql/sql_tablespace.cc:
        New BitKeeper file ``sql/sql_tablespace.cc''
      storage/ndb/src/kernel/blocks/OptNR.txt:
        New BitKeeper file ``storage/ndb/src/kernel/blocks/OptNR.txt''
      storage/ndb/src/kernel/vm/mem.txt:
        New BitKeeper file ``storage/ndb/src/kernel/vm/mem.txt''
      storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp:
        New BitKeeper file ``storage/ndb/src/kernel/vm/ndbd_malloc_impl.cpp''
      storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp:
        New BitKeeper file ``storage/ndb/src/kernel/vm/ndbd_malloc_impl.hpp''
      storage/ndb/tools/ndb_error_reporter:
        New BitKeeper file ``storage/ndb/tools/ndb_error_reporter''
      641ce5e9
  6. 10 Jan, 2006 1 commit
    • unknown's avatar
      WL #1034 (Internal CRON) pre-push updates · 1ef97f1f
      unknown authored
      - fixed test results
      - fixed bug caught by information_schema.test . Bison temporal
        variables are very nice but extremely error-prone (Count one more
        time just to be sure).
      
      
      mysql-test/r/connect.result:
        fix result for WL#1034 (internal CRON)
      mysql-test/r/events.result:
        fix result for WL#1034 (internal CRON)
      mysql-test/r/grant.result:
        fix result for WL#1034 (internal CRON)
      mysql-test/r/information_schema.result:
        fix result for WL#1034 (internal CRON)
      mysql-test/r/lowercase_table_grant.result:
        fix result for WL#1034 (internal CRON)
      mysql-test/r/ps.result:
        fix result for WL#1034 (internal CRON)
      mysql-test/r/system_mysql_db.result:
        fix result for WL#1034 (internal CRON)
      mysql-test/t/events.test:
        fix result for WL#1034 (internal CRON)
      sql/sql_yacc.yy:
        - fix bug introduced by me when making usage of temporal
          bison variables. COUNT 7 times then write!
      1ef97f1f
  7. 28 Dec, 2005 3 commits
    • unknown's avatar
      WL #1034 update · f3aea476
      unknown authored
      - fix problem with too long identifier name
      
      
      sql/event.cc:
        report an error when identifier too long
      sql/event_priv.h:
        name the enum
        fix truncation problem
      sql/share/errmsg.txt:
        new error message
      sql/sql_yacc.yy:
        remove debug info and whitespace
      f3aea476
    • unknown's avatar
      WL#1034 update · 8ba78896
      unknown authored
      - fix crash of an event that alters itself
      - make "alter event xyz;" invalid because at least 1 clause is needed.
      
      
      sql/sql_yacc.yy:
        - make "alter event xyz;" a syntax error. the user has to provide at least one clause
      8ba78896
    • unknown's avatar
      WL #1034 update · b3e35272
      unknown authored
      - enable/disable -> enabled/disabled
      - fixed error message
      
      
      sql/lex.h:
        change ENABLE to ENABLED and DISABLE to DISABLED in 
        create/alter event
      sql/share/errmsg.txt:
        fix error msg
      sql/sql_yacc.yy:
        ENABLE -> ENABLED
        DISABLE -> DISABLED
      b3e35272
  8. 26 Dec, 2005 1 commit
  9. 22 Dec, 2005 3 commits
    • unknown's avatar
      WL#2985 "Partition Pruning" · f19fb870
      unknown authored
      sql/ha_ndbcluster.cc:
        WL#2985 "Partition Pruning": added part_info->used_partitions initialization
      sql/ha_partition.cc:
        WL#2985 "Partition Pruning": added part_info->used_partitions initialization
      sql/handler.h:
        WL#2985 "Partition Pruning": 
        Added function prototypes
        in partition_info:
         - Added 'used_partitions' bitmap
         - Added comments
      sql/item.h:
        WL#2985 "Partition Pruning": 
        - added enum monotonicity_info
        - added virtual Item::get_monotonicity_info()
      sql/item_timefunc.cc:
        WL#2985 "Partition Pruning": 
        - added Item_func_to_days::get_monotonicity_info()
        - added Item_func_year::get_monotonicity_info()
      sql/item_timefunc.h:
        WL#2985 "Partition Pruning": 
        - added Item_func_to_days::get_monotonicity_info()
        - added Item_func_year::get_monotonicity_info()
      sql/opt_range.cc:
        WL#2985 "Partition Pruning":
        - Split out PARAM structure into PARAM and RANGE_OPT_PARAM part.
        - Added partition pruning module code.
      sql/opt_range.h:
        WL#2985 "Partition Pruning": 
        Added prune_partitions() function declaration. This is the entry point for partition pruning 
        module
      sql/sql_class.cc:
        WL#2985 "Partition Pruning": added support for "EXPLAIN PARTITIONS SELECT ..."
      sql/sql_lex.h:
        WL#2985 "Partition Pruning": added support for "EXPLAIN PARTITIONS SELECT ..."
      sql/sql_partition.cc:
        WL#2985 "Partition Pruning": 
         - Added get_list_array_idx_for_endpoint and get_range_... functions to support partition 
           pruning on "partition_field < const"-like intervals.
         - Added partition_info::used_partitions bitmap.
         - Added make_used_partitions_str function
         - Fixed BUG#15819
      sql/sql_select.cc:
        WL#2985 "Partition Pruning": 
        - Added prune_partitions() invocation right before the range analysis
        - Added code to handle return value from prune_partitions()
        - Added support for "EXPLAIN PARTITIONS SELECT ..."
      sql/sql_yacc.yy:
        #2985 "Partition Pruning": added support for "EXPLAIN PARTITIONS SELECT ..."
      f19fb870
    • unknown's avatar
      This patch does the following: · 67c96c78
      unknown authored
      1) Fixes breakage in embedded server build for XMLPath push.
      2) Hides PARTITION engine from view.
      3) Add ENGINES information schema (and it should now be clear from this patch on how to turn any show command into an information schema).
      
      
      libmysqld/Makefile.am:
        Fix for embedded server to build.
      mysql-test/r/information_schema.result:
        Fix for additional information_schema
      mysql-test/r/information_schema_db.result:
        Fix for adding additional engines information schema.
      mysql-test/t/information_schema.test:
        Added test to make sure that engines information schema works.
      sql/ha_partition.cc:
        Made PARTITION hidden in information schema.
      sql/sql_parse.cc:
        Added additional case for engine information schema.
      sql/sql_show.cc:
        Code for ENGINES information schema.
      sql/sql_yacc.yy:
        Extended grammer to support new ENGINES information schema
      sql/table.h:
        Comment on dependency in information schema.
      libmysqld/item_xmlfunc.cc:
        New BitKeeper file ``libmysqld/item_xmlfunc.cc''
      67c96c78
    • 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
  10. 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
  11. 15 Dec, 2005 1 commit
    • unknown's avatar
      WL#1034 update · 48405ec7
      unknown authored
      - fix EVENT_ACL problem that GRANT ALL on some_db.* to someone@somewhere did not get to mysql.db
      - fix crash when the following is executed :
        CREATE EVENT P() CREATE EVENT E ON SCHEDULER 1 SECOND DO ROLLBACK;
        (creation works as well as calling P() which creates the event).
      
      
      mysql-test/lib/init_db.sql:
        - fix init_db.sql so add Event_priv to the database privs, many tests failed because of that
          ommision
        - remove the quotes from the column names
      mysql-test/t/events.test:
        - fix the small test, don't create own db
      scripts/mysql_fix_privilege_tables.sql:
        - fix that
      sql/event.cc:
        - be defensive and don't crash if outside has already has opened some table
      sql/event_executor.cc:
        - show in SHOW PROCESSLIST - "event_scheduler" as name of the user of the main thread
        - use "localhost" as the host where event_scheduler comes from
        - comment out some debug info, fix other debug info
      sql/event_timed.cc:
        - enable EVENT creation inside SP. sphead from lex->sphead goes to et->sphead. it's there only
          if we compile the event. OTOH when doing 
          CREATE PROCEDURE PROC() CREATE EVENT SOME_EV ON SCHEDULE EVERY 1 SECOND DO ROLLBACK;
          I have only to get the body of the event which is anonymous SP. Before it being "compiled"
          but then freed without being used because a bit later it is compiled one more time before
          being put in the events cache. So it was good that the memory structures weren't reused but
          scrapped out. Now lex->sphead is not needed during event creation but only where the event's
          body starts and where it ends so to be able at later stage to compile this anonymous SP (the
          body of the event).
      sql/sp_head.cc:
        - copy over a fix to a crash
      sql/sql_acl.h:
        - fix privileges.
          There was _NO_ documentation about that. Another CHUNK had to be created to so EVENT_ACL gets shifted to
          it's place in the db table. So how this is calculated? EVENT_ACL is 1 << 26. Remember 26, see which poistion
          in the db table is EVENT_ACL, it's 17, counted from 0. 26 - 17 = 9, then shift it with 9.
          CHUNKS are created because in some cases some privileges are in chunks and they are shifted at once. There are
          few chunks of such privileges which has to be shifted to get to exactly the structure of mysql.db table.
      sql/sql_parse.cc:
        - ok, we don't care anymore about lex->sphead because our sphead is lex->et->sphead
      sql/sql_yacc.yy:
        - bail out if new event_timed returns 0x0
        - enable creation of an event inside a SP
          CREATE PROCEDURE P() CREATE EVENT E ON SCHEDULE EVERY 1 SECOND DO SELECT 1;
      48405ec7
  12. 08 Dec, 2005 1 commit
    • unknown's avatar
      A fix and a test case for Bug#15441 "Running SP causes Server · 9c4985de
      unknown authored
      to Crash": the bug was that due to non-standard name
      resolution precedence in stored procedures (See Bug#5967)
      a stored procedure variable took precedence over a table column
      when the arguments for VALUES() function were resolved.
      The implementation of VALUES() function was not designed to work
      with Item_splocal and crashed.
      VALUES() function is non-standard. It can refer to, and
      is meaningful for, table columns only. The patch disables SP 
      variables as possible arguments of VALUES() function.
      
      
      mysql-test/r/sp.result:
        Test results fixed (Bug#15441).
        Also make sure that the recently added test cases follow sp.test
        internal tests standard.
      mysql-test/t/sp.test:
        Add a test case for Bug#15441 "Running SP causes Server to Crash".
      sql/item.cc:
        Cleanup Item_insert_value::fix_fields().
      sql/item.h:
        Add a comment for Item_insert_value.
      sql/sql_yacc.yy:
        Actual fix for Bug#15441 "Running SP causes Server to Crash":
        we should not allow VALUES() function to reference SP variables.
      9c4985de
  13. 07 Dec, 2005 3 commits
    • unknown's avatar
      WL #1034 updates after review · faa8995e
      unknown authored
      (strip m_ as prefix from member variables' names)
      
      
      sql/event.cc:
        - change copyright years
        - remove m_ prefix from member variables (I liked m_)
        - reorder parameter in evex_update_event()
      sql/event.h:
        - change copyright years
        - remove m_ prefix from member variables
        - declare some member variables as private (were public)
        - delete 0 is valid in C++ therefore don't embrace with if()
      sql/event_executor.cc:
        - executor => scheduler in messages
        - fix a bug introduced in last commit -> typo in a mutex name
        - remove m_ prefix from member variables
      sql/event_priv.h:
        - change copyright years
      sql/event_timed.cc:
        - change copyright years
        - strip m_ as prefix from member variables' names
      sql/sql_parse.cc:
        - strip m_ as prefix from member variables' names
      sql/sql_yacc.yy:
        - strip m_ as prefix from member variables names
      faa8995e
    • unknown's avatar
      WL#1034 ongoing updates after review · bc3708a5
      unknown authored
      sql/event.cc:
        -my_error() as close as possible to the place where the error
         occurs.
        -a thought how to replicate events
        -use close_thread_tables() in some cases and for others rely on
         this call being done in sql_parse.cc::do_command()
      sql/event.h:
        remove redundant defines
      sql/event_executor.cc:
        - reenable the compilation again
        - don't backup the open_tables_state, it's not needed
      sql/event_timed.cc:
        - inline a bit
        - comment added
      sql/mysqld.cc:
        - start mysqld with --event-scheduler=0 by default
      sql/share/errmsg.txt:
        3 new messages
      sql/sql_parse.cc:
        remove now obsolete error checking - the errors are reported
        as closer as possible to the place where they are detected
      sql/sql_yacc.yy:
        add WARNING message. fix a bug that was corrupting 
        thd->client_capabilites ->
        select count(*) from mysql.event
        was reporting : "Unknown table test.event"!!!
        Using temporal variable is nice but IMO quite error-prone.
      bc3708a5
    • 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
  14. 05 Dec, 2005 1 commit
    • unknown's avatar
      WL#1034 updated · 7ff79771
      unknown authored
      - split into several files
      - forbid parallel execution (before analyse is done how to make it possible)
        because the same sp_head instance cannot be executed in parallel
      - added GPL headers
      - changed EVENT_ACL to be per DB variable
      - fixed minor problems
      
      
      mysql-test/lib/init_db.sql:
        WL#1034 updated
        - add Event_priv to mysql.user (update test)
        - add updated mysql.event table struct
      scripts/mysql_fix_privilege_tables.sql:
        WL#1034 updated
        add updated mysql.event structure
      sql/Makefile.am:
        split event.cc into
        - event.cc (create/alter/drop)
        - event_executor.cc (main and worker threads)
        - event_timed.cc (class event_timed)
        - event_priv.h (some definitions used internally by the module)
      sql/event.cc:
        - added GPL header
        - split into few files
        - fixed some issues after code review
        - now using SP routines for opening/traversing/closing tables
          (will be reverted)
      sql/event.h:
        - add GPL header
        - remove two methods - inline them in sql_yacc.yy 
        - don't use absolute values for EVEX_ defines but the SP_ equivalents (have to move 100% to SP_
          defines and as later step to not transfer messages upwards in the stack but
          report them at the place they occur)
        - updated reference table definition
        - move default mem_root param from event.cc to the header
      sql/mysqld.cc:
        WL#1034
        rename --event-executor to --event-scheduler
        executor sounds a bit scary :)
      sql/set_var.cc:
        rename internal variable name from event_executor to event_scheduler
        (ppl won't be scarried anymore :)
      sql/share/errmsg.txt:
        omit one %s - not needed
      sql/sp_head.cc:
        disable this DBUG_PRINT for a bit. m_next_cached_sp is 0x0 and I get crash here...
      sql/sp_head.h:
        remove m_old_cmq, a temporal variable is used in sql_yacc.yy (Serg's idea)
        to keep the previous state.
        $<ulong_val>$ =  ....
        
        YYTHD->client_capabilites != $<ulong_val>4;
        
        (the same is done also for class event_timed)
      sql/sql_acl.cc:
        handle pre-5.1.4 table and give the user EVENT_ACL if he had CREATE_ACL
      sql/sql_acl.h:
        fix the bitmask
      sql/sql_parse.cc:
        - move from EVENT_ACL being global to EVENT_ACL being per DB like
          CREATE_PROC_ACL
        - lex->m_qname dropped, because not needed, fix code therefore
        - add comment that SHOW CREATE EVENT has to be implemented
      sql/sql_yacc.yy:
        - use temporal variable of Bison to store a short lived value
        - fix indentation
        - inline 2 class event_timed methods in the parser
      sql/tztime.h:
        be more expressive - it's already extern
      7ff79771
  15. 03 Dec, 2005 1 commit
    • unknown's avatar
      this has nothing to do with the bug#13012. · da8b9967
      unknown authored
      it's about mysql_admin_commands not being reexecution-safe
      (and CHECK still isn't)
      
      
      mysql-test/r/sp-error.result:
        optimize is now allowed in SP
      mysql-test/r/sp.result:
        test repair/optimize/analyze in SP
      mysql-test/t/backup.test:
        clean up after itself
      mysql-test/t/sp-error.test:
        optimize is now allowed in SP
      mysql-test/t/sp.test:
        test repair/optimize/analyze in SP
      sql/sp_head.cc:
        all mysql_admin commands return result set
      sql/sql_parse.cc:
        all mysql_admin commands modify table list and we should restore it for SP
      sql/sql_table.cc:
        optimization - don't execute views when no view is expected/allowed
      sql/sql_yacc.yy:
        optimize is now allowed in SP
      da8b9967
  16. 02 Dec, 2005 3 commits
    • unknown's avatar
      Now we shall store only position (index of first character) · 42022710
      unknown authored
      of SELECT from query begining, to be independet of query buffer
      allocation.
      Correct procedure used to find beginning of the current statement
      during parsing (BUG#14885).
      
      
      mysql-test/r/view.result:
        BUG#14885 test suite.
      mysql-test/t/view.test:
        BUG#14885 test suite.
      sql/sp_head.cc:
        The debug print statement fixed to prevent crash in case of NULL
        in m_next_cached_sp.
      sql/sql_lex.h:
        Now we shall store only position (index of first character)
        of SELECT from query beginning.
      sql/sql_view.cc:
        Position of the SELECT used to output it to .frm.
      sql/sql_yacc.yy:
        Now we shall store only position (index of first character)
        of SELECT from query beginning.
        Correct procedure used to find beginning of the current statement
        during parsing.
      42022710
    • unknown's avatar
      Post-review fixes for BUG#14376: MySQL crash on scoped variable (re)initialization · a9086bc7
      unknown authored
      sql/sp_pcontext.cc:
        Count boundary for variable visibility from the frame end instead.
      sql/sp_pcontext.h:
        Count boundary for variable visibility from the frame end instead.
        Updated comments.
      sql/sql_yacc.yy:
        Changed tabs to spaces.
      a9086bc7
    • unknown's avatar
      WL1034 update for latest 5.1 sources · 4d891eb9
      unknown authored
      BUILD/SETUP.sh:
        for now no optimizations in debug build - get rid of "value optimized out"
      4d891eb9
  17. 28 Nov, 2005 1 commit
    • unknown's avatar
      WL#2486 - Natural/using join according to SQL:2003. · 4fd41f7c
      unknown authored
      Post-review fixes according to Monty's review.
      
      
      sql/item.h:
        Unite all code that stores and restores the state of a name resolution context
        into a class to represent the state, and methods to save/restore that
        state.
      sql/mysql_priv.h:
        Reorder parameters so that length is after the name of a field,
        and database is before table name.
      sql/sql_acl.cc:
        Reorder parameters so that length is after the name of a field,
        and database is before table name.
      sql/sql_base.cc:
        * Reorder parameters so that length is after the name of a field,
          and database is before table name.
        * Added new method - Field_iterator_table_ref::get_natural_column_ref
          to avoid unnecessary code when it is knwon that no new columns will
          be created when accessing natural join columns.
      sql/sql_insert.cc:
        Unite all code that stores and restores the state of a name resolution context
        into a class to represent the state, and methods to save/restore that
        state.
      sql/sql_lex.cc:
        Removed obsolete comment.
      sql/sql_lex.h:
        Return error from push_contex() if there is no memory.
      sql/sql_list.h:
        Extended base_list_iterator, List_iterator, and List_iterator_fast with an
        empty constructor, and init() methods, so that one doesn't have to construct
        a new iterator object every time one needs to iterate over a new list.
      sql/sql_parse.cc:
        Moved common functionality from the parser into one function, and renamed
        the function to better reflect what it does.
      sql/sql_yacc.yy:
        Moved common functionality from the parser into one function, and renamed
        the function to better reflect what it does.
      sql/table.cc:
        * Extended base_list_iterator, List_iterator, and List_iterator_fast with an
          empty constructor, and init() methods, so that one doesn't have to construct
          a new iterator object every time one needs to iterate over a new list.
        * Added new method Field_iterator_table_ref::get_natural_column_ref to be
          used in cases when it is known for sure that no new columns should be
          created.
      sql/table.h:
        - column_ref_it no longer allocated for each new list of columns
        - new method get_natural_join_column for faster/simpler access
          to natural join columns.
      4fd41f7c
  18. 25 Nov, 2005 1 commit
    • unknown's avatar
      Fixed BUG#14233: Crash after tampering with the mysql.proc table · d4088df5
      unknown authored
        Post-review version. Some minor review fixes, but also changed the way
        some errors are handled: Don't return specific parse errors; instead
        always use the more general "table corrupt" error (amended accordingly).
      
      
      mysql-test/r/sp-destruct.result:
        Updated results.
      mysql-test/r/sp-error.result:
        Updated for fully qualified name in "no return" error message.
      mysql-test/t/sp-destruct.test:
        Adopted the more consistent error handling for a corrupted mysql.proc table.
        (No more "parse error" et al).
      sql/share/errmsg.txt:
        Changed ER_SP_PROC_TABLE_CORRUPT to be more explicit.
      sql/sp.cc:
        Review fixes.
        Changed the handling of parse errors, and added the routine name to the "table corrupt" error message.
      sql/sql_base.cc:
        Review changes: Change error tests and added comments.
      sql/sql_parse.cc:
        Mored ER_SP_NORETURN test of functions to sql_yacc.yy for more general error handling.
      sql/sql_yacc.yy:
        Mored ER_SP_NORETURN test of functions from sql_parse.cc for more general error handling.
      d4088df5
  19. 23 Nov, 2005 1 commit
  20. 22 Nov, 2005 2 commits
    • 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
    • unknown's avatar
      Set type and default correctly for local SP variables during parsing. · 0026b6f4
      unknown authored
      sql/sql_yacc.yy:
        Set type and default correctly for local SP variables.
      0026b6f4
  21. 18 Nov, 2005 1 commit
    • unknown's avatar
      Bug#13510 "Setting password local variable changes current · 6ba79a25
      unknown authored
      password": additional fix, also make sure that a syntax error is 
      returned for set names="foo" when there is no such variable or no
      stored procedure.
      
      
      mysql-test/r/sp-error.result:
        Test results fixed: a new test for Bug#13510
      mysql-test/t/sp-error.test:
        A new test for Bug#13510 (set names out of an SP)
      sql/sql_yacc.yy:
        Bug#13510: fix the case when there is no stored procedure or
        no 'names' variable declared. Return a syntax error in this case.
      6ba79a25
  22. 17 Nov, 2005 1 commit
    • unknown's avatar
      Background: · 91ab7076
      unknown authored
      Since long, the compiled code of stored routines has been printed in the trace file
      when starting mysqld with the "--debug" flag. (At creation time only, and only in
      debug builds of course.) This has been helpful when debugging stored procedure
      execution, but it's a bit awkward to use. Also, the printing of some of the
      instructions is a bit terse, in particular for sp_instr_stmt where only the command
      code was printed.
      
      This improves the printout of several of the instructions, and adds the debugging-
      only commands "show procedure code <name>" and "show function code <name>".
      (In non-debug builds they are not available.)
      
      
      sql/lex.h:
        New symbol for debug-only command (e.g. show procedure code).
      sql/sp_head.cc:
        Fixed some minor debug-mode bugs in show_create_*().
        New method for debugging: sp_head::show_routine_code() - returns the "assembly code"
        for a stored routine as a result set.
        Improved the print() methods for many sp_instr* classes, particularly for
        sp_instr_stmt where the query string is printed as well (up to a max length, just
        to give a hint of which statement it is). Also print the names of variables and
        cursors in some instruction.
      sql/sp_head.h:
        New debugging-only method in sp_head: show_routine_code().
        Added offset member to sp_instr_cpush for improved debug printing.
      sql/sp_pcontext.cc:
        Moved find_pvar(uint i) method from sp_pcontext.h, and made it work for all
        frames, not just the first one. (For debugging purposes)
        Added a similar find_cursor(uint i, ...) method, for debugging.
      sql/sp_pcontext.h:
        Moved find_pvar(uint i) method to sp_pcontext.cc.
        Added a similar find_cursor(uint i, ...) method, for debugging.
      sql/sql_lex.h:
        Added new sql_command codes for debugging.
      sql/sql_parse.cc:
        Added new commands for debugging, e.g. "show procedure code".
      sql/sql_yacc.yy:
        Added new commands for debugging purposes:
        "show procedure code ..." and "show function code ...".
        These are only enabled in debug builds, otherwise they result in a syntax error.
        (I.e. they don't exist)
      91ab7076
  23. 16 Nov, 2005 1 commit
    • unknown's avatar
      Issuing error about presence of commit/rollback statements in stored functions... · 8a661e77
      unknown authored
      Issuing error about presence of commit/rollback statements in stored functions and triggers added to SP parsing procedure (BUG#13627)
      
      The crash mentioned in original bug report is already prevented by one
      of previous patches (fix for bug #13343 "CREATE|etc TRIGGER|VIEW|USER
      don't commit the transaction (inconsistency)"), this patch only improve
      error returning.
      
      
      mysql-test/r/sp-error.result:
        Test that statements which implicitly commit transaction
      mysql-test/t/sp-error.test:
        Test that statements which implicitly commit transaction
      sql/sp_head.cc:
        We set the new flag about commit/rollback statements presence
      sql/sp_head.h:
        The new flag about commit/rollback presence added
        A comment fixed
      sql/sql_yacc.yy:
        Removed commit/rollback-statement-present errors spread by this file, only one check left which check flags of a SP
      8a661e77
  24. 10 Nov, 2005 2 commits
    • unknown's avatar
      WL#2818 (Add creator to the trigger definition for privilege · 7dbea7df
      unknown authored
      checks on trigger activation)
      
      
      mysql-test/r/information_schema.result:
        Update result file: a new column DEFINER has been added to
        INFORMATION_SCHEMA.TRIGGERS.
      mysql-test/r/mysqldump.result:
        Update result file: a new column DEFINER has been added to
        INFORMATION_SCHEMA.TRIGGERS.
      mysql-test/r/rpl_ddl.result:
        Update result file: a new column DEFINER has been added to
        INFORMATION_SCHEMA.TRIGGERS.
      mysql-test/r/rpl_sp.result:
        Update result file: a new clause DEFINER has been added to
        CREATE TRIGGER statement.
      mysql-test/r/rpl_trigger.result:
        Results for new test cases were added.
      mysql-test/r/skip_grants.result:
        Error message has been changed.
      mysql-test/r/trigger.result:
        Added DEFINER column.
      mysql-test/r/view.result:
        Error messages have been changed.
      mysql-test/r/view_grant.result:
        Error messages have been changed.
      mysql-test/t/mysqldump.test:
        Drop created procedure to not affect further tests.
      mysql-test/t/rpl_trigger.test:
        Add tests for new column in information schema.
      mysql-test/t/skip_grants.test:
        Error tag has been renamed.
      mysql-test/t/view.test:
        Error tag has been renamed.
      mysql-test/t/view_grant.test:
        Error tag has been changed.
      sql/item_func.cc:
        Fix typo in comments.
      sql/mysql_priv.h:
        A try to minimize copy&paste:
          - introduce operations to be used from sql_yacc.yy;
          - introduce an operation to be used from trigger and
            view processing code.
      sql/share/errmsg.txt:
        - Rename ER_NO_VIEW_USER to ER_MALFORMED_DEFINER in order to
          be shared for view and trigger implementations;
        - Fix a typo;
        - Add a new error code for trigger warning.
      sql/sp.cc:
        set_info() was split into set_info() and set_definer().
      sql/sp_head.cc:
        set_info() was split into set_info() and set_definer().
      sql/sp_head.h:
        set_info() was split into set_info() and set_definer().
      sql/sql_acl.cc:
        Add a new check: exit from the cycle if the table is NULL.
      sql/sql_lex.h:
        - Rename create_view_definer to definer, since it is used for views
          and triggers;
        - Change st_lex_user to LEX_USER, since st_lex_user is a structure.
          So, formally, it should be "struct st_lex_user", which is longer
          than just LEX_USER;
        - Add trigger_definition_begin.
      sql/sql_parse.cc:
        - Add a new check: exit from the cycle if the table is NULL;
        - Implement definer-related functions.
      sql/sql_show.cc:
        Add DEFINER column.
      sql/sql_trigger.cc:
        Add DEFINER support for triggers.
      sql/sql_trigger.h:
        Add DEFINER support for triggers.
      sql/sql_view.cc:
        Rename create_view_definer to definer.
      sql/sql_yacc.yy:
        Add support for DEFINER-clause in CREATE TRIGGER statement.
        
        Since CREATE TRIGGER and CREATE VIEW can be similar at the start,
        yacc is unable to distinguish between them. So, had to modify both
        statements in order to make it parsable by yacc.
      mysql-test/r/trigger-compat.result:
        Result file for triggers backward compatibility test.
      mysql-test/r/trigger-grant.result:
        Result file of the test for WL#2818.
      mysql-test/t/trigger-compat.test:
        Triggers backward compatibility test: check that the server
        still can load triggers w/o definer attribute and modify
        tables with such triggers (add a new trigger, etc).
      mysql-test/t/trigger-grant.test:
        Test for WL#2818 -- check that DEFINER support in triggers
        works properly
      7dbea7df
    • unknown's avatar
      Added "SHOW AUTHORS" code · c1595446
      unknown authored
      mysql-test/r/show_check.result:
        Update to results
      mysql-test/t/show_check.test:
        Added SHOW AUTHORS test
      sql/field.h:
        Fixed portability issue
      sql/lex.h:
        Added new keyword "AUTHORS"
      sql/mysql_priv.h:
        Added reference to new show command.
      sql/sql_cache.h:
        Fixed compile bug (more of these need to be fixed)
      sql/sql_lex.h:
        Added to com bit.
      sql/sql_parse.cc:
        Parsing for show authors
      sql/sql_show.cc:
        Added new show command for "SHOW AUTHORS"
      sql/sql_yacc.yy:
        Added new parse code for show authors.
      c1595446
  25. 09 Nov, 2005 1 commit
    • unknown's avatar
      Fixed BUG#14719: Views DEFINER grammar is incorrect · b5e8347f
      unknown authored
        Corrected the syntax for the current_user() case.
        (It's "definer = current_user[()]", not just "current_user[()]".)
      
      
      mysql-test/r/view.result:
        New test case for BUG#14719
      mysql-test/t/view.test:
        New test case for BUG#14719
      sql/sql_yacc.yy:
        Corrected the CREATE VIEW syntax for the current_user() DEFINER case.
        (It's "definer = current_user[()]", not just "current_user[()]".)
      b5e8347f