Commit graph

829 commits

Author SHA1 Message Date
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.
64e09bad66 sql_mode should be after on_completion and before comment
partial fix for bug #16407
WL#1034 (Internal CRON)
2006-01-31 23:29:03 +01:00
andrey@lmy004.
edf0185e4b post-push fix 2006-01-31 17:10:44 +01: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
knielsen@mysql.com
2472ffc41b Merge bk-internal:/home/bk/mysql-5.1-new
into  mysql.com:/usr/local/mysql/x/mysql-5.1-new
2006-01-30 22:35:46 +01:00
jimw@mysql.com
7065c420e2 Merge bk-internal:/home/bk/mysql-5.1-new
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-01-30 09:47:55 -08:00
knielsen@mysql.com
56d44ff1f9 Merge mysql.com:/usr/local/mysql/mysql-5.1-win-fixes
into  mysql.com:/usr/local/mysql/x/mysql-5.1-new
2006-01-30 17:57:20 +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
knielsen@mysql.com
899fc2653d Windows compile fixes in preparation for 5.1.6 beta. 2006-01-30 13:09:08 +01:00
jimw@mysql.com
dd31eac9f8 Merge bk-internal:/home/bk/mysql-5.1-new
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-01-27 16:01:52 -08: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
andrey@lmy004.
10e9da5243 Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-new
2006-01-26 20:23:19 +01:00
jimw@mysql.com
e25c4f37c6 Add storage/example to make_win_src_distribution 2006-01-25 18:21:22 -08: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.
de24c22289 fix for bug #16401 Events: mysql.event.comment is varchar(64) 2006-01-23 22:09:53 +01:00
andrey@lmy004.
91ff153dcb Merge 2006-01-23 13:07:31 +01:00
knielsen@mysql.com
8de62c574b Merge mysql.com:/usr/local/mysql/mysql-5.1-new
into  mysql.com:/usr/local/mysql/tmp5.1
2006-01-20 13:24:18 +01:00
joerg@mysql.com
5788197dfc Merge mysql.com:/M51/merge-5.1 into mysql.com:/M51/mysql-5.1 2006-01-20 10:45:30 +01:00
knielsen@mysql.com
113b1e4e6c Merge mysql.com:/usr/local/mysql/ab/mirrors/pullers/mysql-5.1-new
into  mysql.com:/usr/local/mysql/tmp5.1
2006-01-19 21:50:57 +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
knielsen@mysql.com
2ad568d421 Merge bk-internal:/home/bk/mysql-5.1-new
into  mysql.com:/usr/local/mysql/mysql-5.1-relmerge
2006-01-17 18:35:16 +01:00
joerg@mysql.com
b2f6d4f574 Merge mysql.com:/M50/merge-5.0 into mysql.com:/M51/merge-5.1 2006-01-16 20:21:42 +01:00
joerg@mysql.com
fa91e05bf5 Manual merge of the fix for bug#16106.
Currently failing tests (for me) in non-debug build:
blackhole fulltext fulltext_cache fulltext_left_join fulltext_multi
2006-01-16 16:48:05 +01:00
knielsen@mysql.com
12cb3f4c5e Windows/Visual Studio 2003 fixes for the 5.1.5 release. 2006-01-13 22:09:48 +01:00
joerg@mysql.com
1155bf20d9 Merge mysql.com:/M40/push-4.0 into mysql.com:/M41/merge-4.1 2006-01-13 17:45:01 +01:00
joerg@mysql.com
9d4562e5fe extra/comp_err.c + scripts/mysqld_multi.sh :
Copyright string fixes (bug#16106)
2006-01-13 16:25:20 +01: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
andrey@lmy004.
7c049782fa WL #1034 (Internal CRON)
merge before push
2006-01-10 21:02:19 +01:00
serg@serg.mylan
923e7cfd73 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into serg.mylan:/usr/home/serg/Abk/mysql-5.1
2006-01-07 14:50:03 +01:00
serg@serg.mylan
8241a5a8e8 cleanup 2006-01-04 10:36:49 +01:00
joerg@mysql.com
2a29c32908 Test files in new subdirectory "mysql-test/extra" need to be propagated into binary distribution. 2006-01-03 14:36:31 +01:00
kent@mysql.com
2205d1b8d5 mysql.spec.sh, make_binary_distribution.sh, Makefile.am, mysql.sln:
Added "client/mysqlslap"
mysqlslap.vcproj, mysqlslap.def:
  new file
2005-12-19 01:12:11 +01:00
andrey@lmy004.
5ec6c5f2c6 WL #1034 update
- varchar -> char
- transient_expression -> interval_value
- interval_type -> interval_field
2005-12-16 13:01:46 +01:00
andrey@lmy004.
533180d76c WL#1034 update
- fix EVENT_ACL problem that GRANT ALL on some_db.* to someone@somewhere did not get to mysql.db
- fix crash when the following is executed :
  CREATE EVENT P() CREATE EVENT E ON SCHEDULER 1 SECOND DO ROLLBACK;
  (creation works as well as calling P() which creates the event).
2005-12-15 14:12:28 +01:00
kent@mysql.com
28a59073b0 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1
2005-12-15 00:43:41 +01:00
kent@mysql.com
c11b35d9bf Merge mysql.com:/Users/kent/mysql/bk/mysql-5.0-release
into mysql.com:/Users/kent/mysql/bk/mysql-5.0
2005-12-14 13:18:24 +01:00
andrey@lmy004.
fd0613f59e Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-wl1034
into lmy004.:/work/mysql-5.1-tt-copy-works
2005-12-14 12:15:48 +01:00
jani@a193-229-222-105.elisa-laajakaista.fi
7ded800078 Merge a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.0
into  a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.1-new
2005-12-13 19:46:35 +02:00
jani@a193-229-222-105.elisa-laajakaista.fi
13d7abe06f Merge a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-4.1
into  a193-229-222-105.elisa-laajakaista.fi:/home/my/bk/mysql-5.0
2005-12-13 18:44:20 +02:00
jani@a193-229-222-105.elisa-laajakaista.fi
32466b14fb Minor Netware specific changes. 2005-12-13 18:30:10 +02:00
kent@mysql.com
a6849a9238 Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-5.1-new
2005-12-12 16:12:36 +01:00
kent@mysql.com
43252fa1bb Merge mysql.com:/Users/kent/mysql/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-5.0-release
2005-12-11 09:23:38 +01:00
kent@mysql.com
cf57f12407 make_win_src_distribution.sh:
Removed Visual Studio 6 project files, as they are not maintained
2005-12-11 09:21:13 +01:00
andrey@lmy004.
7120d43c36 WL#1034 updated
- split into several files
- forbid parallel execution (before analyse is done how to make it possible)
  because the same sp_head instance cannot be executed in parallel
- added GPL headers
- changed EVENT_ACL to be per DB variable
- fixed minor problems
2005-12-05 11:45:04 +01:00
jimw@mysql.com
b3ba66495c Merge mysql.com:/home/jimw/my/mysql-5.0-clean
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2005-11-30 13:12:35 -08:00