An error occurred fetching the project authors.
  1. 19 May, 2004 1 commit
    • unknown's avatar
      PS and SP made compatible in mechanism used for preparing query for rexecutions (Bug #2266) · d3c902c3
      unknown authored
      mysql-test/r/sp.result:
        test suite for Bug #2266
      mysql-test/t/sp.test:
        test suite for Bug #2266
      sql/item_subselect.cc:
        made ancestor for Statement (Item_arena)
      sql/item_subselect.h:
        made ancestor for Statement (Item_arena)
      sql/item_sum.cc:
        made ancestor for Statement (Item_arena)
      sql/item_sum.h:
        made ancestor for Statement (Item_arena)
      sql/mysql_priv.h:
        reset_stmt_for_execute use PS and SP
      sql/sp_head.cc:
        sp_head use Item_arena as ancestor to be PS cleunup compatible
        SP use PS storing/restoring/cleanup mechanisms
        cleanup() of SP Items added
        Items created in temporary memory pool during SP execution saved for normal freeing after SP execution
      sql/sp_head.h:
        sp_head use Item_arena
      sql/sql_base.cc:
        made ancestor for Statement (Item_arena)
        results of wild_setup made permanent
        setup_conds make natural joins expanding only once and store results in PS/SP memory
      sql/sql_class.cc:
        made ancestor for Statement (Item_arena)
      sql/sql_class.h:
        made ancestor for Statement (Item_arena)
        method to detect PS preparation added
      sql/sql_delete.cc:
        storing where for DELETE and mark first execution
      sql/sql_derived.cc:
        use method
      sql/sql_insert.cc:
        mark first execution for INSERT
      sql/sql_lex.cc:
        flags to correctly make transformations of query and storing them in memory of PS/SP
        made ancestor for Statement (Item_arena)
      sql/sql_lex.h:
        reved variable od SP ol saving data
        flags to correctly make transformations of query and storing them in memory of PS/SP
      sql/sql_parse.cc:
        cleunup unit for any query
      sql/sql_prepare.cc:
        made ancestor for Statement (Item_arena)
        storing where moved to preparation
        changed interface of reset_stmt_for_execute to use it is SP
        do not restore where/order by/group by before first execution (but tables and unit can be chenged without execution and should be prepared (subqueries executes on demand))
      sql/sql_select.cc:
        storing where for SELECT/multi-DELETE/... and mark first execution
      sql/sql_union.cc:
        made ancestor for Statement (Item_arena)
      sql/sql_update.cc:
        storing where for UPDATE and mark first execution
      d3c902c3
  2. 13 May, 2004 2 commits
  3. 04 May, 2004 2 commits
    • unknown's avatar
      Correction of WL#1567: row_count() is -1 following non-insert/update/delete · 990ec253
      unknown authored
      statements.
      
      
      mysql-test/r/sp.result:
        Added row_count() test for non-insert/update/delete statement.
      mysql-test/t/sp.test:
        Added row_count() test for non-insert/update/delete statement.
      sql/sql_class.h:
        thd->row_count_func must be signed for JDBC/ODBC (can be -1).
      sql/sql_parse.cc:
        Reset thd->row_count_func to -1 for non-insert/update/delete statements.
      990ec253
    • unknown's avatar
      WL#1567: Add ROW_COUNT() Function to retrieve count of rows updated/inserted/deleted · 57029ca4
      unknown authored
      mysql-test/r/sp.result:
        New test cases for function ROW_COUNT().
      mysql-test/t/sp.test:
        New test cases for function ROW_COUNT().
      sql/item_func.cc:
        New Item_func_row_count.
      sql/item_func.h:
        New Item_func_row_count.
      sql/lex.h:
        New symbol for function ROW_COUNT().
      sql/sql_class.h:
        New slot in THD for storing the row_count after insert, delete and update.
      sql/sql_delete.cc:
        Set thd->row_count_func when deleting.
      sql/sql_insert.cc:
        Set thd->row_count_func when inserting.
      sql/sql_parse.cc:
        Stored procedure CALLs send the row count from the last insert, delete or update.
      sql/sql_update.cc:
        Set thd->row_count_func when updating.
      sql/sql_yacc.yy:
        New function ROW_COUNT().
      57029ca4
  4. 06 Apr, 2004 3 commits
    • unknown's avatar
      Fixed BUG#2780: Stored procedure exit handler ignored for warnings. · 0a42fa7f
      unknown authored
      Actually catch pushed warnings.
      
      
      mysql-test/r/sp.result:
        New test case for BUG#2780.
      mysql-test/t/sp.test:
        New test case for BUG#2780.
      sql/sql_error.cc:
        Actually attempt to catch pushed warnings when running SPs.
      0a42fa7f
    • unknown's avatar
      Fixed BUG#2776: Stored procedure crash if variable assigned to default. · a7e7d911
      unknown authored
      Keep track on the default value and use it. (Or NULL, if not declared.)
      
      
      mysql-test/r/sp.result:
        New testcases for BUG#2776.
      mysql-test/t/sp.test:
        New testcases for BUG#2776.
      sql/sp_pcontext.cc:
        Initialize local variable default value.
      sql/sp_pcontext.h:
        New method for saving default value.
      sql/sql_yacc.yy:
        If DEFAULT is use as a value in SET variable = ... in an SP, actually use the default.
      a7e7d911
    • unknown's avatar
      Fixed BUG#2772: Function with character set clause fails in stored procedures. · 65f550a2
      unknown authored
      Complex return types were not stored correctly in the mysql.proc table.
      
      
      mysql-test/r/sp.result:
        New testcase for BUG2772.
      mysql-test/t/sp.test:
        New testcase for BUG2772.
      sql/sp_head.cc:
        Pick up character set for "returns" types in functions and add it separately,
        since it's missed when extracting the type during the parser. (Due to LALR
        behaviour.)
      sql/sp_head.h:
        Save the character set for returns clause in functions.
      sql/sql_yacc.yy:
        Pick up character set for "returns" types in functions since it's missed otherwise.
        (Due to LALR behaviour.)
      65f550a2
  5. 29 Mar, 2004 1 commit
    • unknown's avatar
      Enforce standard declaration order in SPs. · 24b98098
      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.
      24b98098
  6. 23 Mar, 2004 1 commit
    • unknown's avatar
      Fixed BUG#3259: Stored procedure names are case sensitive. · cd1d15ed
      unknown authored
      Procedure names were unintentionally case-sensitive when read from the database
      (but case-insensitive when fetched from the cache).
      Note that the DB-part of qualified names is still case-sensitive (for consistency
      with other usage in mysql).
      
      
      Docs/sp-imp-spec.txt:
        Removed "binary" from name and specific_name columns in mysql.proc definition.
      mysql-test/r/sp.result:
        Test case for BUG#3259; SP names were supposed to be case-insensitive.
      mysql-test/t/sp.test:
        Test case for BUG#3259; SP names were supposed to be case-insensitive.
      scripts/mysql_create_system_tables.sh:
        Removed "binary" from name and specific_name columns in mysql.proc definition.
      scripts/mysql_fix_privilege_tables.sql:
        Removed "binary" from name and specific_name columns in mysql.proc definition,
        and added a corresponding ALTER TABLE to fix existing tables.
      sql/sp.cc:
        Added missing init of variable.
      cd1d15ed
  7. 22 Mar, 2004 1 commit
    • unknown's avatar
      WL#1366: Use the schema (db) associated with an SP. · af7bb7bd
      unknown authored
      Phase 4 (final): Remove associated stored procedures when a database is dropped.
      
      
      mysql-test/r/sp-security.result:
        drop database now deletes associated SPs.
      mysql-test/r/sp.result:
        drop database now deletes associated SPs.
      mysql-test/t/sp-security.test:
        drop database now deletes associated SPs.
      mysql-test/t/sp.test:
        drop database now deletes associated SPs.
      sql/sp.cc:
        New function for deleting all SPs associated with a database.
      sql/sp.h:
        New function for deleting all SPs associated with a database.
      sql/sp_cache.cc:
        New function for just invalidating all SP caches (when dropping a database).
      sql/sp_cache.h:
        New function for just invalidating all SP caches (when dropping a database).
      sql/sql_db.cc:
        When dropping a database, also delete all associated SPs.
      af7bb7bd
  8. 17 Mar, 2004 1 commit
    • unknown's avatar
      Fix BUG#2674: Crash if return system variable in stored procedures. · df52ba73
      unknown authored
      Had to initialize some fields in lex before parsing an SP read from
      mysql.proc.
      
      
      mysql-test/r/sp.result:
        New test case for BUG#2674.
      mysql-test/t/sp.test:
        New test case for BUG#2674.
      sql/sp.cc:
        We need to initialize some thd->lex fields (e.g. unit master pointers) since
        LEX::uncacheable() depends on this, and it's called when looking up system
        variables during parsing.
      df52ba73
  9. 11 Mar, 2004 1 commit
    • unknown's avatar
      WL#1366: Use the schema (db) associated with an SP. · 12b98827
      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.
      12b98827
  10. 03 Feb, 2004 2 commits
    • unknown's avatar
      Fixed test for BUG#2614 (right name, right place, etc...), · 65aa13a9
      unknown authored
      and updated sp.result as well.
      
      
      mysql-test/r/sp.result:
        Fixed test for BUG#2614 (right name, right place, etc...),
        and updated this file as well.
      mysql-test/t/sp.test:
        Fixed test for BUG#2614 (right name, right place, etc...)
      65aa13a9
    • unknown's avatar
      sp.test: · 050c03b5
      unknown authored
        test case for the fix for bug #2614
      sp_head.cc:
        A fix for a crashing bug in stored procedures with INSERT ... SELECT ... (Bug #2514)
      
      
      sql/sp_head.cc:
        A fix for a crashing bug in stored procedures with INSERT ... SELECT ... (Bug #2514)
      mysql-test/t/sp.test:
        test case for the fix for bug #2614
      050c03b5
  11. 21 Jan, 2004 1 commit
    • unknown's avatar
      Fixed BUG#2227: Server crash with stored procedure call. · 2d32957c
      unknown authored
      (Meaning "... with SELECT v", where v is a local variable.)
      
      
      mysql-test/r/sp.result:
        Test case for BUG#2227
      mysql-test/t/sp.test:
        Test case for BUG#2227
      sql/item.h:
        Item_splocal::send() needed for "SELEC v", where "v" is a local variable.
        Also set the field name.
      sql/sp_head.cc:
        Have to get decimals and max_length right for reals, when SELECT of local variables.
      2d32957c
  12. 14 Jan, 2004 2 commits
    • unknown's avatar
      Fixed BUG#2267: Lost connect if stored procedure has SHOW FUNCTION STATUS. · 10cdb0e1
      unknown authored
      (This might not be enough, could be more statements that must be detected...)
      
      
      mysql-test/r/sp.result:
        Test case for BUG#2267
      mysql-test/t/sp.test:
        Test case for BUG#2267
      sql/sp.cc:
        Code clean-up: Get the correct order of print-outs in debug trace.
      sql/sql_yacc.yy:
        Detect "select-like" statements so that the multi result flag is set correctly.
      10cdb0e1
    • unknown's avatar
      Fixed BUG#2329: Crash if insert with variable name in stored procedure. · 8292b91d
      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.
      8292b91d
  13. 08 Jan, 2004 1 commit
  14. 16 Dec, 2003 1 commit
    • unknown's avatar
      Post-merge fixes. · 6462c691
      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.
      6462c691
  15. 13 Dec, 2003 1 commit
    • unknown's avatar
      WL#1365: Implement definer's rights execution of stored procedures. · 2123263a
      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.
      2123263a
  16. 12 Dec, 2003 1 commit
    • unknown's avatar
      In order to make ALTER PROCEDURE|FUNCTION work correctly, and in general to · d61de900
      unknown authored
      make characteristics (and SHOW) work right, we had to separate the old
      definition blob in the mysql.proc table into separate fields for parameters,
      return type, and body, and handle the characteristics (like SQL SECURITY)
      separately... and then reassemble the CREATE string for parsing, of course.
      This is rather ugly, mostly the parser bit. (Hopefully that will be better
      with the new parser.)
      
      
      Docs/sp-imp-spec.txt:
        Separated the definitions string of the procedure into different columns
        in the mysql.proc schema.
      mysql-test/r/sp.result:
        New characteristics tests.
      mysql-test/t/sp.test:
        New characteristics tests.
      scripts/mysql_create_system_tables.sh:
        Separated the definitions string of the procedure into different columns
        in the mysql.proc schema.
      scripts/mysql_fix_privilege_tables.sql:
        Separated the definitions string of the procedure into different columns
        in the mysql.proc schema.
      sql/sp.cc:
        Separated the definitions string of the procedure into different columns.
        Rewrote much of the code related this (have a assemble the definition
        string from its different parts now) and the way characteristics are now
        handled, in order to make ALTER actually work.
      sql/sp.h:
        Changed prototypes.
      sql/sp_head.cc:
        Rewrote much of the code related to the new mysql.proc schema with separate
        definition fields (have to assemble the definition string from its different
        parts now) and the way characteristics are now handled, in order to make ALTER
        actually work.
      sql/sp_head.h:
        Separated the different parts of the definition strings: name, parameters,
        return type (for functions) and body.
      sql/sql_yacc.yy:
        Separated the different parts of the definition strings: name, parameters,
        return type (for functions) and body.
        This is ugly and messy; hopefully there's a more elegant way to do this
        when the new parser is installed.
      d61de900
  17. 11 Dec, 2003 1 commit
    • unknown's avatar
      WL#1364: Store some environmental values with SPs and use at invokation · 21af9f19
      unknown authored
      sql_mode is stored and used with SPs.
      sql_select_limit is always unlimited in SPs.
      
      
      mysql-test/r/sp.result:
        Test case for mode settings.
      mysql-test/t/sp.test:
        Test case for mode settings.
      sql/sp.cc:
        Store the sql_mode with the SP and reset it on retrieval.
        sql_select_limit is always maximum (default) in an SP,
        regardless of the setting at the time of create or call.
      21af9f19
  18. 05 Dec, 2003 1 commit
  19. 01 Dec, 2003 1 commit
  20. 20 Nov, 2003 3 commits
    • unknown's avatar
      Fixed BUG#1874: Don't call fix_fields() indiscriminately, it resets null_value · de0eec17
      unknown authored
      for some items, which made aggregates like MIN(), MAX() and SUM() fail.
      
      
      mysql-test/r/sp.result:
        Test case for aggregate functions in SELECT INTO. (BUG#1874)
      mysql-test/t/sp.test:
        Test case for aggregate functions in SELECT INTO. (BUG#1874)
      de0eec17
    • unknown's avatar
      Handle null values correctly in SP local variables. · f5075e68
      unknown authored
      mysql-test/r/sp.result:
        Test for handling of null values.
      mysql-test/t/sp.test:
        Test for handling of null values.
      sql/item.h:
        Update null_value correctly in Item_splocal.
      f5075e68
    • unknown's avatar
      Bugfixes in SHOW CREATE PROCEDURE/FUNCTION and SHOW PROCEDURE/FUNCTION STATUS; · d9e6810e
      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.
      d9e6810e
  21. 19 Nov, 2003 2 commits
    • unknown's avatar
      Post-merge fixes. · 5603426a
      unknown authored
      5603426a
    • unknown's avatar
      Fixed BUG#1862 (flush table in SPs didn't work). · 1017f0cb
      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.)
      1017f0cb
  22. 17 Nov, 2003 1 commit
    • unknown's avatar
      WL#1241: SHOW PROCEDURE/FUNCTION · ad97ee12
      unknown authored
      WL#1263: Support for the attributes COMMENT and SUID
               in CREATE/ALTER PROCEDURE/FUNCTION
      
      
      include/mysqld_error.h:
        Error code for 'alter procedure'
      mysql-test/r/sp-error.result:
        Test for WL#1241&WL#1263
      mysql-test/r/sp.result:
        Test for WL#1241&WL#1263
      mysql-test/t/sp-error.test:
        Test for WL#1241&WL#1263
      mysql-test/t/sp.test:
        Test for WL#1241&WL#1263
      sql/share/czech/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/danish/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/dutch/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/english/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/estonian/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/french/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/german/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/greek/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/hungarian/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/italian/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/japanese/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/korean/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/norwegian-ny/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/norwegian/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/polish/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/portuguese/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/romanian/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/russian/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/serbian/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/slovak/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/spanish/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/swedish/errmsg.txt:
        Error massage for 'alter procedure'
      sql/share/ukrainian/errmsg.txt:
        Error massage for 'alter procedure'
      ad97ee12
  23. 13 Nov, 2003 1 commit
    • unknown's avatar
      Various bug fixes: · ed71e4bd
      unknown authored
        - Duplicate parameters/variables, conditions and cursors (not allowed).
        - ITERATE in labelled BEGIN-END (not allowed).
        - Missing SQLSTATE [VALUE] keywords in CONDITION/HANDLER declaration (added).
        - Empty BEGIN-END (now allowed).
        - End label (now optional).
      
      
      include/mysqld_error.h:
        New error code for duplicate things (vars et al) in SPs.
      mysql-test/r/sp-error.result:
        New error tests for ITERATE in begin-end block and duplicate variables,
        conditions and cursors.
      mysql-test/r/sp.result:
        New tests for empty begin-end blocks, overriding local variables outside scope
        only, leave a begin-end block, and SQLSTATE [VALUE] words for CONDITION/HANDLER
        declarations.
      mysql-test/t/sp-error.test:
        New error tests for ITERATE in begin-end block and duplicate variables,
        conditions and cursors.
      mysql-test/t/sp.test:
        New tests for empty begin-end blocks, overriding local variables outside scope
        only, leave a begin-end block, and SQLSTATE [VALUE] words for CONDITION/HANDLER
        declarations.
      sql/lex.h:
        New SQLSTATE keyword.
      sql/share/czech/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/danish/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/dutch/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/english/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/estonian/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/french/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/german/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/greek/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/hungarian/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/italian/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/japanese/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/korean/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/norwegian-ny/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/norwegian/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/polish/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/portuguese/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/romanian/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/russian/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/serbian/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/slovak/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/spanish/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/swedish/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/share/ukrainian/errmsg.txt:
        New error message for duplicate things (vars et al) in SPs.
      sql/sp_pcontext.cc:
        Keep track on scope limits for error checking of duplicate variables,
        conditions and cursors.
      sql/sp_pcontext.h:
        Keep track on scope limits for error checking of duplicate variables,
        conditions and cursors.
        Also need to flag BEGIN labels to check for illegal ITERATEs.
      sql/sql_yacc.yy:
        End-labels in SPs loop and begin-end blocks are now optional.
        SQLSTATE [VALUE] added to syntax for sqlstates.
        Check for duplicate variable, condition and cursor declarations, but
        only in the same scope.
        Empty BEGIN-END statements now allowed.
        Check if ITERATE is referring to a BEGIN label.
      ed71e4bd
  24. 28 Oct, 2003 1 commit
  25. 23 Oct, 2003 1 commit
    • unknown's avatar
      Post-merge fixes. · 43d04894
      unknown authored
      mysql-test/r/sp-error.result:
        Post-merge fixes. Error codes renumbered.
      mysql-test/r/sp.result:
        Post-merge fixes. Error codes renumbered.
      mysql-test/r/variables.result:
        Post-merge fixes. Error codes renumbered.
      mysql-test/t/sp-error.test:
        Post-merge fixes. Error codes renumbered.
      mysql-test/t/sp.test:
        Post-merge fixes. Error codes renumbered.
      sql/item_subselect.cc:
        Post-merge fixes. thd->lex is a pointer.
      sql/slave.cc:
        Post-merge fixes. Undid imported patch that's not 5.0 compatible.
      sql/sql_parse.cc:
        Post-merge fixes. Changed access API calls, and fixed merge error.
      sql/sql_table.cc:
        Post-merge fixes. No update log in 5.0.
      43d04894
  26. 20 Oct, 2003 1 commit
    • unknown's avatar
      Bugfix; added another method to Item_splocal, updated tests, and added previous · 08e71598
      unknown authored
      fix to functions as well.
      
      
      mysql-test/r/sp.result:
        Modified test to trap yet another bug (now fixed).
      mysql-test/t/sp.test:
        Modified test to trap yet another bug (now fixed).
      sql/item.h:
        Another bugfix; need to override yet another method in Item_splocal.
      sql/sp_head.cc:
        Completed previous initialization bug; now for FUNCTIONs. too.
      08e71598
  27. 17 Oct, 2003 1 commit
    • unknown's avatar
      Bugfix. Local variables are now initialized to null. · f6edbc81
      unknown authored
      mysql-test/r/sp.result:
        New test case for bugfix (when a variable is not set due to an exception).
      mysql-test/t/sp.test:
        New test case for bugfix (when a variable is not set due to an exception).
      sql/item.h:
        Local variables are initialized to null.
      sql/sp_head.cc:
        Local variables are initialized to null.
      f6edbc81
  28. 16 Oct, 2003 1 commit
    • unknown's avatar
      Handle user variables (@-vars) as OUT and INOUT parameters in SPs. · 2cb2900c
      unknown authored
      mysql-test/r/sp.result:
        Test cases for user variables (@-vars) as OUT and INOUT parameters.
      mysql-test/t/sp.test:
        Test cases for user variables (@-vars) as OUT and INOUT parameters.
      sql/item_func.h:
        We need to be able to detect Item_func_get_user_vars when used as arguments to SPs.
      sql/sp_head.cc:
        Handle user variables (@-vars) as OUT and INOUT parameters.
        But we still just ignore it, if it's anything else.
      2cb2900c
  29. 15 Oct, 2003 1 commit
    • unknown's avatar
      Fix for BUG#1547: "SELECT ... WHERE field = var" sometimes give the wrong result in SPs · f582ac0d
      unknown authored
      Two missing methods added to Item_splocal + test case.
      
      
      mysql-test/r/sp.result:
        Test case for BUG#1547
      mysql-test/t/sp.test:
        Test case for BUG#1547
      sql/item.h:
        Fix for BUG#1547: "SELECT ... WHERE field = var" sometimes give the wrong result in SPs
        
        Added missing methods to Item_splocal to get the correct compare function
        and make the optimizer do the right thing.
      f582ac0d
  30. 14 Oct, 2003 1 commit
    • unknown's avatar
      Fix for BUG#1495: Evaluate items before setting a local variable with SELECT INTO. · f96daa69
      unknown authored
      Also copy and restore order_list and group_list for selects in SPs.
      
      
      mysql-test/r/sp.result:
        Test for BUG#1495, and an additional cursor test.
      mysql-test/t/sp.test:
        Test for BUG#1495, and an additional cursor test.
      sql/sp_head.cc:
        Fix BUG#1495: renamed eval_func_item() into sp_eval_func_item() and made it
        non-static.
        Also need to copy and restore order_list and group_list pointers before and
        after execution of a substatement. (Which means these must always be properly
        initialized for all queries.)
      sql/sp_rcontext.cc:
        Fix BUG#1495: Evaluate and set a local variable (for SELECT INTO).
      sql/sp_rcontext.h:
        Fix BUG#1495: Evaluate and set a local variable (for SELECT INTO).
      sql/sql_class.cc:
        Fix BUG#1495: Evaluate and set a local variable (for SELECT INTO).
      sql/sql_class.h:
        Fix BUG#1495: Evaluate and set a local variable (for SELECT INTO); need type for this.
      sql/sql_parse.cc:
        order_list and group_list must be initialized in select_lex for all queries,
        to make SP sub statement execution work.
      sql/sql_yacc.yy:
        Type needed for setting local variables.
      sql/table.h:
        Need a copy of the Item* pointer when executing sub-statements in SPs. (Since
        it's modified and must be restored afterwards.)
      f96daa69
  31. 10 Oct, 2003 1 commit
    • unknown's avatar
      WL#962: Added simple, read-only, non-scrolling, asensitive cursors in SPs, using the · f1beb2a2
      unknown authored
      (updated) Protocol_cursor class.
      Also did some bug fixes.
      
      
      Docs/sp-imp-spec.txt:
        Added CURSOR docs (and fixed typos)
      Docs/sp-implemented.txt:
        Updated for CURSORs
      include/mysqld_error.h:
        New error codes/messages for CURSORs
      libmysqld/Makefile.am:
        SP cursors now needs this.
      mysql-test/r/sp-error.result:
        New tests for cursors.
      mysql-test/r/sp.result:
        New tests for cursors.
      mysql-test/t/sp-error.test:
        New tests for cursors.
      mysql-test/t/sp.test:
        New tests for cursors.
      sql/protocol.cc:
        We now always have Protocol_cursor (SPs use it)
      sql/protocol.h:
        Fixed bugs in Protocol_cursor (for SPs)
      sql/protocol_cursor.cc:
        Fixed bugs in Protocol_cursor (for SPs)
      sql/share/czech/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/danish/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/dutch/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/english/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/estonian/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/french/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/german/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/greek/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/hungarian/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/italian/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/japanese/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/korean/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/norwegian-ny/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/norwegian/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/polish/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/portuguese/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/romanian/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/russian/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/serbian/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/slovak/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/spanish/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/swedish/errmsg.txt:
        New error codes/messages for CURSORs
      sql/share/ukrainian/errmsg.txt:
        New error codes/messages for CURSORs
      sql/sp_head.cc:
        Added cursor support.
        Also fixed problems with item_lists, where pointers and ref_pointer_arrays.
      sql/sp_head.h:
        Added cursor support
      sql/sp_pcontext.cc:
        Added cursor support
      sql/sp_pcontext.h:
        Added cursor support
      sql/sp_rcontext.cc:
        Added cursor support, in particular the new sp_cursor class.
      sql/sp_rcontext.h:
        Added cursor support, in particular the new sp_cursor class.
      sql/sql_lex.h:
        We sometimes need to copy item_lists in LEX when executing substatements in SPs
      sql/sql_yacc.yy:
        Added minimal cursor support (not the full syntax yet).
      f1beb2a2