mariadb/mysql-test/include
unknown 6b2f13098a Patch for WL#2894: Make stored routine variables work
according to the standard.

The idea is to use Field-classes to implement stored routines
variables. Also, we should provide facade to Item-hierarchy
by Item_field class (it is necessary, since SRVs take part
in expressions).

The patch fixes the following bugs:
  - BUG#8702: Stored Procedures: No Error/Warning shown for inappropriate data 
    type matching; 
 
  - BUG#8768: Functions: For any unsigned data type, -ve values can be passed 
    and returned; 
 
  - BUG#8769: Functions: For Int datatypes, out of range values can be passed 
    and returned; 
 
  - BUG#9078: STORED PROCDURE: Decimal digits are not displayed when we use 
    DECIMAL datatype; 
 
  - BUG#9572: Stored procedures: variable type declarations ignored; 
 
  - BUG#12903: upper function does not work inside a function; 
 
  - BUG#13705: parameters to stored procedures are not verified; 
 
  - BUG#13808: ENUM type stored procedure parameter accepts non-enumerated
    data; 
 
  - BUG#13909: Varchar Stored Procedure Parameter always BINARY string (ignores 
    CHARACTER SET); 
 
  - BUG#14161: Stored procedure cannot retrieve bigint unsigned;

  - BUG#14188: BINARY variables have no 0x00 padding;

  - BUG#15148: Stored procedure variables accept non-scalar values;


mysql-test/r/ctype_ujis.result:
  Explicitly specify correct charset.
mysql-test/r/schema.result:
  Drop our test database to not affect this test if some test
  left it cause of failure.
mysql-test/r/show_check.result:
  Drop our test database to not affect this test if some test
  left it cause of failure.
mysql-test/r/skip_name_resolve.result:
  Ignore columns with unpredictable values.
mysql-test/r/sp-big.result:
  Add cleanup statement.
mysql-test/r/sp-dynamic.result:
  Add cleanup statements.
mysql-test/r/sp.result:
  Update result file.
mysql-test/r/sum_distinct-big.result:
  Update result file.
mysql-test/r/type_newdecimal-big.result:
  Update result file.
mysql-test/t/ctype_ujis.test:
  Explicitly specify correct charset.
mysql-test/t/schema.test:
  Drop our test database to not affect this test if some test
  left it cause of failure.
mysql-test/t/show_check.test:
  Drop our test database to not affect this test if some test
  left it cause of failure.
mysql-test/t/skip_name_resolve.test:
  Ignore columns with unpredictable values.
mysql-test/t/sp-big.test:
  Add cleanup statement.
mysql-test/t/sp-dynamic.test:
  Add cleanup statements.
mysql-test/t/sp.test:
  Non-scalar values prohibited for assignment to SP-vars;
  polishing.
mysql-test/t/type_newdecimal-big.test:
  Update type specification so that the variables
  can contain the large values used in the test.
sql/field.cc:
  Extract create_field::init() to initialize an existing
  instance of create_field from new_create_field().
sql/field.h:
  Extract create_field::init() to initialize an existing
  instance of create_field from new_create_field().
sql/item.cc:
  - Introduce a new class: Item_sp_variable -- a base class
    of stored-routine-variables classes;
  - Introduce Item_case_expr -- an Item, which is used to access
    to the expression of CASE statement;
sql/item.h:
  - Introduce a new class: Item_sp_variable -- a base class
    of stored-routine-variables classes;
  - Introduce Item_case_expr -- an Item, which is used to access
    to the expression of CASE statement;
sql/item_func.cc:
  Pass the Field (instead of Item) for the return value of
  a function to the function execution routine.
sql/item_func.h:
  Pass the Field (instead of Item) for the return value of
  a function to the function execution routine.
sql/mysql_priv.h:
  Move create_virtual_tmp_table() out of sql_select.h.
sql/sp.cc:
  Use create_result_field() instead of make_field().
sql/sp_head.cc:
  - Add a function to map enum_field_types to Item::Type;
  - Add sp_instr_push_case_expr instruction -- an instruction
    to push CASE expression into the active running context;
  - Add sp_instr_pop_case_expr instruction -- an instruction
    to pop CASE expression from the active running context;
  - Adapt the SP-execution code to using Fields instead of Items
    for SP-vars;
  - Use create_field structure for field description instead of
    a set of members.
sql/sp_head.h:
  - Add a function to map enum_field_types to Item::Type;
  - Add sp_instr_push_case_expr instruction -- an instruction
    to push CASE expression into the active running context;
  - Add sp_instr_pop_case_expr instruction -- an instruction
    to pop CASE expression from the active running context;
  - Adapt the SP-execution code to using Fields instead of Items
    for SP-vars;
  - Use create_field structure for field description instead of
    a set of members.
sql/sp_pcontext.cc:
  - Change rules to assign an index of SP-variable: use
    transparent index;
  - Add an operation to retrieve a list of defined SP-vars
    from the processing context recursively.
sql/sp_pcontext.h:
  - Change rules to assign an index of SP-variable: use
    transparent index;
  - Add an operation to retrieve a list of defined SP-vars
    from the processing context recursively.
sql/sp_rcontext.cc:
  - Change rules to assign an index of SP-variable: use
    transparent index;
  - Use a tmp virtual table to store SP-vars instead of Items;
  - Provide operations to work with CASE expresion.
sql/sp_rcontext.h:
  - Change rules to assign an index of SP-variable: use
    transparent index;
  - Use a tmp virtual table to store SP-vars instead of Items;
  - Provide operations to work with CASE expresion.
sql/sql_class.cc:
  - Reflect Item_splocal ctor changes;
  - Item_splocal::get_offset() has been renamed to get_var_idx().
sql/sql_class.h:
  Polishing.
sql/sql_parse.cc:
  Extract create_field::init() to initialize an existing
  instance of create_field from new_create_field().
sql/sql_select.cc:
  Take care of BLOB columns in create_virtual_tmp_table().
sql/sql_select.h:
  Move create_virtual_tmp_table() out of sql_select.h.
sql/sql_trigger.cc:
  Use boolean constants for boolean type instead of numerical ones.
sql/sql_yacc.yy:
  Provide an instance of create_field for each SP-var.
mysql-test/include/sp-vars.inc:
  The definitions of common-procedures, which are created
  under different circumstances.
mysql-test/r/sp-vars.result:
  Result file for the SP-vars test.
mysql-test/sp-vars.test:
  A new test for checking SP-vars functionality.
2005-12-07 17:01:17 +03:00
..
big_test.inc Moved some old test and added a new test to only be run with mysql-test-run --big 2005-04-07 19:24:14 +03:00
check_var_limit.inc Add detection of in_addr_t 2003-08-28 06:08:17 +03:00
common-tests.inc Add file mysql-test/include/common-tests.inc 2005-10-18 15:38:32 +02:00
ctype_common.inc Privileges columns were removed from output to be able 2004-12-10 17:58:13 +04:00
ctype_filesort.inc bug#7284: strnxfrm returns different results for equal strings 2005-01-13 18:12:04 +04:00
ctype_innodb_like.inc ctype_innodb_like.inc: 2005-07-06 17:16:22 +05:00
ctype_like_escape.inc Bug#13046: LIKE pattern matching using prefix 2005-09-21 23:10:51 +05:00
endspace.inc Move common trailing space checks into an include file. 2004-12-01 19:25:05 +04:00
federated.inc This is the same patch as 1.1937, with small variable declaration changes, memory 2005-07-15 17:33:47 -07:00
federated_cleanup.inc This is the same patch as 1.1937, with small variable declaration changes, memory 2005-07-15 17:33:47 -07:00
gis_generic.inc Add DROP TABLE before trying to create view (in mysqldump) 2005-10-27 22:45:18 +03:00
have_archive.inc Add DROP TABLE before trying to create view (in mysqldump) 2005-10-27 22:45:18 +03:00
have_bdb.inc changes to make things work in the max version 2001-10-04 15:42:25 -06:00
have_big5.inc "like" did not work in some cases with character set big5 2003-12-24 16:59:48 +04:00
have_blackhole.inc Additional storage engine called "blackhole". Customer request, and for that matter a Zawodny request. With this you can alter table to a type of table that would never store data. Its a /dev/null for a database. 2005-03-22 16:10:39 -08:00
have_compress.inc added compress/uncompress function 2003-04-09 20:50:30 -04:00
have_cp932.inc Added cp932 character set 2005-05-05 10:36:17 -07:00
have_cp1250_ch.inc Bug#8840 Empty string comparison and character set 'cp1250' 2005-03-03 14:15:37 +04:00
have_crypt.inc Fixes for Netware 2003-01-28 08:38:28 +02:00
have_csv.inc This is the addition of the CSV engine "aka tina". Its an example engine that works as a plain text file. 2004-08-12 20:57:18 -07:00
have_debug.inc Robustness feature. 2004-06-20 19:11:02 +02:00
have_eucjpms.inc Skip cp932 and eucjpms tests when the character sets are not compiled. 2005-02-01 14:37:51 +04:00
have_exampledb.inc Adding test cases for the example storage engine (so that you can test to see if it was built correctly). 2004-08-13 17:14:36 -07:00
have_federated_db.inc -Added quote_data and needs_quotes (moved from federated handler. 2005-01-20 18:36:40 -08:00
have_gbk.inc ctype-gbk.c: 2005-07-22 21:06:02 +05:00
have_geometry.inc Add DROP TABLE before trying to create view (in mysqldump) 2005-10-27 22:45:18 +03:00
have_innodb.inc changes to make things work in the max version 2001-10-04 15:42:25 -06:00
have_lowercase0.inc Detect comment with command using extra delimiter 2005-09-06 12:33:36 +02:00
have_multi_ndb.inc Fix for Bug #8753 Invalid schema object version after dropping index 2005-03-07 10:21:38 +01:00
have_ndb.inc Merge 2005-02-07 18:05:11 +01:00
have_openssl.inc changes to make things work in the max version 2001-10-04 15:42:25 -06:00
have_outfile.inc Bug#8191 - SELECT INTO OUTFILE insists on FROM clause 2005-05-08 22:56:58 +01:00
have_query_cache.inc A lot of fixes for prepared statements (PS): 2004-10-26 19:30:01 +03:00
have_sjis.inc #3290: Can't convert sjis&ujis half-width katakana correctly 2004-03-25 14:29:56 +04:00
have_tis620.inc Bug 1552: 2003-12-25 20:11:01 +04:00
have_ucs2.inc Character set sets now check if required non-dynamic charsets were really compiled 2003-05-23 15:10:05 +05:00
have_ujis.inc Character set sets now check if required non-dynamic charsets were really compiled 2003-05-23 15:10:05 +05:00
im_check_os.inc WL#2789 "Instance Manager: test using mysql-test-run testing framework" 2005-10-01 01:14:50 +04:00
is_debug_build.inc Post-review fixes, mainly fixing all print() methods for sp_instr* classes. 2005-11-18 16:30:27 +01:00
master-slave.inc Do not give an error when the user does START SLAVE on an already 2003-03-03 23:12:17 +01:00
mysqltest-x.inc Bug#12959 mysqltest crashes if testcase passed with -x option 2005-09-05 16:50:32 +02:00
mysqltest_while.inc BUG#11316 mysqltest, problems when assigning value with '#' to $variable 2005-07-15 17:51:43 +02:00
ndb_default_cluster.inc added check in ndb tests that require "default" cluster running 2005-01-26 14:38:13 +01:00
not_embedded.inc After merge fixes 2003-05-21 21:39:58 +03:00
not_openssl.inc BUG#10589: des_encrypt functionality always return NULL 2005-06-17 18:07:46 +02:00
not_windows.inc Skip two tests that fail on Windows that just reflect limitations of 2005-08-03 17:38:55 -07:00
ps_conv.inc Merge mishka.local:/home/my/mysql-4.1 2005-08-25 06:55:48 +03:00
ps_create.inc bug#10466: Datatype "timestamp" displays "YYYYMMDDHHMMSS" irrespective of display sizes. 2005-06-20 12:09:00 +02:00
ps_modify.inc Patch two (the final one) for Bug#7306 "the server side preparedStatement 2005-06-07 14:11:36 +04:00
ps_modify1.inc Small bug fix 2004-12-13 21:00:43 +01:00
ps_query.inc WL#2486 - natural and using join according to SQL:2003 2005-08-23 18:08:04 +03:00
ps_renew.inc Results of WL#1856 "Conversion of client_test.c tests cases to mysqltest 2004-09-25 19:08:02 +04:00
rpl_stmt_seq.inc Fix of 5.0 tree 2005-06-17 14:03:27 +02:00
show_msg.inc Improvement of the auxiliary routines include/show_msg*.inc 2005-06-15 19:16:17 +02:00
show_msg80.inc Post review fixes 2005-06-16 12:46:09 +02:00
sp-vars.inc Patch for WL#2894: Make stored routine variables work 2005-12-07 17:01:17 +03:00
system_db_struct.inc Add all SQL_MODE settings to proc table. (Bug #8902) 2005-03-08 17:40:43 -08:00
test_outfile.inc Bug#8191 - SELECT INTO OUTFILE insists on FROM clause 2005-05-08 22:56:58 +01:00
testdb_only.inc WL#1420 convert NIST test for mysql 2005-01-26 10:19:28 +01:00
varchar.inc Fix bug #10802 Index is not used if table using BDB engine on HP-UX 2005-08-15 13:02:29 +04:00
windows.inc Fix handling of filenames that start the same as reserved filenames 2005-08-31 18:32:15 -07:00