Commit graph

11156 commits

Author SHA1 Message Date
unknown
8cd70922ff aftermerge fix 2004-03-28 12:57:59 +03:00
unknown
c375d86831 merge
mysql-test/r/union.result:
  Auto merged
2004-03-27 15:59:48 +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
unknown
d2ad3cff19 WL#1366: Use the schema (db) associated with an SP.
Phase 3: Made qualified names work for functions as well.


mysql-test/r/sp-security.result:
  New testcases for functions with qualified names.
mysql-test/t/sp-security.test:
  New testcases for functions with qualified names.
sql/item_func.cc:
  Added error handling for stored function, if it doesn't exist.
sql/item_func.h:
  Set null_value if execution of a stored function fails.
sql/mysql_priv.h:
  Reverted previous change: No optional args for mysql_change_db().
  (SPs use a specially tailored function instead.)
sql/sp.cc:
  Copied mysql_change_db() from sql_db.cc and modified specially for SPs.
sql/sp_head.cc:
  Fixed error handling for errors in functions during query/statement execution.
sql/sql_db.cc:
  Reverted previous change: No optional args for mysql_change_db().
  (SPs use a specially tailored function instead.)
sql/sql_yacc.yy:
  Reworked the stored function/UDF invokation parsing and added qualified names
  for stored functions. UDFs now have precedence over stored functions (whith
  unqualified name). When using an unqualified name, only IDENT_sys is allowed
  (i.e. no unreserved keywords), since we get unresolvable reduce/reduce conflicts
  otherwise.
2004-03-19 19:01:54 +01:00
unknown
edf2003009 Merge
mysql-test/r/sp.result:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
sql/sp.cc:
  SCCS merged
2004-03-18 15:08:17 +01:00
unknown
b440d2cf76 Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0-merge
2004-03-17 12:11:04 +01:00
unknown
36dd97239a Fix BUG#2674: Crash if return system variable in stored procedures.
Had to initialize some fields in lex before parsing an SP read from
mysql.proc.


mysql-test/r/sp.result:
  New test case for BUG#2674.
mysql-test/t/sp.test:
  New test case for BUG#2674.
sql/sp.cc:
  We need to initialize some thd->lex fields (e.g. unit master pointers) since
  LEX::uncacheable() depends on this, and it's called when looking up system
  variables during parsing.
2004-03-17 12:09:03 +01:00
unknown
6022c31a26 Fix for Bug#3183 2004-03-15 23:11:58 +03:00
unknown
eb4aa092e5 WL#1366: Use the schema (db) associated with an SP.
Phase 2: Make SPs belong to a DB, and use qualified names.
  As a side effect, using USE in an SP is no longer allowed.
  (It just doesn't work otherwise.)


include/mysqld_error.h:
  New error code (USE is no longer allowed in a stored procedure).
include/sql_state.h:
  New error state (USE is no longer allowed in a stored procedure).
mysql-test/r/sp-error.result:
  Updated result for test of USE in SP (not allowed now).
mysql-test/r/sp-security.result:
  Updated test results for new db column and qualified procedured names.
mysql-test/r/sp.result:
  Updated results for USE in SP (as it's no longer allowed), and
  for new db column in status result.
mysql-test/t/sp-error.test:
  Moved test of USE in SP from sp.test (as it's no longer allowed).
mysql-test/t/sp-security.test:
  Ajusted tests for new db column and qualified procedured names.
mysql-test/t/sp.test:
  Moved test of USE in SP to sp-error.test (as it's no longer allowed).
  Adjusted tests for new db column in status result.
sql/mysql_priv.h:
  mysql_change_db() now has optional arguments for use by SP with qualified names.
sql/share/czech/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/danish/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/dutch/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/english/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/estonian/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/french/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/german/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/greek/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/hungarian/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/italian/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/japanese/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/korean/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/norwegian-ny/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/norwegian/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/polish/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/portuguese/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/romanian/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/russian/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/serbian/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/slovak/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/spanish/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/swedish/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/share/ukrainian/errmsg.txt:
  New error message: USE is not allowed in a stored procedure.
sql/sp.cc:
  SPs are now "belong" to a DB and may have qualified names.
  New functions for changing DB ("use") when parsing and invoking SPs.
sql/sp.h:
  New functions for changing DB ("use") when parsing and invoking SPs.
sql/sp_cache.cc:
  Use the qualified name in the SP cache.
sql/sp_head.cc:
  New function for allocating a qualified SP name (used in sql_yacc.yy).
  Change DB when executing an SP (if needed).
  Moved thd_mem_root swap functions from sp_head.h.
sql/sp_head.h:
  New function for allocating a qualified SP name (used in sql_yacc.yy).
  Moved thd_mem_root swap functions to sp_head.cc.
sql/sql_db.cc:
  mysql_change_db() now has optional arguments for use by SP with qualified names
  (for use when reading an SP from database and executing it); also allow "unusing"
  a database, i.e. setting thd->thd to "".
sql/sql_yacc.yy:
  Initialize qualfied SP names correctly.
  USE is no longer allowed in an SP.
2004-03-11 17:18:59 +01:00
unknown
5aa57221d8 Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0


sql/sp_head.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2004-03-02 16:01:02 +01:00
unknown
857b59578c Fixed BUG#2777: Stored procedure doesn't observe definer's rights.
SQL SECURITY DEFINER must enforce reduced rights too, not just additional rights.


mysql-test/r/sp-security.result:
  Test case for BUG#2777: Make sure that SQL SECURITY DEFINER enforces reduced rights.
mysql-test/t/sp-security.test:
  Test case for BUG#2777: Make sure that SQL SECURITY DEFINER enforces reduced rights.
sql/sql_acl.cc:
  Clear rights before changing them in acl_getroot_no_password so that
  reduced rights work too, and take care of db acls as well.
2004-03-02 11:52:19 +01:00
unknown
23a6b4ed82 Fixed small race condition, when global query_id was modified
without proper locking.


sql/sp_head.cc:
  Added missing locking of LOCK_thread_count to place where ::query_id is 
  modified.
sql/sql_parse.cc:
  Added comment to the only place where we are modifying ::query_id
  without following locking protocol, to avoid mistakes in future.
BitKeeper/etc/logging_ok:
  Logging to logging@openlogging.org accepted
2004-03-01 09:15:33 +03:00
unknown
e55c4ed179 WL#1366: Use the schema (db) associated with an SP.
Phase 1: Introduced sp_name class, for qualified name support.


sql/item_func.cc:
  Introduced sp_name class; moved some methods from item_func.h.
sql/item_func.h:
  Introduced sp_name class; moved some methods to item_func.cc.
sql/sp.cc:
  Introduced sp_name class, for qualified name support.
sql/sp.h:
  Introduced sp_name class, for qualified name support.
sql/sp_cache.cc:
  Introduced sp_name class, for qualified name support.
sql/sp_cache.h:
  Introduced sp_name class, for qualified name support.
sql/sp_head.cc:
  Introduced sp_name class, for qualified name support.
sql/sp_head.h:
  Introduced sp_name class, for qualified name support.
sql/sql_lex.h:
  Introduced sp_name class, for qualified name support.
sql/sql_parse.cc:
  Introduced sp_name class, for qualified name support.
sql/sql_yacc.yy:
  Introduced sp_name class, for qualified name support.
2004-02-17 17:36:53 +01:00
unknown
7444a50af8 Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0
2004-02-17 13:54:40 +01:00
unknown
4899507c7b Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0


mysql-test/r/show_check.result:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-02-16 12:47:47 +01:00
unknown
9ce4695da0 Merge lgrimmer@build.mysql.com:/home/bk/mysql-5.0
into mysql.com:/space/my/mysql-5.0
2004-02-16 12:10:54 +01:00
unknown
ce52dd9fe0 Post-merge fix. 2004-02-13 18:28:58 +01:00
unknown
078919ad9e Merge mysql.com:/home/pem/work/mysql-4.1
into mysql.com:/home/pem/work/mysql-5.0-merge


client/mysql.cc:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/lib_sql.cc:
  Auto merged
mysql-test/r/mysqldump.result:
  Auto merged
mysql-test/r/show_check.result:
  Auto merged
sql/item.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_parse.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
tests/client_test.c:
  Auto merged
2004-02-13 17:39:00 +01:00
unknown
9a3a0d7d40 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into bar.intranet.mysql.r18.ru:/usr/home/bar/mysql-4.1
2004-02-13 18:04:08 +04:00
unknown
0e5c56bee5 This line missed in the fix #2208
sql-common/client.c:
  'virtual' method initialization
2004-02-13 18:04:07 +04:00
unknown
82364214ec Bug #2699 UTF8 breaks primary keys for cols > 85 characters 2004-02-13 17:58:02 +04:00
unknown
f03296b6dc Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.2211
2004-02-13 11:57:22 +04:00
unknown
f2adc11249 Another fix for #2208
previous one had error


libmysqld/lib_sql.cc:
  memdup_mysql deleted
sql/sql_class.h:
  String instead of char*
sql/sql_parse.cc:
  storing of the rest of the query
2004-02-13 11:56:36 +04:00
unknown
7e7fec0be3 manual merge, bug #2247
include/mysql.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
tests/client_test.c:
  manual merge
2004-02-13 00:50:03 +03:00
unknown
8af2da39c3 fixed mistake after merge in mysql-test/r/mysqldump.result
mysql-test/r/mysqldump.result:
  fixed mistake after merge
2004-02-13 01:50:02 +04:00
unknown
0655f9c633 Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.1
into eagle.mysql.r18.ru:/home/vva/work/BUG_2593/mysql-4.1


sql/sql_lex.cc:
  Auto merged
2004-02-13 00:33:29 +04:00
unknown
0bc06e9ec5 Merge eagle.mysql.r18.ru:/home/vva/work/mysql.orig/clear/mysql-4.1
into eagle.mysql.r18.ru:/home/vva/work/BUG_2593/mysql-4.1


sql/mysql_priv.h:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
2004-02-13 00:31:39 +04:00
unknown
b3bf99ed42 some optimization in append_identifier (sql/sql_show.cc)
sql/sql_show.cc:
  some optimization in append_identifier
2004-02-13 00:28:00 +04:00
unknown
7658394a58 Merge mysql.com:/usr/local/bk/mysql-5.0
into mysql.com:/home/pem/work/mysql-5.0


mysql-test/r/show_check.result:
  Auto merged
sql/sql_lex.cc:
  Auto merged
sql/sql_yacc.yy:
  Auto merged
2004-02-12 13:52:10 +01:00
unknown
4679b0e319 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.1438
2004-02-12 16:50:27 +04:00
unknown
eea7cbfba5 Fix for #1438 (mysql_info always returns 0)
libmysqld/lib_sql.cc:
  mysql.info set to the right value
2004-02-12 16:47:57 +04:00
unknown
1e8dcbe01f Bug#2703
"MySQL server does not detect if garbage chara at the end of query"

Allow the parser to see the garbage characters.
Garbage should cause the parser to report an error.


sql/sql_lex.cc:
  Return END_OF_INPUT when at the end of the input buffer.
  Allows the parser to determine if there is junk after a \0 character.
sql/sql_parse.cc:
  Undo 1.314.1.1 04/02/11 12:32:42 guilhem@mysql.com
sql/sql_prepare.cc:
  Undo 1.73 04/02/11 12:32:42 guilhem@mysql.com
2004-02-12 12:01:27 +00:00
unknown
61d68abd2d Merge lgrimmer@build.mysql.com:/home/bk/mysql-5.0
into mysql.com:/space/my/mysql-5.0


configure.in:
  Auto merged
2004-02-12 12:50:47 +01:00
unknown
b5c8de4c83 Post-merge fixes. 2004-02-11 18:21:55 +01:00
unknown
f2753fe9ac Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bg2248


include/mysql.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
2004-02-11 16:09:33 +03:00
unknown
7df19a0939 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into bar.intranet.mysql.r18.ru:/usr/home/bar/mysql-4.1
2004-02-11 16:55:44 +04:00
unknown
b268952faf Bug 2701: Function CHARSET() inconsistency
CONVERT3 was removed, it was for test purposes,
and rather harmful.
2004-02-11 16:53:39 +04:00
unknown
861d3f4152 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.2208


sql/sql_parse.cc:
  Auto merged
2004-02-11 16:36:33 +04:00
unknown
e5c142a412 Addition to the fix for #2208
Made code shorter and more correct


libmysql/client_settings.h:
  cli_next_result removed
libmysql/libmysql.c:
  cli_next_result removed
2004-02-11 16:35:56 +04:00
unknown
28ac1ba4ed Manual merge. 2004-02-11 15:10:54 +03:00
unknown
e2f0e8f2dc Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1
2004-02-11 12:33:25 +01:00
unknown
0aa48dc500 Fix for BUG#2703
"MySQL server does not detect if garbage chars at the end of query":

Detect garbage chars at the end of the query or at the end of a query
for a prepared statement (which happens if mysql_real_query() or mysql_prepare()
were called with a too big 'length' parameter (bigger than the real intended
length of the query: then we receive a query + garbage characters from the
client). This resulted in garbage chars written into the binlog.
Now instead the client receives something like:
'You have an error in your SQL syntax.  Check the manual that corresponds
to your MySQL server version for the right syntax to use near '!stmt'
at line 1' i.e. the server is pointing at the weird tail of the query
(this '!stmt' are the garbage chars sent by the client).
All tests pass, except mysqldump.test and ctype_utf8.test but they failed
before the patch.


sql/sql_parse.cc:
  Detect garbage chars at the end of the query
  (which happens if mysql_real_query() was called with a too big 'length'
  parameter (bigger than the real intended length of the query: then
  we receive a query + garbage characters from the client).
sql/sql_prepare.cc:
  Detect garbage chars at the end of the query
  (which happens if mysql_prepare() was called with a too big 'length'
  parameter (bigger than the real intended length of the query: then
  we receive a query + garbage characters from the client).
tests/client_test.c:
  The change to sql_parse.cc and sql_prepare.cc rightfully gives many
  syntax errors to tests/client_test.c which is full of
  mysql_prepare(mysql, "SHOW TABLES", 100).
  Correcting all these commands.
2004-02-11 12:32:47 +01:00
unknown
24e3862cb8 mysqlimport.c, mysqldump.c, mysqlcheck.c, mysql.cc:
No needs to load charset index if the character set is build-in.


client/mysql.cc:
  No needs to load charset index if the character set is build-in.
client/mysqlcheck.c:
  No needs to load charset index if the character set is build-in.
client/mysqldump.c:
  No needs to load charset index if the character set is build-in.
client/mysqlimport.c:
  No needs to load charset index if the character set is build-in.
2004-02-11 15:15:39 +04:00
unknown
662510b907 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/dlenev/src/mysql-4.1-bg2248
2004-02-11 12:09:48 +03:00
unknown
a47488ab18 Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.2208
2004-02-11 11:01:05 +04:00
unknown
6b86e0ebc6 Merge gbichot@213.136.52.20:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1
2004-02-10 23:48:17 +01:00
unknown
38caa8c060 Fix for prepared statements:
added setting of 'neg' in Item_param::set_time() (looks like the only forgotten
member).
It's the second place I find where 'neg' was forgotten.
The symptom was unexpected negative times in the binary log when running
tests/client_test.c (test_date() in fact):
# at 43009
#040210 15:46:42 server id 1  log_pos 43009     Query   thread_id=1     exec_time=0     error_code=0
SET TIMESTAMP=1076424402;
INSERT INTO test_date VALUES('2000-01-10 11:16:20','-11:16:20' etc


sql/item.cc:
  Don't forget to copy 'neg'.
2004-02-10 23:47:34 +01:00
unknown
ce8c907fcb Merge vvagin@bk-internal.mysql.com:/home/bk/mysql-4.1
into eagle.mysql.r18.ru:/home/vva/work/BUG_2592/mysql-4.1
2004-02-11 00:56:35 +04:00
unknown
6965116320 code cleanup of processing MY_LEX_USER_VARIABLE_DELIMITER
in sql/sql_lex.cc


sql/sql_lex.cc:
  code cleanup of processing MY_LEX_USER_VARIABLE_DELIMITER
2004-02-11 00:47:18 +04:00