1
0
mirror of https://github.com/MariaDB/server.git synced 2025-12-01 17:39:21 +03:00
Commit Graph

339 Commits

Author SHA1 Message Date
tsmith@ramayana.hindu.god
6835272b37 Make tests more robust (clean up better after grant.test) 2007-12-07 03:39:37 -07:00
unknown
20bbe71d73 Move the test case for bug #20901 from create.test to grant.test, so
testing embedded server works correctly.


mysql-test/r/create.result:
  Move one test from create.test to grant.test, because it actually tests
  privileges (and thus doesn't work with embedded server).
mysql-test/r/grant.result:
  Move one test from create.test to grant.test, because it actually tests
  privileges (and thus doesn't work with embedded server).
mysql-test/t/create.test:
  Move one test from create.test to grant.test, because it actually tests
  privileges (and thus doesn't work with embedded server).
mysql-test/t/grant.test:
  Move one test from create.test to grant.test, because it actually tests
  privileges (and thus doesn't work with embedded server).
2007-12-07 00:54:32 -07:00
tsmith@ramayana.hindu.god
45c7826088 Move the test case for bug #20901 from create.test to grant.test, so
testing embedded server works correctly.
2007-12-07 00:54:32 -07:00
unknown
f1ad502ae1 Merge adventure.(none):/home/thek/Development/cpp/bug16470/my51-bug16470
into  adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime


mysql-test/r/grant.result:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_parse.cc:
  manual merge
2007-11-26 19:31:41 +01:00
thek@adventure.(none)
da93d2b363 Merge adventure.(none):/home/thek/Development/cpp/bug16470/my51-bug16470
into  adventure.(none):/home/thek/Development/cpp/mysql-5.1-runtime
2007-11-26 19:31:41 +01:00
unknown
1ddb4722f4 Bug#16470 crash on grant if old grant tables
Loading 4.1 into 5.0 or 5.1 failed silently because procs_priv table missing.
This caused the server to crash on any attempt to store new grants because
of uninitialized structures.

This patch breaks up the grant loading function into two phases to allow
for procs_priv table to fail with an warning instead of crashing the server.


mysql-test/r/grant.result:
  Test case
mysql-test/t/grant.test:
  Test case making sure that FLUSH PRIVILEGES doesn't crash the server if
  procs_priv is removed.
sql/sql_acl.cc:
  - Refactored grant_reload into two phases: 1. open and lock tables_priv and 
    columns_priv tables, read the data, close tables. 2. open and lock
    procs_priv, read data, close table. Since the tables are independant of
    each other there will be no race conditions and it will be possible to
    handle situations where the procs_priv table isn't present.
  - Refactored the helper function grant_load into new grant_load (without
    procs_priv table) and grant_load_procs_priv.
sql/sql_parse.cc:
  - Changed comment style to doxygen style.
2007-11-26 19:09:40 +01:00
thek@adventure.(none)
345650212c Bug#16470 crash on grant if old grant tables
Loading 4.1 into 5.0 or 5.1 failed silently because procs_priv table missing.
This caused the server to crash on any attempt to store new grants because
of uninitialized structures.

This patch breaks up the grant loading function into two phases to allow
for procs_priv table to fail with an warning instead of crashing the server.
2007-11-26 19:09:40 +01:00
unknown
3ade0a6ed5 Merge sin.intern.azundris.com:/home/tnurnberg/19828/50-19828
into  sin.intern.azundris.com:/home/tnurnberg/19828/51-19828


mysql-test/t/grant.test:
  Auto merged
sql/sql_acl.cc:
  Auto merged
mysql-test/r/grant.result:
  manual merge
2007-10-05 13:11:38 +02:00
tnurnberg@sin.intern.azundris.com
66cc732748 Merge sin.intern.azundris.com:/home/tnurnberg/19828/50-19828
into  sin.intern.azundris.com:/home/tnurnberg/19828/51-19828
2007-10-05 13:11:38 +02:00
unknown
eeeeec8edc Bug#19828: Case sensitivity in hostname leads to inconsistent behavior
clean up SHOW GRANTS so it will show host-names with case as entered.
make REVOKE and friends case-sensitive to make things more intuitive.
Patch by Martin Friebe.


mysql-test/r/grant.result:
  Bug#19828: Case sensitivity in hostname leads to inconsistent behavior
  
  clean up after test so random order of tests is possible
mysql-test/r/grant3.result:
  Bug#19828: Case sensitivity in hostname leads to inconsistent behavior
  
  Show that REVOKE, SHOW GRANTS etc. are now consistently case-sensitive.
mysql-test/t/grant.test:
  Bug#19828: Case sensitivity in hostname leads to inconsistent behavior
  
  clean up after test so random order of tests is possible
mysql-test/t/grant3.test:
  Bug#19828: Case sensitivity in hostname leads to inconsistent behavior
  
  Show that REVOKE, SHOW GRANTS etc. are now consistently case-sensitive.
2007-09-20 18:10:35 +02:00
tnurnberg@sin.intern.azundris.com
9254e8fb01 Bug#19828: Case sensitivity in hostname leads to inconsistent behavior
clean up SHOW GRANTS so it will show host-names with case as entered.
make REVOKE and friends case-sensitive to make things more intuitive.
Patch by Martin Friebe.
2007-09-20 18:10:35 +02:00
unknown
ae398d995a Bug #29245: Bad Merge Caused Error Codes Conflict between 5.0/5.1
Fix some error messages so that all error codes are equivalent in 5.0 and 5.1


mysql-test/r/backup.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/events_bugs.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/events_trans.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/ndb_dd_basic.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/ndb_dd_ddl.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/ndb_gis.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/ndb_row_format.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_extraCol_innodb.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_extraCol_myisam.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_incident.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_ndb_extraCol.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_row_tabledefs_2myisam.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_row_tabledefs_3innodb.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/rpl_sp.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/select.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/show_check.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/sp.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/sp_gis.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/sp_trans.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/type_timestamp.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/warnings.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/r/xml.result:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/t/grant.test:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
mysql-test/t/partition_grant.test:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
sql/mysql_priv.h:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
sql/share/errmsg.txt:
  Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
2007-06-26 13:15:43 +02:00
tsmith@maint1.mysql.com
2639886711 Bug #29245: Bad Merge Caused Error Codes Conflict between 5.0/5.1
Fix some error messages so that all error codes are equivalent in 5.0 and 5.1
2007-06-26 13:15:43 +02:00
unknown
4320146788 Fiux syntax errors in grant.test, connect command with both -- and ;
only one of those is allowed
2007-06-01 14:12:16 +02:00
msvensson@pilot.(none)
aede6302af Fiux syntax errors in grant.test, connect command with both -- and ;
only one of those is allowed
2007-06-01 14:12:16 +02:00
unknown
fee880ce10 Merge pilot.(none):/data/msvensson/mysql/bug28497/my50-bug28497
into  pilot.(none):/data/msvensson/mysql/bug28497/my51-bug28497


mysql-test/t/grant.test:
  Auto merged
mysql-test/t/rpl_packet.test:
  Auto merged
2007-06-01 13:50:59 +02:00
msvensson@pilot.(none)
1b6d413a2f Merge pilot.(none):/data/msvensson/mysql/bug28497/my50-bug28497
into  pilot.(none):/data/msvensson/mysql/bug28497/my51-bug28497
2007-06-01 13:50:59 +02:00
unknown
3b74591e36 Add missing semicolon after connect command 2007-06-01 13:39:54 +02:00
msvensson@pilot.(none)
fd1c544384 Add missing semicolon after connect command 2007-06-01 13:39:54 +02:00
unknown
42cc0e874f Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.1-opt


mysql-test/t/grant.test:
  Auto merged
mysql-test/r/grant.result:
  Manual merge
2007-05-11 21:51:14 -07:00
igor@olga.mysql.com
c2964d991c Merge olga.mysql.com:/home/igor/mysql-5.0-opt
into  olga.mysql.com:/home/igor/mysql-5.1-opt
2007-05-11 21:51:14 -07:00
unknown
f0ddabc518 grant.result, grant.test:
Corrected test case for the bug#27878.


mysql-test/t/grant.test:
  Corrected test case for the bug#27878.
mysql-test/r/grant.result:
  Corrected test case for the bug#27878.
2007-05-12 00:46:07 +04:00
evgen@moonbone.local
6c8f547644 grant.result, grant.test:
Corrected test case for the bug#27878.
2007-05-12 00:46:07 +04:00
unknown
2e3baa6844 Merge mysql.com:/home/hf/work/27957/my50-27957
into  mysql.com:/home/hf/work/27957/my51-27957


mysql-test/t/grant.test:
  Auto merged
mysql-test/r/grant.result:
  merging
sql/sql_update.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
2007-05-12 00:22:15 +05:00
holyfoot/hf@hfmain.(none)
350c35a04d Merge mysql.com:/home/hf/work/27957/my50-27957
into  mysql.com:/home/hf/work/27957/my51-27957
2007-05-12 00:22:15 +05:00
unknown
04efdb1526 Bug#27878: Unchecked privileges on a view referring to a table from another
database.

If a user has a right to update anything in the current database then the 
access was granted and further checks of access rights for underlying tables
wasn't done correctly. The check is done before a view is opened and thus no
check of access rights for underlying tables can be carried out.
This allows a user to update through a view a table from another database for
which he hasn't enough rights.

Now the mysql_update() and the mysql_test_update() functions are forces
re-checking of access rights after a view is opened.


mysql-test/t/grant.test:
  Added a test case for the bug#27878: Unchecked privileges on a view referring to a table from another database.
mysql-test/r/grant.result:
  Added a test case for the bug#27878: Unchecked privileges on a view referring to a table from another database.
sql/sql_update.cc:
  Bug#27878: Unchecked privileges on a view referring to a table from another 
  database.
  Now the mysql_update() function forces re-checking of access rights after 
  the view is opened.
sql/sql_prepare.cc:
  Bug#27878: Unchecked privileges on a view referring to a table from another 
  database.
  Now the mysql_test_update() function forces re-checking of access rights after
  the view is opened.
2007-05-11 23:19:11 +04:00
evgen@moonbone.local
34f478121f Bug#27878: Unchecked privileges on a view referring to a table from another
database.

If a user has a right to update anything in the current database then the 
access was granted and further checks of access rights for underlying tables
wasn't done correctly. The check is done before a view is opened and thus no
check of access rights for underlying tables can be carried out.
This allows a user to update through a view a table from another database for
which he hasn't enough rights.

Now the mysql_update() and the mysql_test_update() functions are forces
re-checking of access rights after a view is opened.
2007-05-11 23:19:11 +04:00
unknown
842cbb01fd Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b27515/b27515.5.0


mysql-test/r/grant.result:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
2007-04-24 14:08:03 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
49b187034d Merge mysql.com:/home/ram/work/mysql-5.0-maint
into  mysql.com:/home/ram/work/b27515/b27515.5.0
2007-04-24 14:08:03 +05:00
unknown
6ed58d7987 after-merge fix 2007-04-24 13:53:12 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
244c192347 after-merge fix 2007-04-24 13:53:12 +05:00
unknown
3af43cecb2 Merge mysql.com:/home/ram/work/b27515/b27515.5.0
into  mysql.com:/home/ram/work/b27515/b27515.5.1


mysql-test/t/grant.test:
  Auto merged
sql/sql_parse.cc:
  Auto merged
mysql-test/r/grant.result:
  will be merged in a post-merge CS
2007-04-24 11:28:18 +05:00
ramil/ram@ramil.myoffice.izhnet.ru
3935e22459 Merge mysql.com:/home/ram/work/b27515/b27515.5.0
into  mysql.com:/home/ram/work/b27515/b27515.5.1
2007-04-24 11:28:18 +05:00
unknown
b8850e15db Merge mysql.com:/home/ram/work/b27515/b27515.4.1
into  mysql.com:/home/ram/work/b27515/b27515.5.0


mysql-test/r/grant.result:
  will be merged in a post-merge CS
mysql-test/t/grant.test:
  manual merge
sql/sql_parse.cc:
  manual merge
2007-04-24 10:27:59 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
bb3b6ae72c Merge mysql.com:/home/ram/work/b27515/b27515.4.1
into  mysql.com:/home/ram/work/b27515/b27515.5.0
2007-04-24 10:27:59 +05:00
unknown
50e158402b Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
Added missed DROP privilege check on the original table for RENAME TABLE command.


mysql-test/r/grant.result:
  Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
    - test result.
mysql-test/t/grant.test:
  Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
    - test case.
sql/sql_parse.cc:
  Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
    - added DROP privilege check on the original table for RENAME TABLE command.
2007-04-17 16:52:50 +05:00
ramil/ram@mysql.com/ramil.myoffice.izhnet.ru
f4060b4b81 Fix for bug #27515: DROP previlege is not required anymore for RENAME TABLE
Added missed DROP privilege check on the original table for RENAME TABLE command.
2007-04-17 16:52:50 +05:00
unknown
0a3abcf20d Avoid resetting a variable. Fixed grant.test. 2007-04-13 14:04:57 +03:00
jani@a88-113-38-195.elisa-laajakaista.fi
455b325b53 Avoid resetting a variable. Fixed grant.test. 2007-04-13 14:04:57 +03:00
unknown
e628ba73e3 Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/new/mysql-5.0-marvel
into  a88-113-38-195.elisa-laajakaista.fi:/home/my/new/mysql-5.1-marvel


client/mysql.cc:
  Auto merged
client/mysql_upgrade.c:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
client/mysqldump.c:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysys/my_malloc.c:
  Auto merged
mysys/my_static.c:
  Auto merged
mysys/safemalloc.c:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/mysqld.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.cc:
  Auto merged
storage/archive/ha_archive.cc:
  Auto merged
storage/heap/hp_write.c:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
mysql-test/r/grant.result:
  Merged from 5.0
sql/sql_db.cc:
  Merged from 5.0
sql/sql_parse.cc:
  Merged from 5.0
2007-04-13 10:25:33 +03:00
jani@a88-113-38-195.elisa-laajakaista.fi
52196018ce Merge a88-113-38-195.elisa-laajakaista.fi:/home/my/new/mysql-5.0-marvel
into  a88-113-38-195.elisa-laajakaista.fi:/home/my/new/mysql-5.1-marvel
2007-04-13 10:25:33 +03:00
unknown
a2989a35f5 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.1-marvel


client/mysqlcheck.c:
  Auto merged
client/mysqldump.c:
  Auto merged
include/my_time.h:
  Auto merged
mysql-test/r/date_formats.result:
  Auto merged
mysql-test/r/grant.result:
  Auto merged
mysql-test/r/sp.result:
  Auto merged
mysql-test/r/type_date.result:
  Auto merged
mysql-test/r/type_datetime.result:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysys/my_malloc.c:
  Auto merged
mysys/my_static.c:
  Auto merged
mysys/safemalloc.c:
  Auto merged
sql/event_queue.cc:
  Auto merged
sql/field.cc:
  Auto merged
sql/field.h:
  Auto merged
sql/ha_ndbcluster.cc:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.h:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/log.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/mysql_priv.h:
  Auto merged
sql/set_var.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_db.cc:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_insert.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_show.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_update.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql-common/my_time.c:
  Auto merged
sql/time.cc:
  Auto merged
storage/archive/ha_archive.cc:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
client/client_priv.h:
  Manual merge with main 5.1 source.
sql/event_data_objects.cc:
  Manual merge with main 5.1 source.
sql/event_db_repository.cc:
  Manual merge with main 5.1 source.
sql/mysqld.cc:
  Manual merge with main 5.1 source.
sql/sql_load.cc:
  Manual merge with main 5.1 source.
sql/sql_parse.cc:
  Manual merge with main 5.1 source.
2007-04-10 16:28:47 +03:00
jani@ua141d10.elisa.omakaista.fi
b4ba815967 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.1
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.1-marvel
2007-04-10 16:28:47 +03:00
unknown
fe074a726f Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte
client/mysqldump.c:
  fixed typo
include/mysql_com.h:
  added new constants SYSTEM_CHARSET_MBMAXLEN, NAME_CHAR_LEN, USERNAME_CHAR_LENGTH
  increased NAME_LEN, USERNAME_LENGTH
mysql-test/r/create.result:
  result fix
mysql-test/r/grant.result:
  result fix
mysql-test/r/mysql.result:
  result fix
mysql-test/r/sp.result:
  result fix
mysql-test/t/create.test:
  test case
mysql-test/t/grant.test:
  test case
sql/events.cc:
  NAME_LEN is replaced with NAME_CHAR_LEN
sql/item_strfunc.h:
  fixed calculation of max_length
sql/mysql_priv.h:
  check_string_length function is replaced with check_string_byte_length
  added new function check_string_char_length
sql/sp.cc:
  NAME_LEN is replaced with NAME_CHAR_LEN
sql/sp_head.cc:
  NAME_LEN is replaced with NAME_CHAR_LEN
sql/sp_head.h:
  changed parameter of 'check_routine_name' function
sql/sql_class.cc:
  NAME_LEN is replaced with NAME_CHAR_LEN
sql/share/errmsg.txt:
  increased argument lengths according to new constants
sql/sql_parse.cc:
  removed unnecessary checks
  added function 'check_string_char_length'
sql/sql_plugin.cc:
  check that name is not longer than NAME_CHAR_LEN symbols
sql/sql_show.cc:
  NAME_LEN is replaced with NAME_CHAR_LEN
sql/sql_table.cc:
  check that key name is not longer than NAME_LEN symbols
sql/sql_udf.cc:
  check that udf name is not longer than NAME_CHAR_LEN symbols
sql/sql_yacc.yy:
  check that user name is not longer than USERNAME_CHAR_LENGTH symbols
sql/table.cc:
  check that db or table or column name is not longer than NAME_LEN symbols
storage/innobase/handler/ha_innodb.cc:
  removed unnecessary multiplication
tests/mysql_client_test.c:
  NAME_LEN is replaced with NAME_CHAR_LEN
2007-04-03 16:13:27 +05:00
gluh@mysql.com/eagle.(none)
2d47f0cb1b Bug#21432 Database/Table name limited to 64 bytes, not chars, problems with multi-byte 2007-04-03 16:13:27 +05:00
unknown
7e08016a91 Fix for BUG#27337: Privileges are not properly restored.
The problem was that THD::db_access variable was not restored after
database switch in stored-routine-execution code.

The fix is to restore THD::db_access in this case.

Unfortunately, this fix requires additional changes,
because in prepare_schema_table(), called on the parsing stage, we checked
privileges. That was wrong according to our design, but this flaw haven't
struck so far, because it was masked. All privilege checkings must be
done on the execution stage in order to be compatible with prepared statements
and stored routines. So, this patch also contains patch for
prepare_schema_table(), which moves the checkings to the execution phase.


mysql-test/r/grant.result:
  Updated result file.
mysql-test/t/grant.test:
  Added test case for BUG#27337.
sql/mysql_priv.h:
  Added function declaration.
sql/sql_db.cc:
  Fix for BUG#27337 -- set THD::db_access even if we're called
  from stored-routine-execution code.
sql/sql_parse.cc:
  Split prepare_schema_table() into two functions:
    - prepare_schema_table(), which is called from the parser (parsing stage);
    - check_show_access(), which is called on the execution stage.
sql/sql_show.cc:
  Ignore schema_select_lex member if its table is NULL.
2007-04-03 15:11:34 +04:00
anozdrin/alik@ibm.opbmk
5441aefd1d Fix for BUG#27337: Privileges are not properly restored.
The problem was that THD::db_access variable was not restored after
database switch in stored-routine-execution code.

The fix is to restore THD::db_access in this case.

Unfortunately, this fix requires additional changes,
because in prepare_schema_table(), called on the parsing stage, we checked
privileges. That was wrong according to our design, but this flaw haven't
struck so far, because it was masked. All privilege checkings must be
done on the execution stage in order to be compatible with prepared statements
and stored routines. So, this patch also contains patch for
prepare_schema_table(), which moves the checkings to the execution phase.
2007-04-03 15:11:34 +04:00
unknown
374718ff45 Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0-marvel
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.1-marvel


client/mysql.cc:
  Auto merged
client/mysqlbinlog.cc:
  Auto merged
BitKeeper/deleted/.del-my_lread.c:
  Auto merged
BitKeeper/deleted/.del-my_lwrite.c:
  Auto merged
BitKeeper/deleted/.del-raid.cc~488f5fa6538394e1:
  Auto merged
BitKeeper/deleted/.del-raid.h~2d2503a66b128ac6:
  Auto merged
client/mysqldump.c:
  Auto merged
extra/perror.c:
  Auto merged
include/my_sys.h:
  Auto merged
libmysql/libmysql.c:
  Auto merged
libmysqld/libmysqld.c:
  Auto merged
mysql-test/r/mysqlbinlog2.result:
  Auto merged
mysql-test/r/sp-security.result:
  Auto merged
mysql-test/r/view_grant.result:
  Auto merged
mysql-test/t/grant.test:
  Auto merged
mysql-test/t/sp-security.test:
  Auto merged
mysql-test/t/sp.test:
  Auto merged
mysql-test/t/sp_trans.test:
  Auto merged
mysql-test/t/view_grant.test:
  Auto merged
mysys/default.c:
  Auto merged
mysys/hash.c:
  Auto merged
mysys/mf_iocache.c:
  Auto merged
mysys/mf_keycache.c:
  Auto merged
mysys/my_alloc.c:
  Auto merged
mysys/my_dup.c:
  Auto merged
mysys/my_getwd.c:
  Auto merged
mysys/my_handler.c:
  Auto merged
mysys/my_lib.c:
  Auto merged
mysys/my_malloc.c:
  Auto merged
mysys/my_pread.c:
  Auto merged
mysys/my_read.c:
  Auto merged
mysys/my_seek.c:
  Auto merged
mysys/my_static.c:
  Auto merged
mysys/safemalloc.c:
  Auto merged
mysys/thr_alarm.c:
  Auto merged
mysys/typelib.c:
  Auto merged
sql/handler.cc:
  Auto merged
sql/item.cc:
  Auto merged
sql/item_cmpfunc.cc:
  Auto merged
sql/item_func.h:
  Auto merged
sql/item_subselect.cc:
  Auto merged
sql/log_event.cc:
  Auto merged
sql/net_serv.cc:
  Auto merged
sql/opt_range.cc:
  Auto merged
sql/slave.cc:
  Auto merged
sql/sp.cc:
  Auto merged
sql/sp_head.cc:
  Auto merged
sql/sql_acl.cc:
  Auto merged
sql/sql_base.cc:
  Auto merged
sql/sql_cache.cc:
  Auto merged
sql/sql_class.cc:
  Auto merged
sql/sql_class.h:
  Auto merged
sql/sql_delete.cc:
  Auto merged
sql/sql_load.cc:
  Auto merged
sql/sql_prepare.cc:
  Auto merged
sql/sql_repl.cc:
  Auto merged
sql/sql_select.cc:
  Auto merged
sql/sql_table.cc:
  Auto merged
sql/sql_view.cc:
  Auto merged
sql/strfunc.cc:
  Auto merged
sql/table.cc:
  Auto merged
sql/tztime.cc:
  Auto merged
sql/unireg.cc:
  Auto merged
sql-common/client.c:
  Auto merged
sql-common/my_time.c:
  Auto merged
storage/archive/ha_archive.cc:
  Auto merged
storage/heap/_check.c:
  Auto merged
storage/heap/hp_delete.c:
  Auto merged
storage/heap/hp_hash.c:
  Auto merged
storage/heap/hp_open.c:
  Auto merged
storage/heap/hp_rkey.c:
  Auto merged
storage/heap/hp_rrnd.c:
  Auto merged
storage/heap/hp_write.c:
  Auto merged
storage/innobase/handler/ha_innodb.cc:
  Auto merged
storage/myisam/mi_close.c:
  Auto merged
storage/myisam/mi_delete.c:
  Auto merged
storage/myisam/mi_dynrec.c:
  Auto merged
storage/myisam/mi_keycache.c:
  Auto merged
storage/myisam/mi_page.c:
  Auto merged
storage/myisam/mi_statrec.c:
  Auto merged
storage/myisam/myisamchk.c:
  Auto merged
storage/myisammrg/myrg_extra.c:
  Auto merged
storage/ndb/src/mgmclient/CommandInterpreter.cpp:
  Auto merged
tests/mysql_client_test.c:
  Auto merged
mysql-test/r/grant.result:
  Merged from 5.0
mysql-test/r/sp.result:
  Merged from 5.0
mysql-test/r/sp_trans.result:
  Merged from 5.0
mysql-test/t/mysqlbinlog2.test:
  Merged from 5.0
mysys/thr_lock.c:
  Merged from 5.0
sql/ha_ndbcluster.cc:
  Merged from 5.0
sql/log.cc:
  Merged from 5.0
sql/mysql_priv.h:
  Merged from 5.0
sql/mysqld.cc:
  Merged from 5.0
sql/set_var.cc:
  Merged from 5.0
sql/sql_db.cc:
  Merged from 5.0
sql/sql_insert.cc:
  Merged from 5.0
sql/sql_parse.cc:
  Merged from 5.0
sql/sql_show.cc:
  Merged from 5.0
sql/sql_update.cc:
  Merged from 5.0
2007-03-29 17:27:42 +03:00
jani@ua141d10.elisa.omakaista.fi
1c7beca65e Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0-marvel
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.1-marvel
2007-03-29 17:27:42 +03:00
unknown
bd49d8debf Fix for BUG#9504: Stored procedures: execute privilege doesn't
make 'use database' okay.

The problem was that we didn't check stored-routine privileges
in check_grant_db().

The patch adds this check.


mysql-test/r/grant.result:
  Update result file.
mysql-test/r/sp-security.result:
  Update result fil.
mysql-test/t/grant.test:
  Added test case for BUG#9504.
mysql-test/t/sp-security.test:
  Update test.
sql/sql_acl.cc:
  Check stored routines privileges.
2007-03-23 14:12:11 +03:00