An error occurred fetching the project authors.
  1. 08 Feb, 2005 1 commit
    • unknown's avatar
      WL#2130: Table locking for stored FUNCTIONs · 3f249321
      unknown authored
      Collect all tables and SPs refered by a statement, and open all tables
      with an implicit LOCK TABLES. Do find things refered by triggers and views,
      we open them first (and then repeat this until nothing new is found), before
      doing the actual lock tables.
      
      
      mysql-test/r/information_schema.result:
        Updated result for WL#2130.
      mysql-test/r/lock.result:
        Updated result for WL#2130.
      mysql-test/r/sp-error.result:
        Updated result for WL#2130.
      mysql-test/r/sp.result:
        Updated result for WL#2130.
      mysql-test/r/view.result:
        Updated result for WL#2130.
      mysql-test/t/information_schema.test:
        Disabled one test case due to a bug involving LOCK TABLES,
        which shows up with WL#2130.
      mysql-test/t/lock.test:
        New error message with WL#2130. This change is under debate and might change
        in the future, but will do for now.
      mysql-test/t/sp-error.test:
        Updated for WL#2130. Some tests are voided when table access does work from
        functions.
      mysql-test/t/sp.test:
        Updated for WL#2130.
      mysql-test/t/view.test:
        Updated for WL#2130.
      sql/item_func.cc:
        We now have to set net.no_send_ok for functions too, with WL#2130.
      sql/share/errmsg.txt:
        Reused an error code since the old use was voided by WL#2130, but a new
        one was needed instead (similar, but more specific restriction).
      sql/sp.cc:
        Fixed error handling and collection of used tables for WL#2130.
      sql/sp.h:
        Fixed error handling and collection of used tables for WL#2130.
      sql/sp_head.cc:
        Added support functions for collecting and merging hash tables and lists
        of used tables from SPs and substatements, for WL#2130.
      sql/sp_head.h:
        Added support functions for collecting and merging hash tables and lists
        of used tables from SPs and substatements, for WL#2130.
      sql/sql_base.cc:
        Changed the way table->query_id is tested and set during with locked tables
        in effect. This makes some SP test cases work with WL#2130, but has a side
        effect on some error cases with explicit LOCK TABLES. It's still debated if
        this is the correct way, so it might change.
      sql/sql_class.h:
        Added flags for circumventing some interference between WL#2130 and mysql_make_view().
      sql/sql_derived.cc:
        Added some missing initializations. (Potential bugs.)
      sql/sql_lex.cc:
        Clear the new hash tables for WL#2130.
      sql/sql_lex.h:
        Added hash tables for procedures and tables too (as for functions), for WL#2130.
      sql/sql_parse.cc:
        WL#2130: Make table accesses from stored functions work by adding an implicit
        LOCK TABLES around (most) executed statements. To do this, we have to go through
        a loop where we collect all SPs and tables in mysql_execute_statement.
      sql/sql_prepare.cc:
        Cache both functions and procedures for WL#2130.
      sql/sql_show.cc:
        Added some missing initializations. (Potential bugs.)
      sql/sql_view.cc:
        Shortcut mysql_make_view() if thd->shortcut_make_view is true during
        the pre-open phase for collecting tables in WL#2130. Otherwise, the
        similar mechanism here causes interference.
      sql/sql_yacc.yy:
        For WL#2130, added caching of procedures and disallowed LOCK/UNLOCK TABLES in SPs.
      3f249321
  2. 03 Jan, 2005 1 commit
  3. 25 Nov, 2004 1 commit
    • unknown's avatar
      Fixed BUG#6807: Stored procedure crash if CREATE PROCEDURE ... KILL QUERY · ea75abc5
      unknown authored
      ...and for PURGE BEFORE too. (Don't fix_fields in the parser!)
      
      
      mysql-test/r/sp-error.result:
        New test case for BUG#6807
      mysql-test/t/sp-error.test:
        New test case for BUG#6807
      sql/sql_lex.h:
        Purge and kill query args not needed in lex. (Using value_list instead)
      sql/sql_parse.cc:
        Evaluate purge before and kill query args in mysql_execute_command
        instead of in the parser. (Makes it work with stored procedures)
      sql/sql_yacc.yy:
        Don't evaluate (fix_fields) args in the parser for purge before and kill query.
        (Doesn't work with stored procedures)
      ea75abc5
  4. 03 Nov, 2004 1 commit
    • unknown's avatar
      Fixes after merge with 4.1 · f5a47f15
      unknown authored
      FOUND is not a reserved keyword anymore
      Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
      Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
      Note that the 5.0 tree is not yet up to date: Sanja will have to fix multi-update-locks for this merge to be complete
      
      
      BUILD/SETUP.sh:
        Portability fix
      client/mysqltest.c:
        Portability fix
      mysql-test/r/drop.result:
        updated results
      mysql-test/r/func_str.result:
        New warnings (after merge)
      mysql-test/r/insert.result:
        Updated tests
      mysql-test/r/join_nested.result:
        Updated results (because of new column types in 5.0)
      mysql-test/r/lock_multi.result:
        Temporarly wrong results until Sanja fixes multi-update-lock in 5.0
      mysql-test/r/multi_update.result:
        Temporary fix until Sanja fixes multi-update locking
      mysql-test/r/ps_1general.result:
        Update of results after merge
      mysql-test/r/ps_2myisam.result:
        Update of results after merge
      mysql-test/r/ps_3innodb.result:
        Update of results after merge
      mysql-test/r/ps_4heap.result:
        Update of results after merge
      mysql-test/r/ps_5merge.result:
        Update of results after merge
      mysql-test/r/ps_6bdb.result:
        Update of results after merge
      mysql-test/r/query_cache.result:
        Update of results after merge
      mysql-test/r/range.result:
        New results for new tests
      mysql-test/r/rpl_auto_increment.result:
        Update with new 4.0 information
      mysql-test/r/rpl_charset.result:
        After merge fixes
      mysql-test/r/subselect.result:
        After merge fixes
      mysql-test/r/view.result:
        Temporary fix until multi-update-locking is fixed
      mysql-test/t/drop.test:
        Safety fix
      mysql-test/t/multi_update.test:
        Temporary fix until multi-update-locking is fixed
      mysql-test/t/rpl_charset.test:
        More comments
      mysql-test/t/sp-error.test:
        Updated comments
      mysql-test/t/view.test:
        Temporary fix until multi-update-locking is fixed
      scripts/mysql_fix_privilege_tables.sh:
        Better error message
      sql-common/client.c:
        More debugging
      sql/ha_ndbcluster.cc:
        After merge fixes
      sql/handler.cc:
        After merge fixes
      sql/item.cc:
        Simple optimization of creating item
        After merge fixed
        Added Item_field::set_no_const_sub() to be able to mark fields that can't be substituted
        The problem is that if you compare a string field to a binary string, you can't replace the field with a string constant as the binary comparison may then fail (The original field value may be in a different case)
      sql/item.h:
        Added Item::set_no_const_sub() to be able to mark fields that can't be substituted
      sql/item_cmpfunc.cc:
        Mark fields compared as binary to not be substituted.
      sql/item_func.cc:
        After merge fix
      sql/log_event.cc:
        After merge fix
      sql/mysql_priv.h:
        After merge fix
      sql/opt_range.cc:
        After merge fix
      sql/protocol.cc:
        Made flags uint instead of int (as it's used as a bit mask)
      sql/protocol.h:
        Made flags uint instead of int (as it's used as a bit mask)
      sql/protocol_cursor.cc:
        Made flags uint instead of int (as it's used as a bit mask)
        Indentation cleanups
      sql/sp.cc:
        After merge fixes
        Removed compiler warnings
      sql/sp_head.cc:
        After merge fixes
      sql/sql_base.cc:
        After merge fixes
        Removed 'send_error' from 'insert_fields()' as the error is sent higher up
      sql/sql_class.cc:
        Give assert if set_n_backup_item_arena is used twice
      sql/sql_class.h:
        Give assert if set_n_backup_item_arena is used twice
        After merge fixes
        Added 'simple_select' method to be able to quickly determinate if a select_result is a normal SELECT
      sql/sql_handler.cc:
        After merge fixes
      sql/sql_parse.cc:
        After merge fixes
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        After merge fixes
        Moved 'build_equal_items' to optimize_cond() (logical place)
      sql/sql_table.cc:
        After merge fixes
      sql/sql_trigger.cc:
        After merge fixes
      sql/sql_update.cc:
        After merge fixes
        (This should be fixed by Sanja to have lower granuality locking of tables in multi-update)
      sql/sql_view.cc:
        After merge fixes
      sql/sql_yacc.yy:
        After merge fixes
        Don't have FOUND as a reserved keyword
      f5a47f15
  5. 22 Oct, 2004 2 commits
    • unknown's avatar
      Fixed BUG#6030: Stored procedure has no appropriate DROP privilege. · a50cd5c5
      unknown authored
        ...and no ALTER privilege either.
        For now, only the definer and root can drop or alter an SP.
      
      
      include/mysqld_error.h:
        New access denied error code when dropping/altering stored procedures.
      include/sql_state.h:
        New access denied error code when dropping/altering stored procedures.
      mysql-test/r/sp-error.result:
        Removed warning for "unitialized variable", as this popped up in unexpected
        places after the access control for drop/alter SPs was added. (And the warning
        was wrong and planned to be removed anyway.)
      mysql-test/r/sp-security.result:
        Added tests for access control on who's allowed to drop and alter SPs.
      mysql-test/r/sp.result:
        Updated results. (Warning removed.)
      mysql-test/t/sp-error.test:
        Removed warning for "unitialized variable", as this popped up in unexpected
        places after the access control for drop/alter SPs was added. (And the warning
        was wrong and planned to be removed anyway.)
      mysql-test/t/sp-security.test:
        Added tests for access control on who's allowed to drop and alter SPs.
      sql/share/czech/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/danish/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/dutch/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/english/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/estonian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/french/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/german/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/greek/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/hungarian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/italian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/japanese/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/korean/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/norwegian-ny/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/norwegian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/polish/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/portuguese/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/romanian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/russian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/serbian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/slovak/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/spanish/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/swedish/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/share/ukrainian/errmsg.txt:
        New access denied error message when dropping/altering stored procedures.
      sql/sql_parse.cc:
        Added minimal access control for DROP/ALTER PROCEDURE/FUNCTION. Only the definer
        and root are allowed to do this.
      sql/sql_yacc.yy:
        Removed warning for "unitialized variable", as this popped up in unexpected
        places after the access control for drop/alter SPs was added. (And the warning
        was wrong and planned to be removed anyway.)
      a50cd5c5
    • unknown's avatar
      Fixed BUG#6027: Stored procedures can be renamed. · 35588c9d
      unknown authored
      Removed the support for renaming SPs. It's non-standard, conflicted with a standard
      syntax, and was a bit broken anyway.
      
      
      mysql-test/r/sp-error.result:
        Removed test for renaming procedures with alter.
      mysql-test/r/sp.result:
        Removed test for renaming procedures with alter.
      mysql-test/t/sp-error.test:
        Removed test for renaming procedures with alter.
      mysql-test/t/sp.test:
        Removed test for renaming procedures with alter.
      sql/sp.cc:
        Removed support for renaming SPs. It's non-standard, conflicted with a standard
        syntax, and was a bit broken anyway.
      sql/sp.h:
        Removed support for renaming SPs. It's non-standard, conflicted with a standard
        syntax, and was a bit broken anyway.
      sql/sql_parse.cc:
        Removed support for renaming SPs. It's non-standard, conflicted with a standard
        syntax, and was a bit broken anyway.
      sql/sql_yacc.yy:
        Removed support for renaming SPs. It's non-standard, conflicted with a standard
        syntax, and was a bit broken anyway.
      35588c9d
  6. 07 Oct, 2004 1 commit
    • unknown's avatar
      Revised BUG#5000: SPs can be created with no default database. · 43785537
      unknown authored
      Now simply give an error if no database. (The "global SP feature" will be
      done using PATH instead.)
      
      
      mysql-test/r/sp-error.result:
        Removed test cases for undone "feature".
      mysql-test/t/sp-error.test:
        Removed test cases for undone "feature".
      sql/sql_parse.cc:
        Check if created procedure/function has a database; give error if not.
      sql/sql_yacc.yy:
        Undid the "global SP feature".
      43785537
  7. 10 Sep, 2004 1 commit
    • unknown's avatar
      Fixed BUG#3294: Stored procedure crash if table dropped before use. · 1912148c
      unknown authored
        Dropping the table was not the real problem, the problem was with errors
        occuring within error handlers.
      
      
      mysql-test/r/sp-error.result:
        New test case for BUG#3294.
      mysql-test/t/sp-error.test:
        New test case for BUG#3294.
      sql/sp_head.cc:
        Use hreturn instruction both for continue and exit handlers (a special case
        of a jump).
      sql/sp_head.h:
        Use hreturn instruction both for continue and exit handlers (a special case
        of a jump).
      sql/sp_rcontext.cc:
        Keep track on if we're in a handler already, for error handling.
      sql/sp_rcontext.h:
        Keep track on if we're in a handler already, for error handling.
      sql/sql_yacc.yy:
        Use hreturn instruction both for continue and exit handlers (a special case
        of a jump).
      1912148c
  8. 09 Sep, 2004 2 commits
    • unknown's avatar
      Update after merge · bc787254
      unknown authored
      bc787254
    • unknown's avatar
      After merge fixes of merge with 4.1 that included the new arena code. · 33efc967
      unknown authored
      Fixed (together with Guilhem) bugs in mysqlbinlog regarding --offset
      Prefix addresses with 0x for easier comparisons of debug logs
      Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
      This fix changed some 'index' queries to 'range' queries in the test suite
      Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
      This fix removed of a lot of 'Using where' notes in the test suite.
      Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      Give NOTE instead of WARNING for safe field-type conversions
      
      
      Makefile.am:
        Don't automaticly update files from bk
      client/mysqlbinlog.cc:
        Merge with 4.1 (+ apply bug fixes for --offset and --start-position)
      include/my_sys.h:
        Faster clear_alloc_root()
      mysql-test/r/bdb.result:
        Updated results after merge
      mysql-test/r/create.result:
        Updated results after merge
      mysql-test/r/func_group.result:
        Updated results after merge
      mysql-test/r/func_if.result:
        Updated results after merge
      mysql-test/r/heap_btree.result:
        Updated results after merge
      mysql-test/r/index_merge.result:
        Updated results after merge
      mysql-test/r/index_merge_ror.result:
        Updated results after merge
      mysql-test/r/innodb.result:
        Updated results after merge
      mysql-test/r/join_outer.result:
        Updated results after merge
      mysql-test/r/mysqlbinlog2.result:
        Updated results after merge
      mysql-test/r/negation_elimination.result:
        Updated results after merge
      mysql-test/r/null.result:
        Updated results after merge
        Added more tests
      mysql-test/r/null_key.result:
        Updated results after merge
        Added more tests
      mysql-test/r/order_by.result:
        Updated results after merge
      mysql-test/r/range.result:
        Updated results after merge
        Added more tests
      mysql-test/r/rpl_charset.result:
        Updated results after merge
      mysql-test/r/sp-error.result:
        Updated results after merge
      mysql-test/r/sp.result:
        Updated results after merge
        Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
      mysql-test/r/type_blob.result:
        Updated results after merge
        (Some warnings are now notes)
      mysql-test/r/user_var.result:
        Updated results after merge
        Added more tests
      mysql-test/r/variables.result:
        Updated results after merge
      mysql-test/r/view.result:
        Updated results after merge
      mysql-test/t/mysqlbinlog2.test:
        Updated tests to use new positions
      mysql-test/t/null.test:
        More tests
      mysql-test/t/null_key.test:
        More tests
      mysql-test/t/range.test:
        More tests
      mysql-test/t/rpl_charset.test:
        Avoid big diffs in the future if tests changes
      mysql-test/t/sp-error.test:
        Updated error numbers
      mysql-test/t/sp-security.test:
        Updated error numbers
      mysql-test/t/sp.test:
        Updated results after merge
        Added delete of some stored procedures in an attempt to be able to re-run test even if it aborts in the middle
      mysql-test/t/user_var.test:
        More tests
      mysql-test/t/view.test:
        Updated error numbers
      mysys/my_alloc.c:
        Write into debug log the address of the allocated area
      sql/ha_isam.cc:
        Prefix addresses with 0x for easier comparisons of debug logs
      sql/ha_myisam.cc:
        Prefix addresses with 0x for easier comparisons of debug logs
      sql/ha_ndbcluster.cc:
        Add missing enum to switch
      sql/handler.cc:
        remove compiler warning
      sql/item.cc:
        More debugging
        Simple cleanup
      sql/item.h:
        Move Item::cleanup() to item.cc
      sql/item_cmpfunc.cc:
        Fix arena code
      sql/item_subselect.cc:
        After merge fixes
      sql/item_subselect.h:
        After merge fixes
      sql/item_sum.cc:
        Updated comment
      sql/log_event.cc:
        Remove wrong test
      sql/mysql_priv.h:
        Indentation fixes
      sql/mysqld.cc:
        After merge fixes
        Added 0x to pointers in debug log
      sql/opt_range.cc:
        Fixed problem where MySQL choosed index-read even if there would be a much better range on the same index
        This fix changed some 'index' queries to 'range' queries in the test suite
      sql/set_var.cc:
        Indentation fixes
      sql/sp_head.cc:
        Set state to INITIALIZED to make SP work with new arena code
      sql/sql_base.cc:
        After merge fixes
      sql/sql_class.cc:
        More debugging
        Use clear_alloc_root() instead of init_alloc_root() as the former is faster
      sql/sql_class.h:
        New method 'only_prepare()'
      sql/sql_lex.cc:
        After merge fixes
      sql/sql_lex.h:
        After merge fixes
      sql/sql_parse.cc:
        Fix for timezone tables. (The old way to add timezone tables to global list in 'create_total_list' doesn't work anymore)
        Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        Don't create 'dummy' WHERE clause for trivial WHERE clauses where we can remove the WHERE clause.
        This fix removed of a lot of 'Using where' notes in the test suite
      sql/sql_table.cc:
        Give NOTE instead of WARNING if table/function doesn't exists when using DROP IF EXISTS
      sql/sql_union.cc:
        After merge fix
      sql/sql_view.cc:
        After merge fix
      sql/table.cc:
        After merge fix
      sql/tztime.cc:
        Update timezone table handling to use new table lists structure
      sql/tztime.h:
        Update timezone table handling to use new table lists structure
      sql/unireg.cc:
        Use 0x before pointers
      33efc967
  9. 08 Sep, 2004 1 commit
    • unknown's avatar
      Fixed BUG#5000: SPs can be created with no default database. · c92b5349
      unknown authored
        Easy to prevent crash, but the question was how to treat this case?
        We ended up implementing the "global" SPs (i.e. with no associated
        db), which were planned but left unresolved when SPs moved into dbs.
        So now things like "call .p()" work too.
      
      
      mysql-test/r/sp-error.result:
        New test case for BUG#5000, and "global" SPs in general.
      mysql-test/t/sp-error.test:
        New test case for BUG#5000, and "global" SPs in general.
      sql/sp.cc:
        Prevent crash when the new db is null.
      sql/sp_head.cc:
        Don't set the db part of the name to thd->db, we have already set it correctly
        in the provided name struct.
        Also, don't attempt to change "no-db" when executing an SP.
      sql/sql_yacc.yy:
        Added support for the "global SP" syntax, e.g ".p()".
      c92b5349
  10. 26 Aug, 2004 1 commit
    • unknown's avatar
      Major rehacking and cleanup of sp_pcontext. · 071651ef
      unknown authored
      This finishes (almost) WL#2002: Implement stored procedure GOTO.
      Only the syntax issue for free labels remains ("label L;" vs "L:").
      
      
      include/mysqld_error.h:
        New error code for GOTO in SP handler.
      mysql-test/r/sp-error.result:
        New error test cases for GOTO.
      mysql-test/r/sp.result:
        New test cases for GOTO.
        Also removed some things that made it impossible to run the test in
        an external (debugged) mysqld.
      mysql-test/t/sp-error.test:
        New error test cases for GOTO.
      mysql-test/t/sp.test:
        New test cases for GOTO.
        Also removed some things that made it impossible to run the test in
        an external (debugged) mysqld.
      sql/share/czech/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/danish/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/dutch/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/english/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/estonian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/french/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/german/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/greek/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/hungarian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/italian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/japanese/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/korean/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/norwegian-ny/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/norwegian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/polish/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/portuguese/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/romanian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/russian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/serbian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/slovak/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/spanish/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/swedish/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/share/ukrainian/errmsg.txt:
        New error message for GOTO in SP handler.
      sql/sp_head.cc:
        Code cleanup (renaming of pcontext methods), support goto, and fixed bug
        in jump shortcutting in the optimizer (detect infinite loops).
      sql/sp_head.h:
        Code cleanup (renaming of pcontext methods), support goto, and fixed bug
        in jump shortcutting in the optimizer (detect infinite loops).
      sql/sp_pcontext.cc:
        Major rehack and cleanup:
        - We now push and pop a chain of contexts during parsing (instead of having
          a single one).
        - Makes error detection for GOTO easier and enables some optmizations and
          debugger support.
        - Makes it a little trickier to keep track on variable and cursor indexes instead.
        - Renamed things to get a more consistent naming scheme too.
      sql/sp_pcontext.h:
        Major rehack and cleanup:
        - We now push and pop a chain of contexts during parsing (instead of having
          a single one).
        - Makes error detection for GOTO easier and enables some optmizations and
          debugger support.
        - Makes it a little trickier to keep track on variable and cursor indexes instead.
        - Renamed things to get a more consistent naming scheme too.
      sql/sql_yacc.yy:
        Changes to reflect the rework and renamings in sp_pcontext, and fixed
        some GOTO error checking.
      071651ef
  11. 24 Aug, 2004 1 commit
    • unknown's avatar
      Fixed BUG#3157: Crash if stored procedure contains IF EXISTS, · ac06195c
      unknown authored
      and BUG#336: Subselects with tables does not work as values for
      local SP variables (which was closed before with a temp. fix, but not
      actually fixed).
      
      
      mysql-test/r/sp-error.result:
        Moved test case for BUG#336 to sp.test, as it's not generating an error any longer.
      mysql-test/r/sp.result:
        Move test case for BUG#336 from sp-error.test and added new test case
        for BUG#3157.
      mysql-test/t/sp-error.test:
        Moved test case for BUG#336 to sp.test, as it's not generating an error any longer.
      mysql-test/t/sp.test:
        Move test case for BUG#336 from sp-error.test and added new test case
        for BUG#3157.
      sql/sp_head.cc:
        Open and close tables in set, jump-if[-not] and freturn instructions if
        the value expression is a subselect.
      sql/sp_head.h:
        Store tables in set, jump-if[-not] and freturn instructions if
        the value expression is a subselect.
      sql/sql_yacc.yy:
        Store tables in set, jump-if[-not] and freturn instructions if
        the value expression is a subselect.
      ac06195c
  12. 17 Aug, 2004 1 commit
    • unknown's avatar
      WL#2002: Implement stored procedure GOTO. · 9b5a6f72
      unknown authored
      Mostly done, it works, but the temporary LABEL syntax still to be fixed.
      
      
      mysql-test/r/sp-error.result:
        New test case for WL#2002 (GOTO).
      mysql-test/r/sp.result:
        New test case for WL#2002 (GOTO).
        (Also corrected another test)
      mysql-test/t/sp-error.test:
        New test case for WL#2002 (GOTO).
      mysql-test/t/sp.test:
        New test case for WL#2002 (GOTO).
        (Also corrected another test)
      sql/lex.h:
        New symbol GOTO.
        Also a temporary symbol LABEL, which hopefully will go away soon.
      sql/sp_head.cc:
        Fixed backpatching to cope with free GOTO labels an hpop and cpop instructions.
        Also optimized away pointless jump instructions.
      sql/sp_head.h:
        Fixed backpatching to cope with free GOTO labels an hpop and cpop instructions.
        We now sometimes generate hpop/cpop 0 instructions but the optimizer removes them.
      sql/sp_pcontext.cc:
        Added free GOTO labels, and support for coping with jumps out of blocks
        with handlers or cursors.
      sql/sp_pcontext.h:
        Added free GOTO labels, and support for coping with jumps out of blocks
        with handlers or cursors.
      sql/sql_yacc.yy:
        Added GOTO and LABEL, and adjusted backpatching accordingly. Also fixed LEAVE
        out of blocks. The LABEL syntax will go away soon, hopefully.
      9b5a6f72
  13. 29 Jul, 2004 1 commit
    • unknown's avatar
      Fixed BUG#434: Stored procedure which drops itself causes crash. · 4467bcf2
      unknown authored
      Simply disallow it, just as we disallow creation of routines from within
      other SPs.
      
      
      include/mysqld_error.h:
        New error code for when attempting to drop a stored routine from within
        another stored routine.
      mysql-test/r/sp-error.result:
        New test case for BUG#4344.
      mysql-test/t/sp-error.test:
        New test case for BUG#4344.
      sql/share/czech/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/danish/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/dutch/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/english/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/estonian/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/french/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/german/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/greek/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/hungarian/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/italian/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/japanese/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/korean/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/norwegian-ny/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/norwegian/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/polish/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/portuguese/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/romanian/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/russian/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/serbian/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/slovak/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/spanish/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/swedish/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/share/ukrainian/errmsg.txt:
        New error message for when attempting to drop a stored routine from within
        another stored routine.
      sql/sql_yacc.yy:
        Don't allow drop function/procedure from within another function/procedure.
      4467bcf2
  14. 21 Jul, 2004 2 commits
    • unknown's avatar
      after merge fixes · 1d29e6b0
      unknown authored
      sql/opt_range.h:
        compatibility fix
      sql/sql_lex.cc:
        cleanup
      1d29e6b0
    • unknown's avatar
      Fixed BUG#2653: Undeclared variables not detected in stored procedures. · 28287c0d
      unknown authored
      We now get an run-time error instead of a crash (although a slightly misleading
      error message, but it's an improvement).
      
      
      mysql-test/r/sp-error.result:
        New test case for BUG#2653.
      mysql-test/t/sp-error.test:
        New test case for BUG#2653.
      sql/sp_head.cc:
        Detect failed evals (fix item really), which are due to unresolved variables/fields.
        Typically this would be a reference to an undeclared variable.
        (Also got rid of some compiler warnings.)
      sql/sp_rcontext.cc:
        Detect failed evals (fix item really), which are due to unresolved variables/fields.
        Typically this would be a reference to an undeclared variable.
      sql/sp_rcontext.h:
        Changed return type to int, so be able to detect failed evals (fix item).
      sql/sql_class.cc:
        Changed return type to int, so be able to detect failed evals (fix item).
      28287c0d
  15. 15 Jul, 2004 1 commit
    • unknown's avatar
      After merge fixes · 46ea874f
      unknown authored
      Note: The following tests fails
      - fulltext (Sergei has promised to fix)
      - rpl_charset (Guilhem should fix)
      - rpl_timezone (Dimitray has promised to fix)
      
      Sanja needs to check out the calling of close_thread_tables() in sp_head.cc
      
      
      myisam/mi_check.c:
        After merge fix
      myisam/sort.c:
        After merge fix
      mysql-test/mysql-test-run.sh:
        Export master socket to mysqltest
      mysql-test/r/func_group.result:
        Make result repeatable
      mysql-test/r/mysqlbinlog.result:
        After merge fix
      mysql-test/r/ps_1general.result:
        After merge fix
      mysql-test/r/ps_2myisam.result:
        After merge fix
      mysql-test/r/ps_3innodb.result:
        After merge fix
      mysql-test/r/ps_4heap.result:
        After merge fix
      mysql-test/r/ps_5merge.result:
        After merge fix
      mysql-test/r/ps_6bdb.result:
        After merge fix
      mysql-test/r/rpl_flush_log_loop.result:
        After merge fix
      mysql-test/r/rpl_replicate_do.result:
        After merge fix
      mysql-test/r/rpl_temporary.result:
        After merge fix
      mysql-test/r/rpl_timezone.result:
        After merge fix
        Note that this test fails now (Dimitry has promised to fix this)
      mysql-test/r/rpl_user_variables.result:
        After merge fix
      mysql-test/r/select.result:
        After merge fix
      mysql-test/r/sp-error.result:
        After merge fix
      mysql-test/r/sp-security.result:
        After merge fix
      mysql-test/r/sp.result:
        After merge fix
      mysql-test/r/user_var.result:
        After merge fix
      mysql-test/r/variables.result:
        After merge fix
      mysql-test/t/alter_table.test:
        After merge fix
      mysql-test/t/derived.test:
        After merge fix
      mysql-test/t/func_group.test:
        Make result repeatable
      mysql-test/t/grant_cache.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/multi_update.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000015.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000017.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl000018.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl_charset.test:
        After merge fix
      mysql-test/t/rpl_heap.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/rpl_rotate_logs.test:
        Use MASTER_MYSOCK instead of master.sock
      mysql-test/t/sp-error.test:
        after merge fix
      mysql-test/t/sp-security.test:
        after merge fix
      mysql-test/t/user_var.test:
        after merge fix
      scripts/mysql_fix_privilege_tables.sh:
        This can now be exectued from the source distribution
      sql/handler.cc:
        Cleanup
      sql/handler.h:
        More debugging
      sql/item.h:
        Indentation fixes
      sql/item_cmpfunc.cc:
        After merge fixes
      sql/opt_range.cc:
        After merge fixes
      sql/opt_range.h:
        After merge fixes
      sql/sp.cc:
        After merge fixes
      sql/sp_head.cc:
        Remove closing of thread tables in a SP function as this caused a core dump.
        (Has to be fixed better)
      sql/sql_base.cc:
        More debugging
      sql/sql_handler.cc:
        After merge fixes
        (We have to call ha_index_or_rnd_end() before calling close_thread_table())
      sql/sql_parse.cc:
        More debugging
      sql/sql_prepare.cc:
        After merge fixes
      sql/sql_select.cc:
        After merge fixes
      46ea874f
  16. 15 Jun, 2004 1 commit
    • unknown's avatar
      Fixed BUG#3339: Stored procedures in nonexistent schemas are uncallable. · 44d2934f
      unknown authored
      Also added some related security tests and corrected related error messages.
      
      
      mysql-test/r/sp-error.result:
        New test case for BUG#3339, and updated results for other modified error messages.
      mysql-test/r/sp-security.result:
        Added tests for creating procedures in another database with and wihout
        access rights.
      mysql-test/t/sp-error.test:
        New test case for BUG#3339.
      mysql-test/t/sp-security.test:
        Added tests for creating procedures in another database with and wihout
        access rights.
      sql/sp.cc:
        Check existance (and access rights) for database when creating a stored routine.
      sql/sp.h:
        New error return value for sp_create_* functions, for non existing database.
      sql/sql_parse.cc:
        Check error return for create stored routine (non existing database),
        and corrected the error output for some other commands. (Use qualified
        name, not just name.)
      44d2934f
  17. 09 Jun, 2004 1 commit
  18. 14 May, 2004 1 commit
    • unknown's avatar
      Post-merge fixes. · 3a272c1f
      unknown authored
      Note: One sp.test still fails (prime), and rpl_server_id2.test fails (will be fixed by guilhem ASAP).
      
      
      mysql-test/r/index_merge.result:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/r/index_merge_bdb.result:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/r/index_merge_innodb.result:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/r/index_merge_innodb2.result:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/r/rpl_server_id1.result:
        Update result after merge.
      mysql-test/r/sp-error.result:
        Update result after merge.
      mysql-test/r/variables.result:
        Update result after merge.
      mysql-test/t/index_merge.test:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/t/index_merge_bdb.test:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/t/index_merge_innodb.test:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/t/index_merge_innodb2.test:
        Fixed syntax error (no ',' after last index in create table any more).
      mysql-test/t/sp-error.test:
        Post-merge fix of error codes.
      sql/opt_range.cc:
        Manually merged by Monty.
      sql/opt_range.h:
        Manually merged by Monty.
      sql/slave.cc:
        Post-merge fixes with some help from Guilhem.
      sql/slave.h:
        Post-merge fixes with some help from Guilhem.
      sql/sp_head.cc:
        Got rid of warning (reordering initialization).
      sql/sql_parse.cc:
        Post-merge fix: Need to set/reset select_limit at SP CALL time as well.
      tests/client_test.c:
        Post-merge fix: key_len length in explain has changed.
      3a272c1f
  19. 28 Apr, 2004 1 commit
    • unknown's avatar
      Post-merge fixes, some quite complex. client/mysqlbinlog.cc and sql/log_event.cc · 2eecc377
      unknown authored
      merged manually by guilhem.
      
      
      client/mysqlbinlog.cc:
        Post-merge fixes; manually merged by guilhem.
      include/mysqld_error.h:
        Post-merge fixes.
      mysql-test/r/drop_temp_table.result:
        Post-merge fixes.
      mysql-test/r/insert.result:
        Post-merge fixes.
      mysql-test/r/mysqlbinlog.result:
        Post-merge fixes.
      mysql-test/r/query_cache.result:
        Post-merge fixes.
      mysql-test/r/rpl_error_ignored_table.result:
        Post-merge fixes.
      mysql-test/r/rpl_relayrotate.result:
        Post-merge fixes.
      mysql-test/r/rpl_trunc_binlog.result:
        Post-merge fixes.
      mysql-test/r/sp-error.result:
        Post-merge fixes.
      mysql-test/r/sp.result:
        Post-merge fixes.
      mysql-test/r/system_mysql_db.result:
        Post-merge fixes.
      mysql-test/r/variables.result:
        Post-merge fixes.
      mysql-test/t/rpl_error_ignored_table.test:
        Post-merge fixes.
      mysql-test/t/sp-error.test:
        Post-merge fixes.
      sql/ha_innodb.cc:
        Post-merge fixes.
      sql/log_event.cc:
        Post-merge fixes; manually merged by guilhem.
      sql/set_var.cc:
        Post-merge fixes.
      sql/share/danish/errmsg.txt:
        Post-merge fixes.
      sql/share/dutch/errmsg.txt:
        Post-merge fixes.
      sql/share/english/errmsg.txt:
        Post-merge fixes.
      sql/share/estonian/errmsg.txt:
        Post-merge fixes.
      sql/sp.cc:
        Post-merge fixes.
      sql/sql_insert.cc:
        Post-merge fixes.
      sql/sql_table.cc:
        Post-merge fixes.
      2eecc377
  20. 05 Apr, 2004 1 commit
    • unknown's avatar
      Fixed BUG#3287: Stored procedure handler scope outside of begin/end. · 4a7c72e9
      unknown authored
      Backpatching overwrote already backpatched instructions, which made it
      skip the hpop instruction; possibly not only a problem for handlers,
      but this is one known case when it happened.
      
      
      mysql-test/r/sp-error.result:
        New testcase for BUG#3287
      mysql-test/t/sp-error.test:
        New testcase for BUG#3287
      sql/sp_head.cc:
        Made the debug printout of hpush_jump instructions somewhat clearer.
      sql/sp_head.h:
        Don't backpatch the same instruction more than once.
      4a7c72e9
  21. 29 Mar, 2004 2 commits
    • unknown's avatar
      Fixed BUG#3287: Stored Procedure Case Statement Not SQL:2003 Compliant. · 5c7f368b
      unknown authored
      include/mysqld_error.h:
        New error code for missing ELSE in SP CASE statement.
      include/sql_state.h:
        New error code for missing ELSE in SP CASE statement.
      mysql-test/r/sp-error.result:
        Test case for missing ELSE in SP CASE statement.
      mysql-test/t/sp-error.test:
        Test case for missing ELSE in SP CASE statement.
      sql/share/czech/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/danish/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/dutch/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/english/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/estonian/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/french/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/german/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/greek/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/hungarian/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/italian/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/japanese/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/korean/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/norwegian-ny/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/norwegian/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/polish/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/portuguese/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/romanian/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/russian/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/serbian/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/slovak/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/spanish/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/swedish/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/share/ukrainian/errmsg.txt:
        New error message for missing ELSE in SP CASE statement.
      sql/sql_yacc.yy:
        Generate run-time error instruction when no ELSE in SP CASE statement.
      5c7f368b
    • unknown's avatar
      Enforce standard declaration order in SPs. · 7456a3e9
      unknown authored
      Added new test cases for this, and adjusted old tests accordingly,
      and new error codes and messages.
      Fixed bugs in some tests (bug2673 and use test).
      Added debug printing of instructions in SPs.
      
      
      include/mysqld_error.h:
        New error codes for non-standard declaration order in SPs.
      include/sql_state.h:
        New error codes for non-standard declaration order in SPs.
      mysql-test/r/sp-error.result:
        Enforce standard declaration order.
        Fixed syntax error in use-test.
        New test cases for wrong order.
      mysql-test/r/sp.result:
        Enforce strict declaration order.
        Fixed platform dependent bug2673 test.
      mysql-test/t/sp-error.test:
        Enforce standard declaration order.
        Fixed syntax error in use-test.
        New test cases for wrong order.
      mysql-test/t/sp.test:
        Enforce strict declaration order.
        Fixed platform dependent bug2673 test.
      sql/share/czech/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/danish/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/dutch/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/english/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/estonian/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/french/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/german/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/greek/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/hungarian/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/italian/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/japanese/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/korean/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/norwegian-ny/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/norwegian/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/polish/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/portuguese/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/romanian/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/russian/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/serbian/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/slovak/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/spanish/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/swedish/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/share/ukrainian/errmsg.txt:
        New error messages for strict (standard) declaration order in SPs.
      sql/sp_head.cc:
        Debug printing of instructions in procedures.
        New error instruction for future use.
      sql/sp_head.h:
        Debug printing of instructions in procedures.
        New error instruction for future use.
      sql/sql_string.cc:
        New methods needed by debug printing of instruction in SPs.
      sql/sql_string.h:
        New methods needed by debug printing of instruction in SPs.
      sql/sql_yacc.yy:
        Check for standard order of declarations in SPs.
      7456a3e9
  22. 11 Mar, 2004 1 commit
    • unknown's avatar
      WL#1366: Use the schema (db) associated with an SP. · eb4aa092
      unknown authored
      Phase 2: Make SPs belong to a DB, and use qualified names.
        As a side effect, using USE in an SP is no longer allowed.
        (It just doesn't work otherwise.)
      
      
      include/mysqld_error.h:
        New error code (USE is no longer allowed in a stored procedure).
      include/sql_state.h:
        New error state (USE is no longer allowed in a stored procedure).
      mysql-test/r/sp-error.result:
        Updated result for test of USE in SP (not allowed now).
      mysql-test/r/sp-security.result:
        Updated test results for new db column and qualified procedured names.
      mysql-test/r/sp.result:
        Updated results for USE in SP (as it's no longer allowed), and
        for new db column in status result.
      mysql-test/t/sp-error.test:
        Moved test of USE in SP from sp.test (as it's no longer allowed).
      mysql-test/t/sp-security.test:
        Ajusted tests for new db column and qualified procedured names.
      mysql-test/t/sp.test:
        Moved test of USE in SP to sp-error.test (as it's no longer allowed).
        Adjusted tests for new db column in status result.
      sql/mysql_priv.h:
        mysql_change_db() now has optional arguments for use by SP with qualified names.
      sql/share/czech/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/danish/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/dutch/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/english/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/estonian/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/french/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/german/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/greek/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/hungarian/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/italian/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/japanese/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/korean/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/norwegian-ny/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/norwegian/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/polish/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/portuguese/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/romanian/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/russian/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/serbian/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/slovak/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/spanish/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/swedish/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/share/ukrainian/errmsg.txt:
        New error message: USE is not allowed in a stored procedure.
      sql/sp.cc:
        SPs are now "belong" to a DB and may have qualified names.
        New functions for changing DB ("use") when parsing and invoking SPs.
      sql/sp.h:
        New functions for changing DB ("use") when parsing and invoking SPs.
      sql/sp_cache.cc:
        Use the qualified name in the SP cache.
      sql/sp_head.cc:
        New function for allocating a qualified SP name (used in sql_yacc.yy).
        Change DB when executing an SP (if needed).
        Moved thd_mem_root swap functions from sp_head.h.
      sql/sp_head.h:
        New function for allocating a qualified SP name (used in sql_yacc.yy).
        Moved thd_mem_root swap functions to sp_head.cc.
      sql/sql_db.cc:
        mysql_change_db() now has optional arguments for use by SP with qualified names
        (for use when reading an SP from database and executing it); also allow "unusing"
        a database, i.e. setting thd->thd to "".
      sql/sql_yacc.yy:
        Initialize qualfied SP names correctly.
        USE is no longer allowed in an SP.
      eb4aa092
  23. 11 Feb, 2004 1 commit
  24. 14 Jan, 2004 1 commit
    • unknown's avatar
      Fixed BUG#2329: Crash if insert with variable name in stored procedure. · 61207881
      unknown authored
      Found a few more places in the parser (insert, replace and update) where
      local stored procedure variables should not be recognized.
      
      
      mysql-test/r/sp-error.result:
        Test cases for BUG#2329
      mysql-test/r/sp.result:
        New test case for certain context dependencies for symbols.
      mysql-test/t/sp-error.test:
        Test cases for BUG#2329
      mysql-test/t/sp.test:
        New test case for certain context dependencies for symbols.
      sql/sql_yacc.yy:
        Found a few more places where local SP variables should not be recognized.
      61207881
  25. 08 Jan, 2004 2 commits
    • unknown's avatar
      Fix BUG#2259: Crash after fetch from not-open cursor in stored procedure · 02753573
      unknown authored
      Initialize and test properly when cleaning up, to avoid crash in some error cases.
      
      
      mysql-test/r/sp-error.result:
        Test case for BUG#2259
      mysql-test/t/sp-error.test:
        Test case for BUG#2259
      sql/sp_rcontext.cc:
        Cleanup in a more controlled way to avoid crashes in some error cases.
        Remove unused variable.
      sql/sp_rcontext.h:
        Initialize member var, for cleanup tests.
      02753573
    • unknown's avatar
      Fix BUG#2272: Crash if update with variable name in stored procedure. · 952e2cd4
      unknown authored
      Parse column names (and not variables) only in UPDATE ... SET ...
      
      
      mysql-test/r/sp-error.result:
        New test case for BUG#2272
      mysql-test/t/sp-error.test:
        New test case for BUG#2272
      sql/sql_yacc.yy:
        "UPDATE table SET id = val" should only recognize column names, and not
        local SP variables for 'id'.
        (Also removed "as locator" syntax which is not supported.)
      952e2cd4
  26. 16 Dec, 2003 1 commit
    • unknown's avatar
      Post-merge fixes. · bc748bef
      unknown authored
      Multiple result sets from stored procedures now works with the
      mysql and mysqltest clients.
      
      
      client/mysqltest.c:
        Post-merge fixes.
      mysql-test/r/index_merge_innodb.result:
        Post-merge fixes.
      mysql-test/r/sp-error.result:
        Post-merge fixes.
        Removed now obsolete error test for multiple selects (without "into").
      mysql-test/r/sp.result:
        Post-merge fixes.
        Added test for mulple result sets.
      mysql-test/r/variables.result:
        Post-merge fixes.
      mysql-test/t/index_merge_innodb.test:
        Post-merge fixes.
      mysql-test/t/sp-error.test:
        Post-merge fixes.
        Removed now obsolete error test for multiple selects (without "into").
      mysql-test/t/sp.test:
        Post-merge fixes.
        Added test for mulple result sets.
      sql/lex.h:
        Post-merge fixes.
      bc748bef
  27. 13 Dec, 2003 1 commit
    • unknown's avatar
      WL#1365: Implement definer's rights execution of stored procedures. · a6f85eea
      unknown authored
      (Also put the hostpart back in the definer column.)
      
      
      mysql-test/r/sp-error.result:
        Moved error test from sp.test
      mysql-test/r/sp.result:
        Moved error test to sp-error.test.
        Put hostpart back into definer column in mysql.proc.
      mysql-test/t/sp-error.test:
        Moved error test from sp.test
      mysql-test/t/sp.test:
        Moved error test to sp-error.test.
        Put hostpart back into definer column in mysql.proc.
      sql/item_func.cc:
        (Maybe) switch security context before invoking a stored function.
      sql/sp.cc:
        Renamed creator into definer, for more consistent terminology, and put the
        hostpart back.
      sql/sp_head.cc:
        Some fixes in the way things are allocated, and moved set_info() definition
        here from sp_head.h. creator is now called definer, and is split into a
        user and host part.
        Added functions for (possible) change and restore of privileges, for sql security
        definer calls.
      sql/sp_head.h:
        Moved set_info() definition here from sp_head.h.
        creator is now called definer, and is split into a user and host part.
        Added functions for (possible) change and restore of privileges, for sql security
        definer calls.
      sql/sql_acl.cc:
        New function acl_getroot_no_password() for getting the privileges used when
        calling an SP with sql security definer.
      sql/sql_acl.h:
        New function acl_getroot_no_password() for getting the privileges used when
        calling an SP with sql security definer.
      sql/sql_parse.cc:
        (Maybe) switch security context before invoking a stored procedure.
      sql/sql_yacc.yy:
        Fixed typo.
      a6f85eea
  28. 05 Dec, 2003 1 commit
  29. 04 Dec, 2003 1 commit
    • unknown's avatar
      Fixed BUG#336: Subselects with tables does not work as values for local SP variables · 3aaa8ab9
      unknown authored
       and BUG#1654: Stored Procedure Crash if contains subquery and set function
      
      Disallowed subselects in RETURN (for FUNCTIONs) and SET of local variables.
      The latter should work, but turned out to be difficult to fix, so we just
      disallow it for the time being.
      
      
      include/mysqld_error.h:
        New error message for unsupported subselect as SP set values (for the time being).
      include/sql_state.h:
        New error message for unsupported subselect as SP set values (for the time being).
      mysql-test/r/sp-error.result:
        Test cases for BUG#336 and BUG#1654. (Unsupported use of subselect)
      mysql-test/t/sp-error.test:
        Test cases for BUG#336 and BUG#1654. (Unsupported use of subselect)
      sql/item.cc:
        Made Item_splocal::type() work at compile time, for error checking.
      sql/item.h:
        Made Item_splocal::type() work at compile time, for error checking.
      sql/share/czech/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/danish/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/dutch/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/english/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/estonian/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/french/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/german/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/greek/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/hungarian/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/italian/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/japanese/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/korean/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/norwegian-ny/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/norwegian/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/polish/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/portuguese/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/romanian/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/russian/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/serbian/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/slovak/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/spanish/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/swedish/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/share/ukrainian/errmsg.txt:
        New error message for unsupported subselect as SP set values (for the time being).
      sql/sp_head.cc:
        Fixed (bogus) compile error on HP-UX alpha.
      sql/sql_yacc.yy:
        Disallowed subselects in RETURN (for FUNCTIONs) and SET of local variables.
        The latter should work, but turned out to be difficult to fix, so we just
        disallow it for the time being.
      3aaa8ab9
  30. 01 Dec, 2003 1 commit
  31. 27 Nov, 2003 1 commit
    • unknown's avatar
      Fixed BUG#1965: Opening a cursor hangs client when malformed select fails · 919b5ba6
      unknown authored
        and BUG#1966: "select 1 into a" on top-level hangs client
      
      
      include/mysql_com.h:
        Added no_send_eof flag to NET for SP cursors (the simple read-only version).
      mysql-test/r/sp-error.result:
        Added tests for BUG#1965 and BUG#1966.
      mysql-test/t/sp-error.test:
        Added tests for BUG#1965 and BUG#1966.
      sql/net_serv.cc:
        Added no_send_eof flag to NET for SP cursors (the simple read-only version).
      sql/protocol.cc:
        Added no_send_eof flag to NET for SP cursors (the simple read-only version).
      sql/sp_rcontext.cc:
        Use net->no_send_eof flag to prevent eofs during cursor open (instead of
        the dirty vio=0 which didn't work).
      sql/sp_rcontext.h:
        Use net->no_send_eof flag to prevent eofs during cursor open (instead of
        the dirty vio=0 which didn't work).
      sql/sql_yacc.yy:
        Give error message if doing SELECT ... INTO localvar even if it's outside an SP.
      919b5ba6
  32. 21 Nov, 2003 1 commit
  33. 20 Nov, 2003 1 commit
    • unknown's avatar
      Bugfixes in SHOW CREATE PROCEDURE/FUNCTION and SHOW PROCEDURE/FUNCTION STATUS; · 700ae43d
      unknown authored
      - dropped routines should not show up in status
      - error handling for non-existing routines
      
      + some cleanup.
      
      
      mysql-test/r/sp-error.result:
        Test SHOW CREATE PROCEDURE for non-existing procedure.
      mysql-test/r/sp.result:
        Additional SHOW FUNCTION/PROCEDURE STATUS calls (make sure they don't show
        after being dropped).
      mysql-test/t/sp-error.test:
        Test SHOW CREATE PROCEDURE for non-existing procedure.
      mysql-test/t/sp.test:
        Additional SHOW FUNCTION/PROCEDURE STATUS calls (make sure they don't show
        after being dropped).
      sql/sp.cc:
        Fixed bug in SHOW ... STATUS after a routine has been dropped,
        and fixed the error return codes (for correct error handling).
        Also some general cleanup.
      sql/sp.h:
        Fixed prefix for external functions (should be sp_, not db_).
      sql/sql_parse.cc:
        Fixed error handling in SHOW CREATE PROCEDURE/FUNCTION.
      700ae43d
  34. 19 Nov, 2003 2 commits
    • unknown's avatar
      Post-merge fixes. · afe2186e
      unknown authored
      afe2186e
    • unknown's avatar
      Fixed BUG#1862 (flush table in SPs didn't work). · bd226350
      unknown authored
      Fixed various bugs: setting local variables to NULL, SELECT INTO var now actually
      might work, SELECT INTO with not row now gives a "no data" warning (instead of
      the "empty query" error), etc.
      Updated test cases accordingly.
      
      
      mysql-test/r/sp-error.result:
        Corrected security syntax for alter/create procedure.
      mysql-test/r/sp.result:
        Corrected security syntax for alter/create procedure.
        New tests for setting local variables to null,
        bug fixes for SELECT INTO var, FLUSH TABLES calls (BUG#1862),
        and corrected "no data" warning for SELECT INTO with no rows.
      mysql-test/t/sp-error.test:
        Corrected security syntax for alter/create procedure.
      mysql-test/t/sp.test:
        Corrected security syntax for alter/create procedure.
        New tests for setting local variables to null,
        bug fixes for SELECT INTO var, FLUSH TABLES calls (BUG#1862),
        and corrected "no data" warning for SELECT INTO with no rows.
      sql/lex.h:
        Added SQL_SYM (and added a few _SYM suffixes for new symbols).
      sql/sp_head.cc:
        Fixed bug in the item_list copying for "with_wild" cases (list nodes ended
        up in the wrong memroot).
        Catch errors and warnings even if return values is 0 from sub-statements.
        Restore table_list which is zapped by SQLCOM_CREATE_TABLE and INSERT_SELECT.
        Set old table pointers to NULL after sub-statement call (since all tables are
        closed).
      sql/sql_class.cc:
        Corrected error message when no rows return by a SELECT INTO var; should
        be a "no data" warning.
      sql/sql_lex.h:
        Have to store the original table_list first pointer for some
        sub-statements in SPs.
      sql/sql_yacc.yy:
        Corrected SECURITY INVOKER/DEFINER syntax ("SQL" missing), added some _SYM
        suffixes, and fixed valgrind complaints for SP COMMENTs.
        (Also removed some now irrelevant comments.)
      bd226350