MariaDB server is a community developed fork of MySQL server. Started by core members of the original MySQL team, MariaDB actively works with outside developers to deliver the most featureful, stable, and sanely licensed open SQL server in the industry.
Find a file
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
bdb sql/mysql_priv.h 2005-06-09 15:48:57 +02:00
BitKeeper Merge mysql.com:/home/mysql_src/mysql-4.1 2005-10-12 21:58:02 +02:00
BUILD Fix for BUG#14703 "Valgrind error when inserting 0 into a BIT column (like in type_bit.test)": 2005-11-07 16:18:46 +01:00
client Merge sanja.is.com.ua:/home/bell/mysql/bk/work-bug7-5.0 2005-11-23 01:28:32 +02:00
cmd-line-utils Merge 2005-11-04 02:17:11 +01:00
config/ac-macros Check for zlib with a zzlibCompileFlags() function in config/ac-macros/zlib.m4. 2005-11-21 16:05:40 +01:00
dbug Several fixes revelaled by Intel compiler. 2005-09-23 16:47:08 +03:00
Docs Additional "make distcheck" changes specific to 5.0 2005-11-09 11:56:04 +02:00
extra Make it buildable with -ansi flag on some platforms. 2005-11-24 18:42:39 +03:00
heap Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1 2005-10-27 23:43:20 +03:00
include Merge mysql.com:/opt/local/work/mysql-4.1-root 2005-11-25 13:57:13 +03:00
innobase Fix BUG#10511: Wrong padding of UCS2 CHAR columns in 2005-10-28 17:16:22 +04:00
libmysql Merge 2005-11-04 02:17:11 +01:00
libmysql_r Merge 2005-11-04 02:17:11 +01:00
libmysqld Merge 2005-11-04 02:17:11 +01:00
man - Removed obsolete and outdated man page files from the man 2005-10-27 14:51:58 +02:00
myisam Merge the last 5.0.16 (Unix, Windows) and 5.0.16a (Netware) changes to the general tree. 2005-11-21 15:49:34 +01:00
myisammrg Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1 2005-10-27 23:43:20 +03:00
mysql-test Fix for bug #11555 "Stored procedures: current SP tables locking make 2005-12-07 12:27:17 +03:00
mysys Polishing: get rid of C++-style comments. 2005-11-24 18:27:14 +03:00
ndb small build fix for some compilers 2005-11-25 00:04:53 +11:00
netware Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0 2005-11-22 01:17:06 +01:00
os2 Merge 2005-09-29 03:20:31 +02:00
pstack Makefile.am, configure.in: 2005-09-24 15:51:45 +02:00
regex Merge 2005-09-29 03:20:31 +02:00
scripts Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0 2005-11-19 11:20:52 +01:00
server-tools Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-5.0 2005-11-19 11:20:52 +01:00
sql Fix for bug #11555 "Stored procedures: current SP tables locking make 2005-12-07 12:27:17 +03:00
sql-bench Merge 2005-11-04 02:17:11 +01:00
sql-common Merge mysql.com:/opt/local/work/mysql-4.1-root 2005-11-25 13:57:13 +03:00
SSL Added missing SSL library (Should be in source distribution) 2003-11-28 12:18:13 +02:00
strings merging 2005-11-10 16:32:49 +04:00
support-files Merge jbruehe@bk-internal.mysql.com:/home/bk/mysql-4.1 2005-11-23 09:38:12 +01:00
tests A test case for Bug#14845 "mysql_stmt_fetch returns MYSQL_NO_DATA 2005-11-18 17:55:52 +03:00
tools pthread_handler_decl() changed to be ctags-friendly 2005-10-08 16:39:55 +02:00
VC++Files Fixed number of compiler errors on win32. 2005-11-14 15:19:52 +03:00
vio Merge mysql.com:/opt/local/work/mysql-4.1-root 2005-11-25 13:57:13 +03:00
zlib Import zlib-1.2.3 library 2005-08-09 10:22:48 -07:00
.bzrignore Don't use PATH_MAX for FN_REFLEN as this uses too much stack space 2005-11-24 02:36:28 +02:00
.cvsignore Import changeset 2000-07-31 21:29:14 +02:00
configure.in Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1-distcheck 2005-11-19 13:17:20 +01:00
COPYING - manual.texi will be replaced with a manual written in DocBook/XML. This ChangeSet removes all 2005-04-13 11:51:38 +02:00
Makefile.am Merge 2005-11-04 02:17:11 +01:00
README README: 2005-09-12 12:44:13 -05:00

This is a release of MySQL, a dual-license SQL database server.
MySQL is brought to you by the MySQL team at MySQL AB.

License information can be found in these files:
- For GPL (free) distributions, see the COPYING file.
- For commercial distributions, see the MySQLEULA.txt file.


For further information about MySQL or additional documentation, see:
- The latest information about MySQL: http://www.mysql.com
- The current MySQL documentation: http:/dev.mysql.com/doc

Some manual sections of special interest:

- If you are migrating from an older version of MySQL, please read the
  "Upgrading from..." section first!
- To see what MySQL can do, take a look at the features section.
- For installation instructions, see the Installation chapter.
- For future plans, see the TODO appendix.
- For the new features/bugfix history, see the News appendix.
- For the currently known bugs/misfeatures (known errors) see the problems
  appendix.
- For a list of developers and other contributors, see the Credits
  appendix.

A local copy of the MySQL Reference Manual can be found in the Docs
directory in GNU Info format.  You can also browse the manual online or
download it in any of several formats at the URL given earlier in this
file.

************************************************************

IMPORTANT:

Bug or error reports should be sent to http://bugs.mysql.com.