Commit graph

107 commits

Author SHA1 Message Date
unknown
4c06b4aed7 Fixed BUG#6029: Stored procedure specific handlers should have priority.
mysql-test/r/sp.result:
  New test case for BUG#6022.
mysql-test/t/sp.test:
  New test case for BUG#6022.
sql/sp_rcontext.cc:
  Find the most specific condition handler, not just the first one.
  (And corrected the return type for find_handler)
sql/sp_rcontext.h:
  Corrected return type for find_handler.
2004-10-23 14:23:32 +02:00
unknown
d925bcd8d6 Fixed BUG#6022: Stored procedure shutdown problem with self-calling function.
Fixed the pre-caching of functions. It now gives the expected stack overrun
  error for functions recursing too deep.


mysql-test/r/sp.result:
  New test case for BUG#6022.
mysql-test/t/sp.test:
  New test case for BUG#6022.
sql/sp.cc:
  Cache function first, then recurse, or the pre-caching loops infinitely
  for recursive functions.
2004-10-23 13:30:05 +02:00
unknown
a50cd5c53d Fixed BUG#6030: Stored procedure has no appropriate DROP privilege.
...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.)
2004-10-22 20:29:06 +02:00
unknown
35588c9dd0 Fixed BUG#6027: Stored procedures can be renamed.
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.
2004-10-22 19:05:17 +02:00
unknown
a750003f57 Implemented the stored procedure data access characteristics:
NO SQL
CONTAINS SQL (default)
READS SQL DATA
MODIFIES SQL DATA

These are needed as hints for the replication.
(Before this, we did have the default in the mysql.proc table, but no support in the parser.)


mysql-test/r/sp.result:
  Modified test cases for new data access characteristics.
mysql-test/t/sp.test:
  Modified test cases for new data access characteristics.
scripts/mysql_create_system_tables.sh:
  We now support all the SP data access characteristics (not just CONTAINS SQL).
scripts/mysql_fix_privilege_tables.sql:
  We now support all the SP data access characteristics (not just CONTAINS SQL).
sql/lex.h:
  New tokens for SP data access characteristics.
sql/sp.cc:
  Store, print and support alter of data access characteristics.
sql/sp_head.cc:
  Added SP_ prefix to some symbols.
sql/sql_lex.h:
  Added SP_ prefix to some symbols, and added SP data access enum.
sql/sql_yacc.yy:
  Parse SP data access characteristics.
  (And allow "alter ... language sql", mostly as a formality, it was accidently
   put in the wrong clause before.)
2004-10-14 18:07:09 +02:00
unknown
8b026230ff showing table type now is controled by new parameter 'FULL' of SHOW TABLES command (SHOW FULL TABLES) (as it was decided on last dev conf)
mysql-test/r/connect.result:
  returned SHOW TABLES default behaviour
mysql-test/r/ctype_recoding.result:
  returned SHOW TABLES default behaviour
mysql-test/r/drop.result:
  returned SHOW TABLES default behaviour
mysql-test/r/lowercase_table.result:
  returned SHOW TABLES default behaviour
mysql-test/r/rename.result:
  returned SHOW TABLES default behaviour
mysql-test/r/rpl000009.result:
  returned SHOW TABLES default behaviour
mysql-test/r/rpl_error_ignored_table.result:
  returned SHOW TABLES default behaviour
mysql-test/r/select.result:
  returned SHOW TABLES default behaviour
mysql-test/r/sp.result:
  returned SHOW TABLES default behaviour
mysql-test/r/system_mysql_db.result:
  returned SHOW TABLES default behaviour
mysql-test/r/view.result:
  test of new parameter od SHOW TABLES and default behaviour without parameter
mysql-test/t/view.test:
  test of new parameter od SHOW TABLES and default behaviour without parameter
sql/mysql_priv.h:
  parameter added to mysqld_show_tables
sql/sql_parse.cc:
  parameter added to mysqld_show_tables
sql/sql_show.cc:
  showing table type now is controled by new parameter 'FULL' of SHOW TABLES command (SHOW FULL TABLES)
sql/sql_yacc.yy:
  showing table type now is controled by new parameter 'FULL' of SHOW TABLES command (SHOW FULL TABLES)
2004-10-10 13:15:14 +03:00
unknown
45a7c6581f merge
mysql-test/r/sp.result:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/table.cc:
  Auto merged
2004-10-05 01:10:23 +03:00
unknown
6966e86951 More fixes for strict mode:
More tests.
Better error messages.
Fixed bug when checking if we updated all needed columns for INSERT.
Give an error if we encounter a wrong float value during parsing.
Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS.
Fixed UPDATE IGNORE when using STRICT mode.


include/mysqld_error.h:
  More error messages for strict mode
include/sql_state.h:
  Fixed wrong state
  New error message
mysql-test/r/alter_table.result:
  Updated results for not automatic default fields
mysql-test/r/auto_increment.result:
  Better error messages
mysql-test/r/create.result:
  Updated results for not automatic default fields
  Better error messages
mysql-test/r/ctype_collate.result:
  Updated results for not automatic default fields
mysql-test/r/ctype_latin1_de.result:
  Updated results for not automatic default fields
mysql-test/r/ctype_many.result:
  Updated results for not automatic default fields
mysql-test/r/ctype_recoding.result:
  Updated results for not automatic default fields
mysql-test/r/gis-rtree.result:
  Updated results for not automatic default fields
mysql-test/r/gis.result:
  Updated results for not automatic default fields
mysql-test/r/innodb.result:
  Updated results for not automatic default fields
mysql-test/r/insert.result:
  Better error messages
mysql-test/r/insert_select.result:
  Better error messages
mysql-test/r/isam.result:
  Updated results for not automatic default fields
mysql-test/r/key.result:
  Better error messages
mysql-test/r/merge.result:
  Updated results for not automatic default fields
mysql-test/r/null.result:
  Better error messages
mysql-test/r/null_key.result:
  Better error messages
mysql-test/r/ps_1general.result:
  Updated results for not automatic default fields
mysql-test/r/select.result:
  Drop views that may interfere with later results
mysql-test/r/show_check.result:
  Updated results for not automatic default fields
mysql-test/r/sp.result:
  Updated results for not automatic default fields
mysql-test/r/strict.result:
  More tests
mysql-test/r/type_set.result:
  Updated results for not automatic default fields
mysql-test/r/warnings.result:
  Better error messages
mysql-test/t/insert.test:
  Using wrong float values now gives an error
mysql-test/t/select.test:
  Drop views that may interfere with later results
mysql-test/t/strict.test:
  More tests
scripts/mysql_fix_privilege_tables.sql:
  Add missing DEFAULT's
sql/field.cc:
  Fix some strict mode issues for float and double
sql/field.h:
  Fix DEFAULT handling
sql/item.cc:
  Give an error if we encounter a wrong float value during parsing.
  Give an error if we use DEFAULT() on a field that doesn't have a default value.
sql/item.h:
  Give an error if we encounter a wrong float value during parsing.
sql/mysqld.cc:
  More debug info
sql/share/czech/errmsg.txt:
  Better error messages
sql/share/danish/errmsg.txt:
  Better error messages
sql/share/dutch/errmsg.txt:
  Better error messages
sql/share/english/errmsg.txt:
  Better error messages
sql/share/estonian/errmsg.txt:
  Better error messages
sql/share/french/errmsg.txt:
  Better error messages
sql/share/german/errmsg.txt:
  Better error messages
sql/share/greek/errmsg.txt:
  Better error messages
sql/share/hungarian/errmsg.txt:
  Better error messages
sql/share/italian/errmsg.txt:
  Better error messages
sql/share/japanese/errmsg.txt:
  Better error messages
sql/share/korean/errmsg.txt:
  Better error messages
sql/share/norwegian-ny/errmsg.txt:
  Better error messages
sql/share/norwegian/errmsg.txt:
  Better error messages
sql/share/polish/errmsg.txt:
  Better error messages
sql/share/portuguese/errmsg.txt:
  Better error messages
sql/share/romanian/errmsg.txt:
  Better error messages
sql/share/russian/errmsg.txt:
  Better error messages
sql/share/serbian/errmsg.txt:
  Better error messages
sql/share/slovak/errmsg.txt:
  Better error messages
sql/share/spanish/errmsg.txt:
  Better error messages
sql/share/swedish/errmsg.txt:
  Better error messages
sql/share/ukrainian/errmsg.txt:
  Better error messages
sql/sql_insert.cc:
  Fixed bug in last push of checking of default values.
sql/sql_parse.cc:
  Enum fields has always a default value
sql/sql_show.cc:
  Don't print DEFAULT for columns without a default value in SHOW CREATE/SHOW FIELDS
sql/sql_table.cc:
  Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
sql/sql_update.cc:
  Don't abort for wrong values for UPDATE IGNORE
sql/sql_yacc.yy:
  Abort if we find a wrong float value
sql/table.cc:
  Fixed storing/retrieving of NO_DEFAULT_VALUE_FLAG
2004-10-02 22:20:08 +03:00
unknown
aaa54ac7e7 Fixed BUG#4905: Stored procedure doesn't clear for "Rows affected".
mysql-test/r/sp.result:
  New test case for BUG#4905
mysql-test/t/sp.test:
  New test case for BUG#4905
sql/sql_parse.cc:
  Reset row count before CALL.
2004-09-29 18:55:05 +02:00
unknown
eb4b8b13ff Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into mishka.local:/home/my/mysql-5.0


mysql-test/r/sp.result:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
2004-09-28 20:19:03 +03:00
unknown
2a49121590 Strict mode & better warnings
Under strict mode MySQL will generate an error message if there was any conversion when assigning data to a field.
Added checking of date/datetime fields.
If strict mode, give error if we have not given value to field without a default value (for INSERT)


client/mysqltest.c:
  Added --exit as an option to abort a test in a middle (good for debugging)
include/my_time.h:
  Added flags to allow checking of dates in strict mode
include/mysql_com.h:
  Added flag to check if field has a default value or not
include/mysqld_error.h:
  New error messages for strict mode
include/sql_state.h:
  Fixed SQL states (for strict mode tests)
mysql-test/r/auto_increment.result:
  Updated error messages
mysql-test/r/func_sapdb.result:
  Added test for ALLOW_INVALID_DATES
mysql-test/r/func_str.result:
  Updated error messages
mysql-test/r/func_time.result:
  Updated error messages
mysql-test/r/insert.result:
  Updated error messages
mysql-test/r/loaddata.result:
  Updated error messages
mysql-test/r/select.result:
  Updated error messages
mysql-test/r/sp.result:
  Updated error messages
mysql-test/r/timezone2.result:
  Updated error messages
mysql-test/r/type_datetime.result:
  Updated error messages
mysql-test/r/type_decimal.result:
  Updated error messages
mysql-test/r/type_float.result:
  Updated error messages
mysql-test/r/type_ranges.result:
  Updated error messages
mysql-test/r/type_time.result:
  Updated error messages
mysql-test/r/type_uint.result:
  Updated error messages
mysql-test/r/warnings.result:
  Updated error messages
mysql-test/t/func_sapdb.test:
  Aded test
sql-common/my_time.c:
  Added checking of dates
sql/field.cc:
  Better error messages
  Optimization of warning handling (by introducing of check_int())
  Changed to use my_strtoll10()
sql/field.h:
  Added check_int()
sql/item_func.cc:
  Warnings when dividing by NULL
sql/item_func.h:
  Warnings when dividing by NULL
sql/item_timefunc.cc:
  Testing of date/datetime
  Use macros instead of constants
sql/mysql_priv.h:
  New modes (part of strict mode)
sql/mysqld.cc:
  New modes (part of strict mode)
sql/opt_range.cc:
  Simple optimizations
sql/protocol.cc:
  Add note/warning level to find_handler()
sql/set_var.cc:
  Added mode 'traditional'
sql/share/czech/errmsg.txt:
  New error messages for strict mode
sql/share/danish/errmsg.txt:
  New error messages for strict mode
sql/share/dutch/errmsg.txt:
  New error messages for strict mode
sql/share/english/errmsg.txt:
  New error messages for strict mode
sql/share/estonian/errmsg.txt:
  New error messages for strict mode
sql/share/french/errmsg.txt:
  New error messages for strict mode
sql/share/german/errmsg.txt:
  New error messages for strict mode
sql/share/greek/errmsg.txt:
  New error messages for strict mode
sql/share/hungarian/errmsg.txt:
  New error messages for strict mode
sql/share/italian/errmsg.txt:
  New error messages for strict mode
sql/share/japanese/errmsg.txt:
  New error messages for strict mode
sql/share/korean/errmsg.txt:
  New error messages for strict mode
sql/share/norwegian-ny/errmsg.txt:
  New error messages for strict mode
sql/share/norwegian/errmsg.txt:
  New error messages for strict mode
sql/share/polish/errmsg.txt:
  New error messages for strict mode
sql/share/portuguese/errmsg.txt:
  New error messages for strict mode
sql/share/romanian/errmsg.txt:
  New error messages for strict mode
sql/share/russian/errmsg.txt:
  New error messages for strict mode
sql/share/serbian/errmsg.txt:
  New error messages for strict mode
sql/share/slovak/errmsg.txt:
  New error messages for strict mode
sql/share/spanish/errmsg.txt:
  New error messages for strict mode
sql/share/swedish/errmsg.txt:
  New error messages for strict mode
sql/share/ukrainian/errmsg.txt:
  New error messages for strict mode
sql/sp_rcontext.cc:
  Add note/warning level to find_handler()
sql/sp_rcontext.h:
  Add note/warning level to find_handler()
sql/sql_base.cc:
  Fix bug for detecting crashed table
sql/sql_class.cc:
  Variables for strct mode
sql/sql_class.h:
  Variables for strct mode
sql/sql_error.cc:
  In strict mode, convert warnings to errors
sql/sql_insert.cc:
  Strict mode
  If strict mode, give error if we have not given value to field without a default value
sql/sql_load.cc:
  Strict mode
sql/sql_parse.cc:
  Strict mode.
  Add flag to field if it doesn't have a default value
sql/sql_select.cc:
  Added comment
  Prepare for upper level handling of table->status
sql/sql_union.cc:
  Added THD to write_record()
sql/sql_update.cc:
  Strict mode
sql/table.cc:
  Handling of default values
sql/time.cc:
  Checking of dates
2004-09-28 20:08:00 +03:00
unknown
e2c4279ce2 Fixed BUG#3583: query cache doesn't work for stored procedures.
mysql-test/r/sp.result:
  New test case for BUG#3583.
  (And current query is now set correctly.)
mysql-test/t/sp.test:
  New test case for BUG#3583.
sql/sp_head.cc:
  Set the thd->query and try to use cached query, if any, when executing a statement.
sql/sp_head.h:
  Extract the sub-query and store in sp_instr_stmt.
sql/sql_cache.cc:
  Keep the net->pkt_nr up-to-date when using query cache.
  This makes it work with stored procedures too.
sql/sql_cache.h:
  Keep the net->pkt_nr up-to-date when using query cache.
  This makes it work with stored procedures too.
sql/sql_yacc.yy:
  Extract the sub-query and store in sp_instr_stmt.
  (And it's never safe to cache references to local variables.)
2004-09-17 15:40:38 +02:00
unknown
749c03840a Fixed BUG#4941: Stored procedure crash fetching null value into variable.
mysql-test/r/sp.result:
  New test case for BUG#4941.
mysql-test/t/sp.test:
  New test case for BUG#4941.
sql/protocol_cursor.cc:
  Handle null values.
sql/sp_rcontext.cc:
  Handle null values.
2004-09-10 16:28:11 +02:00
unknown
0994dc396e Fixed BUG#4487: Stored procedure connection aborted if uninitialized char.
mysql-test/r/sp.result:
  New test case for BUG#4487.
mysql-test/t/sp.test:
  New test case for BUG#4487.
sql/item_func.h:
  Propagate null_value properly in sp functions.
2004-09-09 19:08:54 +02:00
unknown
e18b7ea959 Merge on pull
BitKeeper/etc/logging_ok:
  auto-union
include/my_sys.h:
  Auto merged
mysql-test/r/func_in.result:
  Auto merged
2004-09-09 07:26:28 +03:00
unknown
33efc9677d After merge fixes of merge with 4.1 that included the new arena code.
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
2004-09-09 06:59:26 +03:00
unknown
1bf3ce01c4 Fixed BUG#5258: Stored procedure modified date is 0000-00-00.
Althought techically not a but (as it's functioning as designed),
  it was decided that the design should be changed. Some users have
  a problem with dates being '0000-00-00' and the SQL standard specifies
  that the modification date should be the same as the creation date
  at creation.


mysql-test/r/sp.result:
  New test case for BUG#5258.
mysql-test/t/sp.test:
  New test case for BUG#5258.
sql/sp.cc:
  Set the modification time at creation too.
2004-09-08 11:42:18 +02:00
unknown
2c3f49a64d Fixed BUG#5307: Stored procedure allows statement after BEGIN ... END.
mysql-test/r/sp.result:
  New test case for BUG#5307
mysql-test/t/sp.test:
  New test case for BUG#5307
sql/sp_head.cc:
  Use the correct end-of-query pointer when extracting the body in the case
  of a create procedure compound with another statement.
2004-09-02 19:14:34 +02:00
unknown
339859d261 Fixed BUG#5287: Stored procedure crash if leave outside loop.
Bug in diff_handlers and diff_cursors made it attempt to pop
the wrong number at jumps sometimes.


mysql-test/r/sp.result:
  New testcase for BUG#5287.
mysql-test/t/sp.test:
  New testcase for BUG#5287.
sql/sp_pcontext.cc:
  Fixed diff_handlers and diff_cursors methods, they miscounted.
sql/sp_pcontext.h:
  Made m_handlers available for diff_handlers.
2004-09-02 17:24:25 +02:00
unknown
711e887905 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into pcgem.rdg.cyberkinetica.com:/usr/home/acurtis/work/mysql-5.0


mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-08-30 22:11:14 +01:00
unknown
45dd187e7c Fix column name where it starts with a backtick
mysql-test/r/sp.result:
  test for backticks
mysql-test/t/sp.test:
  test for backticks
2004-08-30 22:08:51 +01:00
unknown
3170a8f942 Fixed BUG#5279: Stored procedure packets out of order if CHECKSUM TABLE.
mysql-test/r/sp.result:
  New testcase for BUG#5251.
mysql-test/t/sp.test:
  New testcase for BUG#5251.
sql/sp_head.cc:
  Added checksum to the list of statements that return result sets.
2004-08-30 14:52:21 +02:00
unknown
d410927963 Fixed BUG#5251: mysql changes creation time of a procedure/function when altering.
mysql-test/r/sp.result:
  New test case for BUG#5251.
mysql-test/t/sp.test:
  New test case for BUG#5251.
sql/sp.cc:
  Don't update the created timestamp when doing alter procedure/function.
2004-08-27 16:41:34 +02:00
unknown
071651efbd Major rehacking and cleanup of sp_pcontext.
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.
2004-08-26 12:54:30 +02:00
unknown
ac06195caa Fixed BUG#3157: Crash if stored procedure contains IF EXISTS,
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.
2004-08-24 16:07:39 +02:00
unknown
9b5a6f7228 WL#2002: Implement stored procedure GOTO.
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.
2004-08-17 20:20:58 +02:00
unknown
5e0f34017a Made sp.test more repeatable. 2004-08-13 20:02:52 +04:00
unknown
8602f545dc Removed an SP test case that's not repeatable over different builds/platforms.
mysql-test/r/sp.result:
  Removed a test case that's not repeatable over different builds/platforms.
mysql-test/t/sp.test:
  Removed a test case that's not repeatable over different builds/platforms.
2004-08-06 17:04:55 +02:00
unknown
ba7c743983 Fixed BUG#4904: Stored procedure crash if continue handler for HY000 errors.
The description is not entirerly correct. The issue was follow-up errors
  where the first error is not caught - in which case it's often a system
  error with errcode < 1000 (which are mapped by default to 'HY000'). In this
  case the error state is different from what was assumed in the execution
  loop.


mysql-test/r/sp.result:
  New test case for BUG#4902.
mysql-test/t/sp.test:
  New test case for BUG#4902.
sql/sp_head.cc:
  Don't test the net.report_error flag in the execution loop. (Don't know
  why this was done in the first place, as it seems to serve no purpose.)
2004-08-06 15:21:28 +02:00
unknown
177ef90b57 Fixed BUG#4902: Stored procedure with SHOW WARNINGS leads to packet error,
and tried to do it properly this time, digging out all show commands that
  need the multi results flag set.


mysql-test/r/sp.result:
  New test case for BUG#4902, with lots of other show commands as well.
mysql-test/t/sp.test:
  New test case for BUG#4902, with lots of other show commands as well.
sql/sp_head.cc:
  The check for possible multiple result commands was becomming unwieldly,
  so we moved it to a separate function, and added loads of new command codes
  to the test.
sql/sp_head.h:
  The check for possible multiple result commands was becomming unwieldly,
  so we moved it to a separate function.
sql/sql_yacc.yy:
  The check for possible multiple result commands was becomming unwieldly,
  so we moved it to a separate function.
2004-08-06 13:47:01 +02:00
unknown
96aeecf237 Fixed BUG#4318: Stored Procedure packet error if HANDLER statement,
at least partially. It doesn't crash or give packets out of order
any more, but it's unclear why it doesn't actually return anything
from within an SP. This should be investigated at some point, but
for the moment this will have to do. (It is a rather obscure feature... :)


mysql-test/r/sp.result:
  Test case for BUG#4318.
mysql-test/t/sp.test:
  Test case for BUG#4318.
sql/sql_yacc.yy:
  Recognize HANDLER READ as another statement that might result in multiple results.
2004-07-29 16:52:17 +02:00
unknown
1876125e6d New test case for BUG#4726: Stored procedure crash when looping over SELECT with complex WHERE's.
(The fix was merged in from 4.1)


mysql-test/r/sp.result:
  New test case for BUG#4726.
mysql-test/t/sp.test:
  New test case for BUG#4726.
2004-07-23 19:52:06 +02:00
unknown
8a33c2bc8f Fixed BUG#4579: Execution of SP crashes server.
Sub-CALLs of procedures zapped thd->current_arena for good.


mysql-test/r/sp.result:
  New test case for BUG#4579.
mysql-test/t/sp.test:
  New test case for BUG#4579.
sql/sp_head.cc:
  Keep and restore old thd->current_arena before/after executing an SP,
  instead of just setting it to 0 afterwards.
2004-07-22 16:46:59 +02:00
unknown
46ea874fb7 After merge fixes
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
2004-07-15 04:19:07 +03:00
unknown
05f9e4dd0e Fixed BUG#3368: Stored procedure crash if group_concat(variable).
mysql-test/r/sp.result:
  New test case for BUG#3368.
mysql-test/t/sp.test:
  New test case for BUG#3368.
sql/item.h:
  Corrected const_item() for item_splocal. (Confusing semantics here, but this
  makes group_concat() behave as expected, instead of crashing, and does not
  appear to affect anything else.)
2004-06-15 14:26:19 +02:00
unknown
6fd6652be2 Fixed BUG#3843: ANALYZE TABLE inside stored procedure causes 'Packets out of order' error.
mysql-test/r/sp.result:
  New test case for BUG#3843.
mysql-test/t/sp.test:
  New test case for BUG#3843.
sql/sql_yacc.yy:
  Added another multi results special case for stored procedures (analyze).
2004-06-14 12:38:54 +02:00
unknown
05165962e7 Fixed BUG#3132: Stored function returns empty when used in union.
mysql-test/r/sp.result:
  Added testcase for BUG#3132.
mysql-test/t/sp.test:
  Added testcase for BUG#3132.
sql/item_func.cc:
  Set a useful max_length in Item_func_sp so field widths are correctly calculated.
2004-06-10 17:07:53 +02:00
unknown
6762a65133 Fixed BUG#2564: SHOW CREATE inconsistent W.R.T ANSI_QUOTES.
It's not possible to quote the definition according to the current sql_mode
setting, so instead we use the setting stored with the SP (that's how it's
parsed anyway), and show this setting in the SHOW CREATE output.


mysql-test/r/sp.result:
  Modifed SHOW CREATE FUNCTION|PROCEDURE output. Show the sql_mode used at
  creation as well.
  New test case for BUG#2564: SHOW CREATE inconsistent W.R.T ANSI_QUOTES.
mysql-test/t/sp.test:
  New test case for BUG#2564: SHOW CREATE inconsistent W.R.T ANSI_QUOTES.
sql/sp.cc:
  Rewrote create_string to quote things correctly according to the sql_mode
  used at creation time.
sql/sp_head.cc:
  Store sql_mode in sp_head and use it for SHOW CREATE.
sql/sp_head.h:
  Store sql_mode in sp_head and use it for SHOW CREATE.
2004-06-09 14:19:43 +02:00
unknown
b0921b1f5a Fixed BUG#2460: Crash wih Stored Procedure and UNION.
mysql-test/r/sp.result:
  Added test case for BUG#2460.
mysql-test/t/sp.test:
  Added test case for BUG#2460.
sql/sql_union.cc:
  When called from stored procedures, tabs might be reset already.
2004-05-28 19:43:06 +02:00
unknown
72139b18aa Added test cases for the following bugs that have been fixed by recent changes:
BUG#1863: CREATE TABLE in Stored Procedure sometimes crashes on repeated calls.
 BUG#2656: select with join in stored procedure: erroneous result on 2nd call.
 BUG#3426: IF x IS NULL in stored procedure fails on second call within connection.
 BUG#3448: Stored Procedures with inner joins possible bug.
 BUG#3734: Stored procedure returns wrong rows with fulltext parameter.
 BUG#3863: Stored procedure crash when incrementing variable in a loop.

(And corrected the row count output to the client after CALL)


mysql-test/r/sp.result:
  New test case results for fixed bugs.
mysql-test/t/sp.test:
  New test cases for fixed bugs.
sql/sql_parse.cc:
  Corrected the row_count output to the client.
2004-05-28 18:33:14 +02:00
unknown
16227c28e6 PS and SP made compatible in mechanism used for preparing query for rexecutions (Bug #2266)
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
2004-05-20 02:02:49 +03:00
unknown
f3d691a970 Correction of WL#1567: row_count() is -1 following non-insert/update/delete
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.
2004-05-04 17:18:47 +02:00
unknown
7c4ceb739f WL#1567: Add ROW_COUNT() Function to retrieve count of rows updated/inserted/deleted
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().
2004-05-04 13:45:20 +02:00
unknown
2eecc377a6 Post-merge fixes, some quite complex. client/mysqlbinlog.cc and sql/log_event.cc
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.
2004-04-28 12:08:54 +02:00
unknown
8468cde4f1 Fixed BUG#2780: Stored procedure exit handler ignored for warnings.
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.
2004-04-06 16:29:38 +02:00
unknown
c22ccc136b Fixed BUG#2776: Stored procedure crash if variable assigned to default.
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.
2004-04-06 15:48:58 +02:00
unknown
91dcd01159 Fixed BUG#2772: Function with character set clause fails in stored procedures.
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.)
2004-04-06 13:26:53 +02:00
unknown
7456a3e92f Enforce standard declaration order in SPs.
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.
2004-03-29 11:16:45 +02:00
unknown
220494bde0 Fixed BUG#3259: Stored procedure names are case sensitive.
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.
2004-03-23 12:04:40 +01:00
unknown
645d19f694 WL#1366: Use the schema (db) associated with an SP.
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.
2004-03-22 14:44:41 +01:00