Commit graph

68 commits

Author SHA1 Message Date
andrey@lmy004.
531ad766ed fix for bug#16415 Events names are case sensitive 2006-03-24 17:45:52 +01:00
tomas@poseidon.ndb.mysql.com
df6bb1994b Bug #17805 Cluster_replication database should be renamed to just cluster 2006-03-01 13:31:21 +01:00
anozdrin@mysql.com
0a1f7e921b Fix for BUG#9412: Triggers: should have trigger privilege.
Implement table-level TRIGGER privilege to control access to triggers.
Before this path global SUPER privilege was used for this purpose, that
was the big security problem.

In details, before this patch SUPER privilege was required:
  - for the user at CREATE TRIGGER time to create a new trigger;
  - for the user at DROP TRIGGER time to drop the existing trigger;
  - for the definer at trigger activation time to execute the trigger (if the
    definer loses SUPER privilege, all its triggers become unavailable);

This patch changes the behaviour in the following way:
  - TRIGGER privilege on the subject table for trigger is required:
    - for the user at CREATE TRIGGER time to create a new trigger;
    - for the user at DROP TRIGGER time to drop the existing trigger;
    - for the definer at trigger activation time to execute the trigger
      (if the definer loses TRIGGER privilege on the subject table, all its
      triggers on this table become unavailable).
  - SUPER privilege is still required:
    - for the user at CREATE TRIGGER time to explicitly set the trigger
      definer to the user other than CURRENT_USER().

When the server works with database of the previous version (w/o TRIGGER
privilege), or if the database is being upgraded from the previous versions,
TRIGGER privilege is granted to whose users, who have CREATE privilege.
2006-02-01 13:28:45 +03:00
andrey@lmy004.
2a60c11fef partial fix for bug#16407 (sql_mode not regarded)
add sql_mode to mysql.event
WL#1034 (Internal CRON)
2006-01-31 16:01:27 +01:00
andrey@lmy004.
9d7d8767dd post-commit merge 2006-01-30 14:28:48 +01:00
andrey@lmy004.
d847ac54ca fix for bug#16642 (Events: No INFORMATION_SCHEMA.EVENTS table)
post-review change - use pointer instead of copy on the stack.
WL#1034 (Internal CRON)
 This patch adds INFORMATION_SCHEMA.EVENTS table with the following format:
  EVENT_CATALOG  - MYSQL_TYPE_STRING  (Always NULL)
  EVENT_SCHEMA   - MYSQL_TYPE_STRING  (the database)
  EVENT_NAME     - MYSQL_TYPE_STRING  (the name)
  DEFINER        - MYSQL_TYPE_STRING  (user@host)
  EVENT_BODY     - MYSQL_TYPE_STRING  (the body from mysql.event)
  EVENT_TYPE     - MYSQL_TYPE_STRING  ("ONE TIME" | "RECURRING")
  EXECUTE_AT     - MYSQL_TYPE_TIMESTAMP (set for "ONE TIME" otherwise NULL)
  INTERVAL_VALUE - MYSQL_TYPE_LONG    (set for RECURRING otherwise NULL)
  INTERVAL_FIELD - MYSQL_TYPE_STRING  (set for RECURRING otherwise NULL)
  SQL_MODE       - MYSQL_TYPE_STRING  (for now NULL)
  STARTS         - MYSQL_TYPE_TIMESTAMP (starts from mysql.event)
  ENDS           - MYSQL_TYPE_TIMESTAMP (ends from mysql.event)
  STATUS         - MYSQL_TYPE_STRING  (ENABLED | DISABLED)
  ON_COMPLETION  - MYSQL_TYPE_STRING  (NOT PRESERVE | PRESERVE)
  CREATED        - MYSQL_TYPE_TIMESTAMP
  LAST_ALTERED   - MYSQL_TYPE_TIMESTAMP
  LAST_EXECUTED  - MYSQL_TYPE_TIMESTAMP
  EVENT_COMMENT  - MYSQL_TYPE_STRING

  SQL_MODE is NULL for now, because the value is still not stored in mysql.event .
Support will be added as a fix for another bug.

 This patch also adds SHOW [FULL] EVENTS [FROM db] [LIKE pattern]
1. SHOW EVENTS shows always only the events on the same user,
   because the PK of mysql.event is (definer, db, name) several 
   users may have event with the same name -> no information disclosure.
2. SHOW FULL EVENTS - shows the events (in the current db as SHOW EVENTS)
   of all users. The user has to have PROCESS privilege, if not then
   SHOW FULL EVENTS behave like SHOW EVENTS.
3. If [FROM db] is specified then this db is considered.
4. Event names can be filtered with LIKE pattern.
  SHOW EVENTS returns table with the following columns, which are subset of
  the data which is returned by SELECT * FROM I_S.EVENTS
   Db
   Name
   Definer 
   Type
   Execute at
   Interval value
   Interval field 
   Starts 
   Ends
   Status
2006-01-30 13:15:23 +01:00
andrey@lmy004.
48668d7cc4 fix for bug #16401 Events: mysql.event.comment is varchar(64)
missed that one in the previos commit
2006-01-26 20:30:12 +01:00
guilhem@mysql.com
781820c028 excess space caused "../scripts/mysql_create_system_tables: line 46: : command not found"
when I ran mysql-test-run
2006-01-24 15:50:04 +01:00
andrey@lmy004.
91ff153dcb Merge 2006-01-23 13:07:31 +01:00
cps@outpost.site
ce2eb6d8cb WL1019: complete patch. Reapplied patch to the clean
tree to get rid of multiple typos in CS comments and
unify the patch.
2006-01-19 05:56:06 +03:00
andrey@lmy004.
3eba9695d0 WL #1034 (Internal CRON)
- initialize a variable in a shell scrip
2006-01-13 12:44:15 +01:00
tomas@poseidon.ndb.mysql.com
4b731ddfb4 wl2325 wl2324 2006-01-12 19:51:02 +01:00
andrey@lmy004.
570db08105 WL #1034 (Internal CRON) post-push fixes.
fix INSERT/REPLACE statements so test suite runs again.
The question is why we have 2 parallel universes - 2 different
ways to start the test suite, a shell and perl version. One more case
where redundancy makes life nightmare.
2006-01-12 14:17:00 +01:00
andrey@lmy004.
9f82755b81 WL #1034 (Internal CRON) post-push fix
- add Event_priv to db and host tables
2006-01-12 12:06:13 +01:00
andrey@lmy004.
71eb7d7ec9 WL #1034 (Internal CRON) pre-push updates
- various fixes of test cases
(hopefully the last pre-push update before the push)
2006-01-11 18:09:05 +01:00
serg@serg.mylan
8241a5a8e8 cleanup 2006-01-04 10:36:49 +01:00
svoj@poseidon.ndb.mysql.com
3791197f0d WL#2575 - Fulltext: Parser plugin for FTS
WL#2763 - MySQL plugin interface: step 1
Manual merge from CNET tree.
2005-11-06 13:13:06 +01:00
bar@mysql.com
39b0712cf7 type_binary.result, type_binary.test:
new file
mysql_fix_privilege_tables.sql, mysql_create_system_tables.sh:
  Adding true BINARY/VARBINARY: fixing "password" type, not to be 0x00-padding.
Many files:
  Adding true BINARY/VARBINARY: fixing tests not to output 0x00 bytes.
  Adding true BINARY/VARBINARY: new pad_char structure member.
ctype-bin.c:
  Adding true BINARY/VARBINARY: new pad_char structure member.
  New strnxfrm, with two trailing length bytes.
field.cc:
  Adding true BINARY/VARBINARY.
2005-10-13 19:16:19 +05:00
serg@serg.mylan
c794383e09 mysql.user.password doesn't need utf8 2005-09-27 12:10:22 +02:00
jimw@mysql.com
0536bd6679 Increase allowed size of stored procedure bodies to 4GB, and
produce a sensible error when that limit is exceeded. (Bug #11602)
2005-07-26 18:08:49 -07:00
pem@mysql.com
5ce9198f20 Fixed BUG#11365: Stored Procedure: Crash on Procedure operation
Two separate problems. A key buffer was too small in sp.cc for multi-byte
  fields, and the creation and fixing of mysql.proc in the scripts hadn't been
  updated with the correct character sets and collations (like the other
  system tables had).
  Note: No special test case, as the use of utf8 for mysql.proc will make
  any existing crash (if the buffer overrrun wasn't fixed).
2005-07-08 16:33:15 +02:00
bell@sanja.is.com.ua
bfbd0e241b added processing of view grants to table grants (BUG#9795) 2005-07-05 13:36:36 +03:00
acurtis@xiphis.org
8df5887ad5 Bug#10246 - Parser: bad syntax for GRANT EXECUTE
Rename some functions
  more fine-grained sp privileges
  make grant/revoke sp grammar less ambigious
2005-05-17 19:54:20 +01:00
jimw@mysql.com
36869043ec Resolve merge of fix for #8166. 2005-05-02 10:25:47 -07:00
monty@mishka.local
c8170b349f Merge with 4.1 2005-04-16 04:35:54 +03:00
monty@mishka.local
2b322f36d8 Ensure that all privilege tables are created in MyISAM 2005-04-16 04:12:30 +03:00
jimw@mysql.com
3ef3c59ed0 Hack to ensure that CHAR's created in 5.0 are not converted to VARCHAR even if
the row type is dynamic (For 4.1 tables old 'VARCHAR' fields are converted to
true VARCHAR in the next ALTER TABLE)
      
This ensures that one can use MySQL 5.0 privilege tables with MySQL 4.1.

(Fix imported from main 5.0 tree to 5.0.3 build tree.)
2005-03-22 21:52:01 +01:00
mysqldev@mysql.com
ad26a667e6 sql_acl.cc, sql_acl.h, sql_parse.cc
New privilege CREATE USER (CREATE_USER_ACL, Create_user_priv) added
grant2.test:
  new tests (mostly backported from jani's patch)
system_mysql_db.result, sp.result, grant2.result, grant.result:
  results updated
2005-03-22 15:54:18 +01:00
jimw@mysql.com
2b2efa4208 Add all SQL_MODE settings to proc table. (Bug #8902) 2005-03-08 17:40:43 -08:00
jimw@mysql.com
e9a5b7d500 Clean up merge from 4.1, including making several enum fields
in the grant tables case-insensitive and updating test results.
2005-02-17 18:07:14 -08:00
jimw@mysql.com
7eb8c130f7 Merge 2005-02-17 16:16:58 -08:00
jimw@mysql.com
9de31feab9 Merge mysql.com:/home/jimw/my/mysql-4.1-7617
into mysql.com:/home/jimw/my/mysql-4.1-clean
2005-02-17 13:53:35 -08:00
monty@mysql.com
38d1a42481 Merge with 4.1 2005-02-15 17:12:13 +02:00
serg@serg.mylan
10c53ae1e5 remove passwordless remote accounts from windows distro 2005-02-14 11:14:04 +01:00
jimw@mysql.com
c4187750ff Fix all of the enum and set columns in privilege tables to be
case-insensitive. (Bug #7989)
2005-02-10 20:25:14 -08:00
jimw@mysql.com
21caf15bca Add Create_routine_priv, Alter_routine_priv, and Execute_priv privileges
to the 'host' privilege table. (Bug #8166)
2005-02-07 18:40:14 -08:00
dlenev@mysql.com
a8deefa3dd Manual merge of patch implementing WL#1339 with main tree. 2004-12-29 22:35:16 +03:00
dlenev@brandersnatch.localdomain
ffa7393330 WL#1339 "Add per account max_user_connections limit (maximum number
of concurrent connections for the same account)"

Added support of account specific max_user_connections limit. Made all
user limits to be counted per account instead of the old behavior,
which was per user/host accounting. Added option which enables the old
behavior. Added testing of these to the test suite.

(After review version).
2004-12-29 20:30:37 +03:00
acurtis@pcgem.rdg.cyberkinetica.com
b1e30904d5 WL#925 - Privileges for stored routines
Implement fine-grained control over access to stored procedures
  Privileges are cached (same way as existing table/column privs)
2004-12-23 10:46:24 +00:00
pem@mysql.comhem.se
4043c0f3db Implemented the stored procedure data access characteristics:
NO SQL
CONTAINS SQL (default)
READS SQL DATA
MODIFIES SQL DATA

These are needed as hints for the replication.
(Before this, we did have the default in the mysql.proc table, but no support in the parser.)
2004-10-14 18:07:09 +02:00
monty@mysql.com
31122efde7 Merge with 4.1
(Includes merge of arena code in 4.1 and 5.0)
2004-09-06 15:14:10 +03:00
serg@serg.mylan
9153fd2ae4 merged 2004-09-03 22:12:27 +02:00
serg@serg.mylan
e66d0fa7d8 add engine=MyISAM to all create table statements in
mysql_create_system_tables, just in case
2004-09-03 17:20:00 +02:00
bar@mysql.com
f37df2fdcc Bug#4338 mysql-test-run fails if compiled with non-latin1 character set 2004-09-02 12:34:27 +05:00
bar@mysql.com
521643c85a Bu#4526 building with utf8_bin collation causes help to be case sensitive 2004-08-27 21:12:53 +05:00
dlenev@brandersnatch.localdomain
f49d4f5350 Fix for bug #4508 "CONVERT_TZ() function with new time zone as param crashes server".
Instead of trying to open time zone tables during calculation of CONVERT_TZ() function
or setting of @@time_zone variable we should open and lock them with the rest of 
statement's table (so we should add them to global table list) and after that use such 
pre-opened tables for loading info about time zones.
2004-08-10 12:42:31 +04:00
bell@sanja.is.com.ua
166a9ab465 changes in system db creation procedure for view privileges 2004-07-16 12:25:26 +03:00
monty@mysql.com
1e31199995 Merge with 4.1.3-beta 2004-07-07 11:29:39 +03:00
monty@mysql.com
137b8517c4 Cleanup for creating windows source distribution 2004-06-26 10:57:00 +03:00
patg@krsna.patg.net
a65f2afbae mysql_create_system_tables.sh:
fix to user table during make_win_src_distribution
2004-06-25 19:11:46 -07:00