1. 08 Feb, 2007 1 commit
  2. 06 Feb, 2007 2 commits
    • unknown's avatar
      Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-12976_b · 22f242cd
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.1-12976-merge
      
      
      mysql-test/r/sp-vars.result:
        Auto merged
      mysql-test/t/sp-vars.test:
        Auto merged
      sql/sp_head.cc:
        Auto merged
      22f242cd
    • unknown's avatar
      Bug#12976 (stored procedures local variables of type bit) · 372fc7e4
      unknown authored
      Before this change, a local variables in stored procedures / stored functions
      or triggers, when declared with a type of bit(N), would not evaluate their
      value properly.
      
      The problem was that the data was incorrectly typed as a string,
      causing for example bit b'1', implemented as a byte 0x01, to be interpreted
      as a string starting with the character 0x01. This later would cause
      implicit conversions to integers or booleans to fail.
      
      The root cause of this problem was an incorrect translation between field
      types, like bit(N), and internal types used when representing values in Item
      objects.
      
      Also, before this change, the function HEX() would sometime print extra "0"
      characters when invoked with bit(N) values.
      
      With this fix, the type translation (sp_map_result_type, sp_map_item_type)
      has been changed so that bit(N) fields are represented with integer values.
      
      A consequence is that, for the function HEX(), when called with a stored
      procedure local variable of type bit(N) as argument, HEX() is provided with an
      integer instead of a string, and therefore does not print "0" padding.
      
      A test case for Bug 12976 was present in the test suite, and has been updated.
      
      
      mysql-test/r/sp-vars.result:
        Local stored procedure variables of type bit(N) are integer values.
      mysql-test/t/sp-vars.test:
        Local stored procedure variables of type bit(N) are integer values.
      sql/sp_head.cc:
        Local stored procedure variables of type bit(N) are integer values.
      372fc7e4
  3. 05 Feb, 2007 1 commit
  4. 04 Feb, 2007 1 commit
    • unknown's avatar
      BUG#25897: Some queries are no longer possible after a CREATE VIEW · 86b715a7
      unknown authored
                 fails
      
      The bug was introduced with the push of the fix for bug#20953: after
      the error on view creation we never reset the error state, so some
      valid statements would give the same error after that.
      
      The solution is to properly reset the error state.
      
      
      mysql-test/r/view.result:
        Add result for bug#25897: Some queries are no longer possible after
        a CREATE VIEW fails.
      mysql-test/t/view.test:
        Add test case for bug#25897: Some queries are no longer possible after
        a CREATE VIEW fails.
      sql/sql_lex.cc:
        Add st_parsing_options::reset() method, call it from lex_start().
      sql/sql_lex.h:
        Add st_parsing_options::reset() method, call it from constructor.
      86b715a7
  5. 03 Feb, 2007 1 commit
  6. 02 Feb, 2007 2 commits
    • unknown's avatar
      BUG#16425: Events: no DEFINER clause · 2b48825b
      unknown authored
      There was already support for CREATE DEFINER=... EVENT syntax in the
      parser, but DEFINER information was ignored.
      
      This patch adds processing of DEFINER, and a new ALTER DEFINER=...
      EVENT syntax.
      
      
      mysql-test/r/events_bugs.result:
        Add result for bug#16425: Events: no DEFINER clause.
      mysql-test/t/events_bugs.test:
        Add test case for bug#16425: Events: no DEFINER clause.
      sql/event_data_objects.cc:
        Event_parse_data::init_definer() looks for DEFINER in
        thd->lex->definer, which is always set now.
      sql/sql_parse.cc:
        Move DEFINER processing into the sp_process_definer().  Call this
        function for CREATE EVENT/ALTER EVENT, as well as for CREATE
        PROCEDURE/FUNCTION.
      sql/sql_yacc.yy:
        Add 'alter DEFINER=... event', update rule references accordingly.
      2b48825b
    • unknown's avatar
      BUG#23225: Slow query log: setting slow_query_log_file writes to · 8b302e3a
      unknown authored
                 wrong file
      
      After execution of SET GLOBAL SLOW_QUERY_LOG_FILE=...; slow query log
      data would go into the general log file.
      
      The problem was in the bogus cut-n-paste in the code.
      
      
      sql/set_var.cc:
        Fix cut-n-paste bug.
      8b302e3a
  7. 01 Feb, 2007 2 commits
    • unknown's avatar
      Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-21904_b · 13076984
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.1-21904_b-merge
      
      
      mysql-test/r/subselect.result:
        Auto merged
      mysql-test/t/subselect.test:
        Auto merged
      sql/item_subselect.cc:
        Auto merged
      sql/item_subselect.h:
        Auto merged
      sql/sql_cache.cc:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      13076984
    • unknown's avatar
      Improved comments · f65038bd
      unknown authored
      f65038bd
  8. 31 Jan, 2007 1 commit
    • unknown's avatar
      Fix for memory leaks introduced with the push of patch for bug#22740. · 6560c2aa
      unknown authored
      Original patch did not have these leaks, they were introduced later
      during manual applying of the patch.
      
      
      sql/event_data_objects.cc:
        Original patch was not aware of the requirement to delete lex.sphead
        before doing anything else (bug#21856), and that was missed when the
        patch was applied later.
      sql/event_scheduler.cc:
        The line was lost during manual patch applying.
      6560c2aa
  9. 30 Jan, 2007 4 commits
    • unknown's avatar
      manual merge · 59d9b52f
      unknown authored
      59d9b52f
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.0-runtime · 7687a272
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.0-21904
      
      
      mysql-test/r/subselect.result:
        Auto merged
      mysql-test/t/subselect.test:
        Auto merged
      sql/item_subselect.cc:
        Auto merged
      sql/item_subselect.h:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      7687a272
    • unknown's avatar
      Merge weblab.(none):/home/marcsql/TREE/mysql-5.0-21904 · 40320e8c
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.1-21904-merge
      
      
      sql/item_subselect.cc:
        Auto merged
      sql/item_subselect.h:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      40320e8c
    • unknown's avatar
      Bug#21904 (parser problem when using IN with a double "(())") · a1e20e04
      unknown authored
      Before this fix, a IN predicate of the form: "IN (( subselect ))", with two
      parenthesis, would be evaluated as a single row subselect: if the subselect
      returns more that 1 row, the statement would fail.
      
      The SQL:2003 standard defines a special exception in the specification,
      and mandates that this particular form of IN predicate shall be equivalent
      to "IN ( subselect )", which involves a table subquery and works with more
      than 1 row.
      
      This fix implements "IN (( subselect ))", "IN ((( subselect )))" etc
      as per the SQL:2003 requirement.
      
      All the details related to the implementation of this change have been
      commented in the code, and the relevant sections of the SQL:2003 spec
      are given for reference, so they are not repeated here.
      
      Having access to the spec is a requirement to review in depth this patch.
      
      
      mysql-test/r/subselect.result:
        Implement IN predicate special exceptions with subselects.
      mysql-test/t/subselect.test:
        Implement IN predicate special exceptions with subselects.
      sql/item_subselect.cc:
        Implement IN predicate special exceptions with subselects.
      sql/item_subselect.h:
        Implement IN predicate special exceptions with subselects.
      sql/sql_yacc.yy:
        Implement IN predicate special exceptions with subselects, cleanup.
      a1e20e04
  10. 29 Jan, 2007 3 commits
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 2f6812be
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.1-24392
      
      
      2f6812be
    • unknown's avatar
      Fix for bug#22740 Events: Decouple Event_queue from Event_db_repository · 3c39b0d8
      unknown authored
      This patch implements the idea of the bug report by making Event_queue
      unaware of Event_db_repository by making a higher level class - Events,
      which is aware of most of all classes, responsible for passing all data
      needed for adding/updating/deleting an event to/from the queue.
      
      Introduces few new classes :
       - Event_worker_thread
       - Event_queue_element_for_exec
      
      
      sql/event_data_objects.cc:
        Introduced a new class Event_queue_element_for_exec
        According to Konstantin it should be named Event_name and hold
        only two LEX_STRINGs but `dropped` is not saved on disk and will
        require additional logic in Event_worker_thread class, after loading
        to compute whether the event should be dropped or not. It's easier
        just to pass this flag around.
        
        Removed Event_queue_element::drop(). This method was a source of a
        race condition. At the place where the event should be dropped we
        call Events::drop_event() which is the only code-flow for dropping.
        In addition, because ::drop_event() holds Events::LOCK_metadata there is
        no source of race conditions. Before this patch dropping from ::drop()
        wasn't under LOCK_metadata and races were possible.
        
        Because Events::open_event_table was removed as a method, provisionally
        events_event_db_repository was exported from events.cc till a solution is
        build where Event_queue_element does not access directly mysql.event.
      sql/event_data_objects.h:
        New class Event_queue_element_for_exec added which is returned
        from Event_queue::get_top_if_time() and passed through Event_scheduler
        to Event_worker_thread. There by using the (db)name Event_job_data is
        instanciated and executed.
        
        Dropped Event_queue_element::drop()
        
        thd was moved out of Event_job_data as it is now part of
        Event_queue_element_for_exec
      sql/event_queue.cc:
        Removed dependency of Event_queue on Event_db_repository.
        The instantiation of Event_job_data was moved to class Event_worker_thread
        In place is a return of an object of Event_queue_element_for_exec is used
        later for instantiating Event_job_data.
        
        The `dropped` flag of Event_queue_element is passed over
        Event_queue_element_for_exec to the code in Event_worker_thread.
      sql/event_queue.h:
        Removed dependency of Event_queue on Event_db_repository
        Removed dependency on Event_scheduler
      sql/event_scheduler.cc:
        Added class Event_worker_thread, which is used during
        the execution of an event. It has a static init() method
        to get a pointer to Event_db_repository to be used for
        instantiation of Event_job_data object. This object it then
        executed.
      sql/event_scheduler.h:
        Added class Event_worker_thread, which is used during
        the execution of an event.
      sql/events.cc:
        Removed Events::open_event_table() because it was a product of
        a bad architecture.
      sql/events.h:
        Removed friend definition, unneeded.
        
        Fixed Events::drop_event() to have the previous signature without
        bool only_from_disk
      sql/sql_parse.cc:
        Fix call
      3c39b0d8
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 6b9f56e3
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.1-24392
      
      
      mysql-test/t/show_check.test:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      6b9f56e3
  11. 25 Jan, 2007 16 commits
  12. 24 Jan, 2007 6 commits
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines · 247bd923
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines
      
      
      mysql-test/r/symlink.result:
        Auto merged
      mysql-test/t/symlink.test:
        Auto merged
      sql/ha_ndbcluster.cc:
        Auto merged
      sql/mysqld.cc:
        Auto merged
      sql/sql_class.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      mysql-test/r/myisam.result:
        Use local.
      mysql-test/t/myisam.test:
        Use local.
      247bd923
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/bk/mysql-5.1 · 1cf81178
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.1-engines
      
      
      mysql-test/r/symlink.result:
        Auto merged
      mysql-test/t/symlink.test:
        Auto merged
      sql/lock.cc:
        Auto merged
      sql/opt_range.cc:
        Auto merged
      sql/sql_class.h:
        Auto merged
      sql/sql_insert.cc:
        Auto merged
      sql/sql_parse.cc:
        Auto merged
      sql/table.cc:
        Auto merged
      storage/federated/ha_federated.cc:
        Auto merged
      storage/myisam/mi_check.c:
        Auto merged
      storage/myisam/mi_packrec.c:
        Auto merged
      mysql-test/r/myisam.result:
        Manually merged.
      mysql-test/t/myisam.test:
        Manually merged.
      1cf81178
    • unknown's avatar
      Merge malff@bk-internal.mysql.com:/home/bk/mysql-5.1-runtime · 53491b18
      unknown authored
      into  weblab.(none):/home/marcsql/TREE/mysql-5.1-21029
      
      
      Makefile.am:
        Auto merged
      sql/Makefile.am:
        Auto merged
      sql/sql_yacc.yy:
        Auto merged
      53491b18
    • unknown's avatar
      Bug#21029 (Dependencies between sql_yacc.cc and dependent headers not detected) · 39cc6d11
      unknown authored
      The build scripts in general, using automake, autoconf, etc, contain several
      special commands and work around all related to the way the bison code in the
      parser is built, for sql/sql_yacc.yy. These work arounds, accumulated over
      time during development, ultimately cause the build scripts to be unstable
      and cause build defects by not enforcing dependencies.
      
      This fix simplifies the build process and aligns it with the automake tooling,
      which provides native support for bison and *.yy files.
      
      In particular, the following problem have been fixed:
      - dependencies with sql_yacc.cc were not honored (Bug 21029), leading to
        corrupted builds,
      - the work around introduced by Bug 24557, to cleanup the generated files
        sql_yacc.h and sql_yacc.cc, has been removed,
      - the generated makefile, in a source distribution, used to destroy the files
        sql_yacc.h and sql_yacc.cc on a 'make clean' target. This has been fixed:
        these files are now removed by make maintainer-clean.
      - The root cause of the problem found with gcc 4.1 (see Bug 24619) has been
        clearly documented, and the "sed" hack has been replaced by a cleaner
        work around, when building the code with bison 1.875.
      - Removed the file sql/sql_yacc.yy.bak, added by WL 3031 by accident.
      - Removed the unnecessary AM_YFLAG= --debug introduced by WL 3432, since
        the compiling option DBUG_OFF takes precedence when setting YYDEBUG.
      
      
      BitKeeper/deleted/.del-sql_yacc.yy.bak:
        Rename: sql/sql_yacc.yy.bak -> BitKeeper/deleted/.del-sql_yacc.yy.bak
      Makefile.am:
        General cleanup of the build process for sql_yacc.yy
      sql/Makefile.am:
        General cleanup of the build process for sql_yacc.yy
      sql/sql_yacc.yy:
        General cleanup of the build process for sql_yacc.yy
      39cc6d11
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/bk/mysql-5.0 · 2ed7eaf5
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
      
      
      mysql-test/t/myisam.test:
        Auto merged
      2ed7eaf5
    • unknown's avatar
      Merge mysql.com:/home/svoj/devel/bk/mysql-5.0 · c26ffedb
      unknown authored
      into  mysql.com:/home/svoj/devel/mysql/merge/mysql-5.0-engines
      
      
      mysql-test/r/symlink.result:
        Auto merged
      mysql-test/t/symlink.test:
        Auto merged
      sql/table.cc:
        Auto merged
      mysql-test/r/myisam.result:
        Manually merged.
      mysql-test/t/myisam.test:
        Manually merged.
      c26ffedb