Commit graph

7896 commits

Author SHA1 Message Date
unknown
348efa5220 Fix for bug #15623: Test case rpl000001 and rpl_error_ignored_table failure on MacOSX
and bug #15668: Test 'sp-error' crashes server on Mac OS X.


mysql-test/r/rpl000001.result:
  Fix for bug #15623: Test case rpl000001 and rpl_error_ignored_table failure on MacOSX 
  and bug #15668: Test 'sp-error' crashes server on Mac OS X.
  - accept 2013 error as well.
mysql-test/t/flush_read_lock_kill.test:
  Fix for bug #15623: Test case rpl000001 and rpl_error_ignored_table failure on MacOSX 
  and bug #15668: Test 'sp-error' crashes server on Mac OS X.
  - accept 2013 error as well.
mysql-test/t/rpl000001.test:
  Fix for bug #15623: Test case rpl000001 and rpl_error_ignored_table failure on MacOSX 
  and bug #15668: Test 'sp-error' crashes server on Mac OS X.
  - accept 2013 error as well.
mysql-test/t/rpl_error_ignored_table.test:
  Fix for bug #15623: Test case rpl000001 and rpl_error_ignored_table failure on MacOSX 
  and bug #15668: Test 'sp-error' crashes server on Mac OS X.
  - accept 2013 error as well.
sql/sql_class.cc:
  Fix for bug #15623: Test case rpl000001 and rpl_error_ignored_table failure on MacOSX 
  and bug #15668: Test 'sp-error' crashes server on Mac OS X.
  - don't call the close_active_vio() in case of KILL_QUERY.
2005-12-14 21:42:08 +04:00
unknown
9a3cc2827c Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/Users/kent/mysql/bk/mysql-5.0
2005-12-14 16:50:28 +01:00
unknown
e1a25cb9d6 Fix to make ndb_multi.test (Bug #15401 NDB lock problems) more predictable 2005-12-14 16:29:56 +01:00
unknown
f8f2d51aad bug#15682 - ndb
incorrect handling of varchar in position/rnd_pos

  Commit for 5.0.17 release clone


mysql-test/r/ndb_basic.result:
  bug#15682
mysql-test/t/ndb_basic.test:
  bug#15682
sql/ha_ndbcluster.cc:
  bug#15682
2005-12-14 15:09:12 +01:00
unknown
c1d403cb09 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/local/home/marty/MySQL/mysql-4.1
2005-12-14 14:49:59 +01:00
unknown
61cb138083 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
2005-12-14 14:48:42 +01:00
unknown
7e450c3944 Merge mysql.com:/usr/local/home/marty/MySQL/mysql-4.1
into  mysql.com:/usr/local/home/marty/MySQL/mysql-5.0
2005-12-14 14:46:24 +01:00
unknown
d70270c41f Fix to make ndb_multi.test (Bug #15401 NDB lock problems) more predictable
mysql-test/r/ndb_multi.result:
  Fix to make ndb_multi.test (Bug #15401  NDB lock problems) more preditable
mysql-test/t/ndb_multi.test:
  Fix to make ndb_multi.test (Bug #15401  NDB lock problems) more preditable
2005-12-14 14:45:13 +01:00
unknown
479808bee0 Merge mysql.com:/Users/kent/mysql/bk/mysql-5.0-release
into mysql.com:/Users/kent/mysql/bk/mysql-5.0


mysql-test/r/skip_name_resolve.result:
  Auto merged
mysql-test/t/skip_name_resolve.test:
  Auto merged
sql/sp_head.cc:
  Auto merged
2005-12-14 13:18:24 +01:00
unknown
ed5f4d69bc Merge perch.ndb.mysql.com:/home/jonas/src/mysql-5.0
into  perch.ndb.mysql.com:/home/jonas/src/mysql-5.0-push


mysql-test/r/ndb_basic.result:
  Auto merged
mysql-test/t/ndb_basic.test:
  Auto merged
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
ndb/src/kernel/vm/SimulatedBlock.cpp:
  merge
2005-12-14 11:34:08 +01:00
unknown
2c808bed24 bug#15682 - ndb - invalid handling of varchar in position/rnd_pos
mysql-test/r/ndb_basic.result:
  bug#15682 - invalid handling of varchar in position/rnd_pos
mysql-test/t/ndb_basic.test:
  bug#15682 - invalid handling of varchar in position/rnd_pos
ndb/src/kernel/blocks/dbtc/Dbtc.hpp:
  New error code for invalid key
ndb/src/kernel/blocks/dbtc/DbtcMain.cpp:
  Handle invalid key gracefully
ndb/src/kernel/vm/SimulatedBlock.cpp:
  Handle invalid key gracefully
ndb/src/ndbapi/ndberror.c:
  New error code
sql/ha_ndbcluster.cc:
  Fix varchar keys in position/rnd_pos
2005-12-14 10:57:09 +01:00
unknown
67183a7b8a Fixed test case. 2005-12-14 00:23:46 +02:00
unknown
27970ee72e Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0
into moonbone.local:/work/15268-bug-5.0-mysql
2005-12-13 23:26:35 +03:00
unknown
778d212b8c Fix BUG#12071: "Windows hang:'Opening tables' or 'Waiting for
table' lockup".
 Changes from the innodb-5.0-ss92 snapshot.
 Do not call os_file_create_tmpfile() at runtime. Instead, create
 all tempfiles at startup and guard access to them with mutexes.


innobase/btr/btr0sea.c:
  Changes from the innodb-5.0ss92 snapshot.
innobase/include/buf0buf.h:
  Changes from the innodb-5.0ss92 snapshot.
innobase/include/os0file.h:
  Changes from the innodb-5.0ss92 snapshot.
innobase/include/srv0srv.h:
  Changes from the innodb-5.0ss92 snapshot.
innobase/row/row0ins.c:
  Changes from the innodb-5.0ss92 snapshot.
innobase/srv/srv0srv.c:
  Changes from the innodb-5.0ss92 snapshot.
innobase/srv/srv0start.c:
  Changes from the innodb-5.0ss92 snapshot.
mysql-test/r/innodb.result:
  Changes from the innodb-5.0ss92 snapshot.
mysql-test/t/innodb.test:
  Changes from the innodb-5.0ss92 snapshot.
sql/ha_innodb.cc:
  Changes from the innodb-5.0ss92 snapshot.
2005-12-13 21:35:24 +03:00
unknown
58de4d7e28 Remove confusing printouts from expected to fail "system" commands
client/mysqltest.c:
  Add missing DBUG_VOID_RETURN
  Log failure to run "system" into result log 
  Add DBUG_PRINT for the sleep value used in do_sleep
mysql-test/r/mysqltest.result:
  Update test results
mysql-test/t/mysqltest.test:
  Mask outpu from failed system command
2005-12-13 18:47:34 +01:00
unknown
637232d90b Fix tests after merge
Straighten out and comment behaviour for --require and --result in run_query


client/mysqltest.c:
   If --require or --result has been provided for a query command->record_file file be set.
  In that case it should either dump to file if recording or check with content in file if running.
mysql-test/r/mysqltest.result:
  Fix up tests and results after merge
mysql-test/t/mysqltest.test:
  Fix up tests and results after merge
2005-12-13 18:07:13 +01:00
unknown
6576b3849d Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/wl2930/my50-wl2930-integration
2005-12-13 15:14:18 +01:00
unknown
5e84bbcb8f Fixed BUG#15231: Stored procedure bug with not found condition handler
Make the distinction between "exception conditions" and "completion
  conditions" (warning and "no data") as defined by the standard. The latter
  should not terminate a routine if no handler is found in the lexical scope.


mysql-test/r/sp.result:
  New test case for BUG#15231.
  Moved part of the test for BUG#7049 to the new testcase (since it was actually
  an example of 15231).
mysql-test/t/sp.test:
  New test case for BUG#15231.
  Moved part of the test for BUG#7049 to the new testcase (since it was actually
  an example of 15231).
sql/sp_rcontext.cc:
  Only search for matching condition handlers in caller's contexts if it's
  an exception conditition.
2005-12-13 13:12:42 +01:00
unknown
8c911a25fe Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/alexi/innodb-ss/mysql-4.1-ss11
2005-12-12 22:46:49 +03:00
unknown
50bcb9623d Merge bk-internal:/home/bk/mysql-5.0
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-12-12 11:39:33 -08:00
unknown
d6e5fdf08a Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean


mysql-test/r/bdb.result:
  Resolve conflicts
mysql-test/t/bdb.test:
  Resolve conflicts
sql/sql_delete.cc:
  Resolve conflicts
sql/sql_insert.cc:
  Resolve conflicts
sql/sql_update.cc:
  Resolve conflicts
2005-12-12 10:11:56 -08:00
unknown
8bf4a099a5 Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/M41/mysql-4.1
2005-12-12 19:11:21 +01:00
unknown
8e3f95b555 Fix BUG#12071: "Windows hang: 'Opening tables' or 'Waiting for
table' lockup".
 Changes from the innodb-4.1-ss11 snapshot.
 Do not call os_file-create_tmpfile() at runtime. Instead, create
 a tempfile at startup and guard access to it with a mutex.
 Also, fix bugs:
 10511: "Wrong padding of UCS2 CHAR columns in ON UPDATE CASCADE";
 13778: "If FOREIGN_KEY_CHECKS=0, one can create inconsistent FOREIGN
 KEYs". When FOREIGN_KEY_CHECKS=0 we still need to check that
 datatypes between foreign key references are compatible.
 Also, added test cases (also for bug 9802).


innobase/dict/dict0dict.c:
  Changes from the innodb-4.1-ss11 snapshot
innobase/dict/dict0load.c:
  Changes from the innodb-4.1-ss11 snapshot
innobase/include/dict0dict.h:
  Changes from the innodb-4.1-ss11 snapshot
innobase/include/dict0load.h:
  Changes from the innodb-4.1-ss11 snapshot
innobase/include/os0file.h:
  Changes from the innodb-4.1-ss11 snapshot
innobase/include/rem0cmp.h:
  Changes from the innodb-4.1-ss11 snapshot
innobase/include/srv0srv.h:
  Changes from the innodb-4.1-ss11 snapshot
innobase/rem/rem0cmp.c:
  Changes from the innodb-4.1-ss11 snapshot
innobase/row/row0ins.c:
  Changes from the innodb-4.1-ss11 snapshot
innobase/row/row0mysql.c:
  Changes from the innodb-4.1-ss11 snapshot
innobase/srv/srv0srv.c:
  Changes from the innodb-4.1-ss11 snapshot
innobase/srv/srv0start.c:
  Changes from the innodb-4.1-ss11 snapshot
libmysqld/ha_blackhole.cc:
  Changes from the innodb-4.1-ss11 snapshot
mysql-test/r/innodb.result:
  Changes from the innodb-4.1-ss11 snapshot
mysql-test/t/innodb.test:
  Changes from the innodb-4.1-ss11 snapshot
sql/ha_innodb.cc:
  Changes from the innodb-4.1-ss11 snapshot
2005-12-12 21:06:59 +03:00
unknown
edf3915a07 Merge mysql.com:/M50/mysql-5.0 into mysql.com:/M50/bug12429 2005-12-12 19:04:47 +01:00
unknown
2e3f97e54a Merge mysqldev@production.mysql.com:/data0/mysqldev/my/mysql-5.0-release
into mysql.com:/M50/clone-5.0
2005-12-12 19:00:08 +01:00
unknown
45f2e2ae13 Merge mysql.com:/M41/mysql-4.1 into mysql.com:/M41/bug12429 2005-12-12 18:54:35 +01:00
unknown
cc3f2163c3 rpl_until.test + rpl_until.result Fix (completion) for bug#12429
Manual merge from 4.1,
extension of the old fix (1.1976 05/12/05 17:57:48 mleich@mysql.com) to two other places.


mysql-test/t/rpl_until.test:
  Auto merged
mysql-test/r/rpl_until.result:
  Manual merge from 4.1,
  extension of the old fix (1.1976 05/12/05 17:57:48 mleich@mysql.com) to two other places.
2005-12-12 18:00:37 +01:00
unknown
56830072d3 rpl_until.test + rpl_until.result
Fix for bug#12429: Replication tests fail: "Slave_IO_Running" differs:
The value is not important, and it depends on timing. Mask it.

Backport and extension of a fix made by Matthias in 5.0, originally it was
1.1976 05/12/05 17:57:48 mleich@mysql.com


mysql-test/r/rpl_until.result:
  Fix for bug#12429: Replication tests fail: "Slave_IO_Running" differs:
  The value is not important, and it depends on timing. Mask it.
  
  Backport and extension of a fix made by Matthias in 5.0, originally it was
  1.1976 05/12/05 17:57:48 mleich@mysql.com
mysql-test/t/rpl_until.test:
  Fix for bug#12429: Replication tests fail: "Slave_IO_Running" differs:
  The value is not important, and it depends on timing. Mask it.
  
  Backport and extension of a fix made by Matthias in 5.0, originally it was
  1.1976 05/12/05 17:57:48 mleich@mysql.com
2005-12-12 17:51:56 +01:00
unknown
d9d7b44c3b skip_name_resolve.result, skip_name_resolve.test:
Ignore columns with unpredictable values.
rpl_relayrotate.result:
  Changed result file to match change in test


mysql-test/r/rpl_relayrotate.result:
  Changed result file to match change in test
mysql-test/t/skip_name_resolve.test:
  Ignore columns with unpredictable values.
mysql-test/r/skip_name_resolve.result:
  Ignore columns with unpredictable values.
2005-12-12 16:58:20 +01:00
unknown
4d509d2b92 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/wl2930/my50-wl2930-integration


client/mysqltest.c:
  Auto merged
mysql-test/mysql-test-run.pl:
  Auto merged
mysql-test/mysql-test-run.sh:
  Auto merged
mysql-test/t/union.test:
  Auto merged
mysql-test/r/mysqltest.result:
  Manual merge
mysql-test/t/mysqltest.test:
  Manual merge
2005-12-12 12:43:33 +01:00
unknown
95cabee1dc Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/alexi/dev/mysql-5.0-14614
2005-12-12 13:16:06 +03:00
unknown
a26e2c2009 Fixed BUG #14614: Replication of tables with trigger generates
error message if database is changed.


mysql-test/r/rpl_trigger.result:
  Fixed results for the added test cases
mysql-test/t/rpl_trigger.test:
  Added test cases for bug #14614
sql/sql_db.cc:
  Fixed bug #14614.
   Modified mysql_change_db(): The memory where db name resides
   is freed by a slave thread.
2005-12-11 17:06:36 +03:00
unknown
7402f669c6 Fix for bug #14863 "Triggers: crash if create and there is no current database".
Now when we create or drop trigger we check that both trigger name and trigger
table always have database part specified. Thus we give an error if it they
are not specified explicitly or implicitly via current database.


mysql-test/r/trigger.result:
  Added test for bug #14863 "Triggers: crash if create and there is no current
  database".
mysql-test/t/trigger.test:
  Added test for bug #14863 "Triggers: crash if create and there is no current
  database".
sql/sql_trigger.cc:
  mysql_create_or_drop_trigger():
    Now we check that both trigger name and trigger table have database
    part specified (explicitly or implicitly via current database. Note
    that in latter case sp_name::m_db is already set by parser).
  Table_triggers_list::create_trigger()/::add_table_for_trigger():
    Simplified method/function's code since now they can assume that
    sp_name::m_db is always filled now.
  trigname_file_parameters:
    Removed comment which is no longer true.
2005-12-11 15:26:15 +03:00
unknown
53f8fed437 Merge rurik.mysql.com:/home/igor/mysql-5.0
into  rurik.mysql.com:/home/igor/dev/mysql-5.0-2


sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_func.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_lex.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2005-12-10 23:31:03 -08:00
unknown
4d09673065 Fix crash in BDB from improper cleanup of transactions, and avoid problem
in NDB that the fix would cause due to improper registration of a transaction
that isn't meant to be seen by the handler layer. (Bug #14212)

Thanks to Sergei Golubchik for helping with this.


mysql-test/r/bdb.result:
  Add new result
mysql-test/t/bdb.test:
  Add new regression test
sql/ha_ndbcluster.cc:
  Don't register transaction if transactions are "disabled".
sql/handler.cc:
  Commit statement before trying to end transaction.
2005-12-09 15:00:33 -08:00
unknown
cb06e0c125 Fix bug #15268 Unchecked null value caused server crash
cmp_item_sort_string::cmp() wasn't checking values_res variable for null.
Later called function was dereferenced it and crashed server.

Added null check to cmp_item_sort_string::cmp().



sql/item_cmpfunc.h:
  Fix bug#15268  Unchecked null value caused server crash
  Added null check to cmp_item_sort_string::cmp().
mysql-test/t/select.test:
  Test case for bug#15268 Unchecked null value caused server crash
mysql-test/r/select.result:
  Test case for bug#15268 Unchecked null value caused server crash
2005-12-09 23:01:52 +03:00
unknown
7063bd4d2b Bug#15377 Valid multibyte sequences are truncated on INSERT
ctype-euc_kr.c:
ctype-gb2312.c:
  Adding specific well_formed_length functions
  for gb2312 and euckr, to allow storing characters
  which are correct according to the character set
  specifications but just don't have Unicode mapping.
  Previously only those which have Unicode mapping
  could be stored, while unassigned characters lead
  to data truncation.
Many files:
  new file


strings/ctype-gb2312.c:
  Bug#15377 Valid multibyte sequences are truncated on INSERT
  Adding specific well_formed_length functions
  for gb2312 and euckr, to allow storing characters
  which are correct according to the character set.
  Previously only those which have Unicode mapping
  could be stored.
strings/ctype-euc_kr.c:
  Adding specific well_formed_length functions
  for gb2312 and euckr, to allow storing characters
  which are correct according to the character set.
  Previously only those which have Unicode mapping
  could be stored.
2005-12-09 16:37:58 +04:00
unknown
9c4985de77 A fix and a test case for Bug#15441 "Running SP causes Server
to Crash": the bug was that due to non-standard name
resolution precedence in stored procedures (See Bug#5967)
a stored procedure variable took precedence over a table column
when the arguments for VALUES() function were resolved.
The implementation of VALUES() function was not designed to work
with Item_splocal and crashed.
VALUES() function is non-standard. It can refer to, and
is meaningful for, table columns only. The patch disables SP 
variables as possible arguments of VALUES() function.


mysql-test/r/sp.result:
  Test results fixed (Bug#15441).
  Also make sure that the recently added test cases follow sp.test
  internal tests standard.
mysql-test/t/sp.test:
  Add a test case for Bug#15441 "Running SP causes Server to Crash".
sql/item.cc:
  Cleanup Item_insert_value::fix_fields().
sql/item.h:
  Add a comment for Item_insert_value.
sql/sql_yacc.yy:
  Actual fix for Bug#15441 "Running SP causes Server to Crash":
  we should not allow VALUES() function to reference SP variables.
2005-12-09 00:58:59 +03:00
unknown
ab597139a7 Fix calls to free_underlaid_joins() in INSERT, DELETE, and UPDATE
handling so that indexes are closed before trying to commit the
transaction. (Bug #15536)


mysql-test/r/bdb.result:
  Add new results
mysql-test/t/bdb.test:
  Add new test
sql/sql_delete.cc:
  Move call to free_underlaid_joins() to before ha_autocommit_or_rollback().
sql/sql_insert.cc:
  Move call to free_underlaid_joins() to before ha_autocommit_or_rollback().
sql/sql_update.cc:
  Move call to free_underlaid_joins() to before ha_autocommit_or_rollback().
2005-12-08 12:33:33 -08:00
unknown
f6cac54bf6 BUG#5390 - problems with merge tables
Problem #1: INSERT...SELECT, Version for 4.1.
INSERT ... SELECT with the same table on both sides (hidden
below a MERGE table) does now work by buffering the select result.
The duplicate detection works now after open_and_lock_tables() 
on the locks.
I did not find a test case that failed without the change in
sql_update.cc. I made the change anyway as it should in theory
fix a possible MERGE table problem with multi-table update.


libmysqld/ha_blackhole.cc:
  BUG#5390 - problems with merge tables
  No idea, how the symlink change made it into my patch.
mysql-test/r/create.result:
  BUG#5390 - problems with merge tables
  Removed a duplicate test.
mysql-test/r/merge.result:
  BUG#5390 - problems with merge tables
  Problem #1: INSERT...SELECT, Version for 4.1.
  Added test results.
mysql-test/t/create.test:
  BUG#5390 - problems with merge tables
  Removed a duplicate test.
mysql-test/t/merge.test:
  BUG#5390 - problems with merge tables
  Problem #1: INSERT...SELECT, Version for 4.1.
  Added tests.
sql/lock.cc:
  BUG#5390 - problems with merge tables
  Problem #1: INSERT...SELECT, Version for 4.1.
  Added a new function to find a duplicate lock in a list of tables.
sql/mysql_priv.h:
  BUG#5390 - problems with merge tables
  Problem #1: INSERT...SELECT, Version for 4.1.
  Added a declaration for the new function.
sql/sql_parse.cc:
  BUG#5390 - problems with merge tables
  Problem #1: INSERT...SELECT, Version for 4.1.
  Changed the duplicate tables detection for INSERT ... SELECT
  to use the new function, which does also work for MERGE tables.
sql/sql_update.cc:
  BUG#5390 - problems with merge tables
  Problem #1: INSERT...SELECT, Version for 4.1.
  Changed the duplicate tables detection for UPDATE
  to use the new function, which does also work for MERGE tables.
2005-12-07 19:52:26 +01:00
unknown
4da61404a6 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/src/mysql-5.0-merges


sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sp_head.h:
  Auto merged
2005-12-07 20:31:10 +03:00
unknown
6b6eb1aba4 BUG#9535 Warning for "create table t as select uuid();"
- Set max_length of Item_func_uuid to max_length*system_charset_info->mbmaxlen
    Note! Item_func_uuid should be set to use 'ascii' charset when hex(), format(), md5()
etc will use 'ascii'
    - Comitting again, the old patch seems to have been lost.


mysql-test/r/func_misc.result:
  Test results updated
mysql-test/t/func_misc.test:
  Test case
sql/item_strfunc.h:
  Multiply max_length of Item_func_uuid with system_charset_info->mbmaxlen
2005-12-07 15:45:31 +01:00
unknown
943edab9a5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/alik/Documents/AllProgs/MySQL/devel/5.0-sp-vars-merge-2


mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/field.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
sql/sp_head.cc:
  Merge.
2005-12-07 17:17:42 +03:00
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
unknown
83142adf50 Fixed sp-error.test result after merging fix for bug #11555 "Stored procedures:
current SP tables locking make impossible view security" with main tree.


mysql-test/r/sp-error.result:
  Fixed test result after merging fix for bug #11555 "Stored procedures: current
  SP tables locking make impossible view security" with main tree.
2005-12-07 16:55:16 +03:00
unknown
a2023cf018 Merge mysqldev@production.mysql.com:my/mysql-5.0-release
into  mysql.com:/home/dlenev/src/mysql-5.0-bg11555-2


mysql-test/r/view.result:
  Auto merged
mysql-test/t/sp-error.test:
  Auto merged
sql/sp_head.cc:
  Auto merged
mysql-test/r/sp-error.result:
  SCCS merged
2005-12-07 14:38:20 +03:00
unknown
24af7680d4 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/src/mysql-5.0-bg11555-2


mysql-test/r/sp-error.result:
  Auto merged
mysql-test/r/view.result:
  Auto merged
mysql-test/t/view.test:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_trigger.h:
  Auto merged
sql/sp.cc:
  Manual merge.
sql/sp.h:
  Manual merge.
sql/sql_base.cc:
  Manual merge.
2005-12-07 12:47:25 +03:00
unknown
361977c0da Fix for bug #11555 "Stored procedures: current SP tables locking make
impossible view security".

We should not expose names of tables which are explicitly or implicitly (via
routine or trigger) used by view even if we find that they are missing.
So during building of list of prelocked tables for statement we track which
routines (and therefore tables for these routines) are used from views. We
mark elements of LEX::routines set which correspond to routines used in views
by setting Sroutine_hash_entry::belong_to_view member to point to TABLE_LIST
object for topmost view which uses routine. We propagate this mark to all
routines which are used by this routine and which we add to this set. We also
mark tables used by such routine which we add to the list of tables for
prelocking as belonging to this view.


mysql-test/r/sp-error.result:
  Added test for bug #11555 "Stored procedures: current SP tables locking make 
  impossible view security".
mysql-test/r/view.result:
  We should not expose tables which are expicitly/implicitly used in view in
  check table statement.
mysql-test/t/sp-error.test:
  Added test for bug #11555 "Stored procedures: current SP tables locking make 
  impossible view security".
mysql-test/t/view.test:
  Removed comment obsoleted by bugfix.
sql/sp.cc:
  We should not expose names of tables which are explicitly or implicitly
  (via routine or trigger) used by view even if we find that they are missing.
  So during building of list of prelocked tables for statement we track which
  routines (and therefore tables for these routines) are used from views. We
  mark elements of LEX::routines set which correspond to routines used in views
  by setting Sroutine_hash_entry::belong_to_view member to point to TABLE_LIST
  object for topmost view which uses routine. We propagate this mark to all
  routines which are used by this routine and which we add to this set. We also
  mark tables used by such routine which we add to the list of tables for
  prelocking as belonging to this view.
sql/sp.h:
  sp_cache_routines_and_add_tables_for_view()/for_triggers():
    To be able to determine correctly uppermost view which uses this view/table
    with trigger we have to pass pointer to TABLE_LIST object instead of pointer
    to view's LEX or to Table_triggers_list object.
sql/sp_head.cc:
  sp_head::add_used_tables_to_table_list():
    Added new argument which allows to mark tables which are added to table
    list for prelocking as belonging to view (this allows properly hide names
    of tables which are used in routines used by views).
sql/sp_head.h:
  sp_head::add_used_tables_to_table_list():
    Added new argument which allows to mark tables which are added to table
    list for prelocking as belonging to view (this allows properly hide names
    of tables which are used in routines used by views).
sql/sql_base.cc:
  open_tables():
    sp_cache_routines_and_add_tables_for_view()/for_triggers() now accept
    pointer to table list element as last argument, this allows them to determine
    correctly uppermost view which uses this view/table with trigger.
sql/sql_trigger.h:
  Table_triggers_list:
    sp_cache_routines_and_add_tables_for_triggers() now accept pointer to table
    list element as last argument, this allows to determine correctly uppermost
    view which uses this table with trigger.
2005-12-07 12:27:17 +03:00
unknown
6cf8483dfe merged
mysql-test/t/sp.test:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2005-12-07 08:50:14 +01:00
unknown
43dd386df9 Fix innodb.result file (was missing a line)
mysql-test/r/innodb.result:
  Update result file
2005-12-06 18:18:35 -08:00