Commit graph

676 commits

Author SHA1 Message Date
andrey@lmy004.
22ba4ca3a3 fix for bug#16407 (Events: Changes in sql_mode won't be taken into account)
WL#1032
sql_mode setting was disregarded during create/alter event and wasn't set during
event execution.
(post-review small fixes)
2006-02-20 23:52:22 +01:00
knielsen@mysql.com
2b5a4e2807 Merge mysql.com:/usr/local/mysql/mysql-5.1-winfix
into  mysql.com:/usr/local/mysql/mysql-5.1-new
2006-02-09 09:34:42 +01:00
knielsen@mysql.com
8269fe79a4 Add cast to fix Windows compilation. 2006-02-07 16:30:26 +01:00
konstantin@mysql.com
30ddc47ab0 Merge mysql.com:/home/kostja/mysql/tmp_merge
into  mysql.com:/home/kostja/mysql/mysql-5.1-merge
2006-02-07 15:26:58 +03:00
konstantin@mysql.com
9f0bb47f87 Merge mysql.com:/home/kostja/mysql/tmp_merge
into  mysql.com:/home/kostja/mysql/mysql-5.1-merge
2006-02-02 23:27:06 +03:00
konstantin@mysql.com
92b41ba92a Merge mysql.com:/home/kostja/mysql/tmp_merge
into  mysql.com:/home/kostja/mysql/mysql-5.1-merge
2006-02-02 16:57:34 +03:00
stewart@mysql.com
72b9f287df Merge mysql.com:/home/stewart/Documents/MySQL/5.1/wl1359
into  mysql.com:/home/stewart/Documents/MySQL/5.1/tmp_merge
2006-02-02 00:52:32 +11:00
stewart@mysql.com
d590dd5682 some fixes from review of WL1359.
fix up test cases.
2006-02-02 00:47:08 +11:00
tomas@poseidon.ndb.mysql.com
128388bca7 Merge tulin@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  poseidon.ndb.mysql.com:/home/tomas/mysql51
2006-02-01 13:04:47 +01:00
tomas@poseidon.ndb.mysql.com
de2c7c72d9 MySQL Bugs: #16466: DD: SHOW CREATE TABLE does not show TABLESPACE table_space1 STORAGE DISK 2006-02-01 11:56:20 +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
stewart@mysql.com
7458f115ed Merge mysql.com:/home/stewart/Documents/MySQL/5.1/new
into  mysql.com:/home/stewart/Documents/MySQL/5.1/wl1359
2006-02-01 18:23:34 +11:00
tomas@poseidon.ndb.mysql.com
f4f0f1d66c Bug #16466 DD: SHOW CREATE TABLE does not show TABLESPACE table_space1 STORAGE DISK 2006-01-31 18:46:44 +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
paul@snake-hub.snake.net
b4f8b1b376 information_schema_db.result, information_schema.result:
Fix test result.
table.h, sql_show.cc:
  Put I_S tables in lexical order.
2006-01-28 19:44:51 -06:00
stewart@mysql.com
5c3d5e28af WL#1359 NDB: Add table handler and table information available from SQL commands
add a FILES table that allows the user to run SQL queries on the files used
to store their tables.

Currently supports NDB
2006-01-28 16:16:23 +13:00
gluh@eagle.intranet.mysql.r18.ru
b4f7c9bbd5 Fix for bug#15307 GROUP_CONCAT() with ORDER BY returns empty set on information_schema(2nd ver)
Fill schema tables with data before filesort if it's necessary
2006-01-24 16:48:19 +04: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
bar@mysql.com
0e665a7aa5 sql_show.cc:
Don't display charsets/collations with HIDDEN flag.
ctype-utf8.c:
  Adding HIDDEN flag to "filename"
  Changeing ID to 17 which was previosly
  used by deprecated "win1251", removed in 4.1.
charset-def.c:
  Adding "filename" as a hidden charset, for test purposes.
m_ctype.h:
  Adding MY_CS_HIDDEN flag,
  to hide charsets and collations from
  being displayed in SHOW.
2006-01-18 12:27:02 +04:00
mikron@c-1e0be253.1238-1-64736c10.cust.bredbandsbolaget.se
e802a94284 WL #2604: Partition Management
Optimised version of ADD/DROP/REORGANIZE partitions for
non-NDB storage engines.
New syntax to handle REBUILD/OPTIMIZE/ANALYZE/CHECK/REPAIR partitions
Quite a few bug fixes
2006-01-17 08:40:00 +01:00
serg@serg.mylan
ae3d815b41 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into serg.mylan:/usr/home/serg/Abk/mysql-5.0
2006-01-16 18:09:04 +01:00
evgen@moonbone.local
7f0aa55e36 Manually merged 2006-01-16 16:57:15 +03:00
anozdrin@mysql.com
b1705ae5c4 Merge BUG#15110 from 5.0 into 5.1.
Merge mysql.com:/home/alik/MySQL/devel/5.0-bug15110
into  mysql.com:/home/alik/MySQL/devel/5.1-bug15110
2006-01-13 19:09:27 +03:00
bar@mysql.com
5f17cbaba4 sql_show.cc:
after-merge fix for
  bug#15581 COALESCE function truncates mutli-byte TINYTEXT values
2006-01-12 16:05:46 +04:00
andrey@lmy004.
b7117c448e Merge ahristov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into lmy004.:/work/mysql-5.1-tt-copy-works
2006-01-11 12:51:17 +01:00
gluh@eagle.intranet.mysql.r18.ru
9f729c45d7 Additional fix for wl#2506 2006-01-11 15:04:18 +04:00
anozdrin@mysql.com
b04b851ef9 Fix for BUG#15110: mysqldump --triggers: does not include DEFINER clause
There are two main idea of this fix:
  - introduce a common function for server and client to split user value
    (<user name>@<host name>) into user name and host name parts;
  - dump DEFINER clause in correct format in mysqldump.
2006-01-11 02:07:40 +03:00
andrey@lmy004.
7c049782fa WL #1034 (Internal CRON)
merge before push
2006-01-10 21:02:19 +01:00
gluh@eagle.intranet.mysql.r18.ru
be4ebd9038 WL#2506: Information Schema tables for PARTITIONing
added I_S 'PARTITIONS' table
2006-01-10 19:44:04 +04: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
cfbaad9952 WL#2935 - SHOW STATUS support in plugins
The patch adds DYNAMIC_ARRAY all_status_vars, which is now the
sole source of status information for SHOW STATUS.  Status
variables can be added to and removed from the array dynamically.
SHOW STATUS command uses this array instead of static array
from mysqld.cc
Compatibility with the old, global list of status variables is
preserved in init_server_components(), where this global list is
simply appended to all_status_vars.
2006-01-07 14:41:57 +01:00
konstantin@mysql.com
f4cc6c4d15 Merge mysql.com:/opt/local/work/mysql-5.0-merge
into  mysql.com:/opt/local/work/mysql-5.1-merge
2006-01-05 00:38:51 +03:00
serg@serg.mylan
30c09d6dc0 merged 2006-01-03 18:12:03 +01:00
serg@serg.mylan
14f94dc0ca many warnings (practically safe but annoying) corrected 2006-01-03 17:54:54 +01:00
gluh@eagle.intranet.mysql.r18.ru
8ce6f3e6ca Fix for bug#15533 crash, information_schema, function, view
enable view prepared mode during getting metedata for I_S table
2006-01-03 14:25:19 +04:00
serg@serg.mylan
533b18c8f9 cleanup of SHOW STATUS code, as a preparation for WL#2935
(MySQL plugin interface: status variables)

adding SHOW_FUNC, removing SHOW_some_specific_value,
only generic SHOW_LONG/SHOW_CHAR/etc are recognized.
changing to use SHOW_FUNC instead of ha_update_statistics
2006-01-02 15:41:13 +01:00
bar@mysql.com
dc1b2cd312 Making old tables seen with "#mysql50#" prefix,
which makes it possible to run RENAME TABLE
  on old tables when upgrading from 5.0.
  TODO: A stored procedure to rename all tables and
  databases with old name format into new format,
  it will simplify upgrade.
sql_table.cc:
  Making old tables seen with "#mysql50#" prefix.
  Adding warning into .err log when an old name is found.
sql_show.cc:
  Skip non-directories before filename_to_tablename
  call, to avoid unnecessary warnings.
strfunc.cc:
  Adding "error" argument to strconvert()
mysql_priv.h:
  Adding "error" agrument to strconvert()
2005-12-31 12:34:39 +04:00
bar@mysql.com
6ff211329f WL#1324 table name to file name encoding
- Encoding itself, implemented as a charset
  "filename". Originally planned to use '.'
  as an escape character, but now changed to '@'
  for two reasons: "ls" does not return
  file names starting with '.' considering them
  as a kind of hidden files; some platforms
  do not allow several dots in a file name.
- replacing many calls of my_snprintf() and
  strnxmov() to the new build_table_filename().
- Adding MY_APPEND_EXT mysys flag, to append
  an extention rather that replace it.
- Replacing all numeric constants in fn_format
  flag arguments to their mysys definitions, e.g.
  MY_UNPACK_FILENAME,
- Predictability in several function/methods:
  when a table name can appear with or withot .frm
  extension. Some functions/methods were changed
  so accept names strictly with .frm, other - strictly
  without .frm extensions. Several DBUG_ASSERTs were
  added to check whether an extension is passed.
Many files:
  table name to file name encoding
mysql_priv.h:
  Prototypes for new table name encoding tools.
ctype-utf8.c:
  Implementing "filename" charset for
  table name to file name encoding.
row0mysql.c:
  Fixing table name prefix.
mf_format.c:
  Adding MY_APPEND_EXT processing.
Many files:
  Fixing tests.
my_sys.h:
  Adding new flag to append rather than replace an extension.
m_ctype.h:
  Adding "filename" charset definition.
2005-12-31 09:01:26 +04:00
serg@serg.mylan
a2689bae45 after pull fixes 2005-12-29 21:29:02 +01:00
svoj@mysql.com
a3f445151f WL#2575 - Fulltext: Parser plugin for FTS
Manual merge.
2005-12-28 16:05:30 +04:00
dlenev@mysql.com
15c86158a7 Merge mysql.com:/home/dlenev/src/mysql-5.0-bg14836
into  mysql.com:/home/dlenev/src/mysql-5.1-merges
2005-12-24 20:13:51 +03:00
brian@zim.(none)
3c23f4dca9 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zim.(none):/home/brian/mysql/cluster-5.1
2005-12-22 01:12:40 -08:00
brian@zim.(none)
fe7ecfd5f1 This patch does the following:
1) Fixes breakage in embedded server build for XMLPath push.
2) Hides PARTITION engine from view.
3) Add ENGINES information schema (and it should now be clear from this patch on how to turn any show command into an information schema).
2005-12-22 01:07:47 -08:00
lars@mysql.com
ad126d90e0 WL#1012: All changes as one single changeset.
This includes both code and test cases.
2005-12-22 06:39:02 +01:00
acurtis@xiphis.org
9e3a6897c9 plugin version changes 2005-12-21 12:50:50 -08:00
acurtis@xiphis.org
9d4d1e81b8 Merge xiphis.org:/home/antony/work2/mysql-5.1
into  xiphis.org:/home/antony/work3/mysql-5.1-plugable-2
2005-12-21 10:26:39 -08:00
acurtis@xiphis.org
13a776778c Finalize storage engine plugins
Give BerkeleyDB savepoints
Remove "enum db_type" from most of the code
2005-12-21 10:18:40 -08:00
gluh@eagle.intranet.mysql.r18.ru
f9ef0df0d3 Fix for bug#14271 I_S: columns has no size for (var)binary columns
set character_octet_length, character_maximum_length for
  binary and varbinary field types
2005-12-19 16:21:02 +04:00
gluh@eagle.intranet.mysql.r18.ru
c8631b414b Bug#12770 DESC cannot display the info. about temporary table
Bug#14387 SHOW COLUMNS doesn't work on temporary tables.
Bug#15224 SHOW INDEX from temporary table doesn't work.
  Restore thd->temporary_tables to be able to process
  temporary tables(only for 'show index' & 'show columns').
  This should be changed when processing of temporary tables for
  I_S tables will be done.
2005-12-19 14:46:54 +04: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