Commit graph

615 commits

Author SHA1 Message Date
gluh@eagle.intranet.mysql.r18.ru
a23a8780e4 Fix for bug#18177 any access to INFORMATION_SCHEMA.ROUTINES crashes
replaced get_field(MEM_ROOT *mem, Field *field) with 
get_field(MEM_ROOT *mem, Field *field, String *res).
It allows to avoid strlen().
2006-05-12 17:34:36 +05:00
gluh@eagle.intranet.mysql.r18.ru
c8944add73 Fix for bug#19236 bad COLUMNS.CHARACTER_MAXIMUM_LENGHT and CHARACTER_OCTET_LENGTH 2006-05-12 15:09:25 +05:00
jani@ua141d10.elisa.omakaista.fi
0410832526 Merge ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0
2006-05-04 18:35:58 +03:00
jani@hundin.mysql.fi
d3467c0b4c Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-4.1
into  hundin.mysql.fi:/home/jani/mysql-4.1
2006-05-04 13:17:16 +03:00
tnurnberg@mysql.com
5becb110e0 Bug#19025 4.1 mysqldump doesn't correctly dump "auto_increment = [int]"
mysqldump / SHOW CREATE TABLE will show the NEXT available value for
the PK, rather than the *first* one that was available (that named in
the original CREATE TABLE ... AUTO_INCREMENT = ... statement).

This should produce correct and robust behaviour for the obvious use
cases -- when no data were inserted, then we'll produce a statement
featuring the same value the original CREATE TABLE had; if we dump
with values, INSERTing the values on the target machine should set the
correct next_ID anyway (and if not, we'll still have our AUTO_INCREMENT =
... to do that). Lastly, just the CREATE statement (with no data) for
a table that saw inserts would still result in a table that new values
could safely be inserted to).

There seems to be no robust way however to see whether the next_ID
field is > 1 because it was set to something else with CREATE TABLE
... AUTO_INCREMENT = ..., or because there is an AUTO_INCREMENT column
in  the table (but no initial value was set with AUTO_INCREMENT = ...)
and then one or more rows were INSERTed, counting up next_ID. This
means that in both cases, we'll generate an AUTO_INCREMENT =
... clause in SHOW CREATE TABLE / mysqldump.  As we also show info on,
say, charsets even if the user did not explicitly give that info in
their own CREATE TABLE, this shouldn't be an issue.

As per above, the next_ID will be affected by any INSERTs that have
taken place, though.  This /should/ result in correct and robust
behaviour, but it may look non-intuitive to some users if they CREATE
TABLE ... AUTO_INCREMENT = 1000 and later (after some INSERTs) have
SHOW CREATE TABLE give them a different value (say, CREATE TABLE
... AUTO_INCREMENT = 1006), so the docs should possibly feature a
caveat to that effect.

It's not very intuitive the way it works now (with the fix), but it's
*correct*.  We're not storing the original value anyway, if we wanted
that, we'd have to change on-disk representation?

If we do dump/load cycles with empty DBs, nothing will change.  This
changeset includes an additional test case that proves that tables
with rows will create the same next_ID for AUTO_INCREMENT = ... across
dump/restore cycles.

Confirmed by support as likely solution for client's problem.
2006-05-04 03:12:51 +02:00
jani@a193-229-222-105.elisa-laajakaista.fi
a7a8143941 Fix for Bug#14515. 2006-04-30 16:01:34 +03:00
gluh@eagle.intranet.mysql.r18.ru
f78ae59f0f Fix for bug#18224 VIEW on information_schema crashes the server
additional check for subselect
2006-03-20 14:17:47 +04:00
gluh@eagle.intranet.mysql.r18.ru
a184a00eae Fix for bug #18113 "SELECT * FROM information_schema.xxx crashes server"
Crash happened when one selected data from one of INFORMATION_SCHEMA
tables and in order to build its contents server had to open view which
used stored function and table or view on which one had not global or
database-level privileges (e.g. had only table-level or had no
privileges at all).

The crash was caused by usage of check_grant() function, which assumes
that either number of tables to be inspected by it is limited explicitly
or table list used and thd->lex->query_tables_own_last value correspond
to each other (the latter should be either 0 or point to next_global
member of one of elements of this table list), in conditions when
above assumptions were not true. This fix just explicitly limits
number of tables to be inspected. Other negative effects which are
caused by the fact that thd->lex->query_tables_own_last might not
be set properly during processing of I_S tables are less disastrous
and will be reported and fixed separetely.
2006-03-20 13:42:02 +04:00
anozdrin@mysql.com
3b3cb95eb9 Additional fix for BUG#16777: Can not create trigger nor view
w/o definer if --skip-grant-tables specified.
  
The previous patch does not allow to specify empty host name in
DEFINER-clause explicitly.
2006-03-10 14:40:15 +03:00
anozdrin@mysql.com
be527f3070 Fix for multiple test failures on some platforms. 2006-03-09 03:10:39 +03:00
SergeyV@selena.
78f014f0d7 Postfix for #15943. Explicit call of thd->clear_error() is added. 2006-02-27 16:52:14 +03:00
SergeyV@selena.
da94b1662b Fixes bug #15943. resets error flag for show create view command, to allow
proper processing of multiple sql statements sent as a single command.
2006-02-13 19:53:34 +03: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
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
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
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
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
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
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
gluh@eagle.intranet.mysql.r18.ru
1faac904f5 Fix for bug#14476 information_schema.TABLES.TABLE_TYPE with empty value
store TABLES.TABLE_TYPE in case of error during table opening
2005-12-01 11:00:33 +04:00
serg@serg.mylan
8fb3b83805 don't call handler::info() in SHOW CREATE TABLE 2005-11-24 18:13:08 +01:00
bell@sanja.is.com.ua
7f162c7899 Merge sanja.is.com.ua:/home/bell/mysql/bk/work-bug1-5.0
into  sanja.is.com.ua:/home/bell/mysql/bk/work-merge-5.0
2005-11-21 21:15:48 +02:00
bell@sanja.is.com.ua
806f9e24ff Inefficient usage of String::append() fixed.
Bad examples of usage of a string with its length fixed.
The incorrect length in the trigger file configuration descriptor
  fixed (BUG#14090).
A hook for unknown keys added to the parser to support old .TRG files.
2005-11-20 20:47:07 +02:00
jimw@mysql.com
f8ce7bc01e Merge mysql.com:/home/jimw/my/mysql-4.1-clean
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2005-11-17 13:37:30 -08:00
gluh@eagle.intranet.mysql.r18.ru
7803d80aa4 Fix for bug#13818 SHOW CREATE VIEW / TABLE and information_schema.views fail
for invalid view
 Permit SHOW CREATE VIEW, SHOW CREATE TABLE, and retrieval of metadata from
 information_schema for invalid views
2005-11-11 13:39:46 +04:00
anozdrin@mysql.com
1d3867faa5 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/alik/MySQL/devel/5.0-wl2818
2005-11-11 03:25:24 +03:00
anozdrin@mysql.com
491e4f89f5 WL#2818 (Add creator to the trigger definition for privilege
checks on trigger activation)
2005-11-10 22:25:03 +03:00
brian@zim.(none)
510d0f24c8 Added handlerton flag to make storage engines invisable via flag. 2005-11-10 08:24:21 -08:00
jani@ua141d10.elisa.omakaista.fi
0f83ba137a Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-5.0
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-5.0
2005-11-03 16:43:05 +02:00
jani@ua141d10.elisa.omakaista.fi
0ee589b4d6 Changes in get_table_type() and mysql_frm_type(). The main problem was
that in mysql_rm_table_part2_with_lock() previously we needed to open
same file twice. Now once is enough.
2005-11-03 16:10:11 +02:00
jimw@mysql.com
15da5308c3 Avoid possible race condition in accessing slave statistics
during shutdown. (Bug #11796)
2005-11-01 11:48:55 -08:00
msvensson@neptunus.(none)
be6f7a3f82 Merge neptunus.(none):/home/msvensson/mysql/ssl_test/my50-ssl_test
into  neptunus.(none):/home/msvensson/mysql/mysql-5.0
2005-10-28 11:00:54 +02:00
ramil@mysql.com
c06673d49b Fix for bug #14290: wrong CHARACTER_MAXIMUM_LENGTH value for some text fields. 2005-10-25 17:22:58 +05:00
ramil@mysql.com
02c0fe62d8 a fix (bug #14207: strange change of values CHARACTER_OCTET_LENGTH and CHARACTER_MAXIMUM_LENGTH). 2005-10-24 16:45:27 +05:00
ramil@mysql.com
a9d1a37477 Fix for bug #14064: information_schema test fails on opnsrv6c. 2005-10-18 17:23:18 +05:00
ramil@mysql.com
35c75bebe6 Use Field_longlong::store(longlong nr, bool unsigned_val) for ulonglong values
instead of Field_longlong::store(double nr).
2005-10-14 19:12:54 +05:00
msvensson@neptunus.(none)
7d29c2a4a1 Merge neptunus.(none):/home/msvensson/mysql/mysql-5.0
into  neptunus.(none):/home/msvensson/mysql/ssl_test/my50-ssl_test
2005-10-12 13:59:00 +02:00
msvensson@neptunus.(none)
0ac28d3187 Always test ssl and compress
- Updated after review
2005-10-12 13:56:07 +02:00
monty@mysql.com
5513ab69b7 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/my/mysql-5.0
2005-10-12 00:59:52 +03:00
monty@mysql.com
f5fdf3e87a Reviewing new pushed code
- CHAR() now returns binary string as default
- CHAR(X*65536+Y*256+Z) is now equal to CHAR(X,Y,Z) independent of the character set for CHAR()
- Test for both ETIMEDOUT and ETIME from pthread_cond_timedwait()
  (Some old systems returns ETIME and it's safer to test for both values
   than to try to write a wrapper for each old system)
- Fixed new introduced bug in NOT BETWEEN X and X
- Ensure we call commit_by_xid or rollback_by_xid for all engines, even if one engine has failed
- Use octet2hex() for all conversion of string to hex
- Simplify and optimize code
2005-10-12 00:58:22 +03:00
eric@mysql.com
215ecd3322 BUG#13724 conditionally added CONNECTION='connect string' for SHOW CREATE TABLE 2005-10-10 17:41:36 -07:00
msvensson@neptunus.(none)
cb96f195c8 Improved testing of ssl and compression
- Added show status variable "compression" for checking that compression is turned on.
 - Updated show status variable "have_openssl" to be set to DISABLED if server supports ssl but it's not turned on to accept incoming ssl connections.  
 - Setup server to accept ssl connections from clients ig that is supported by server
 - New tests 
   - ssl - Run with ssl turned on
   - ssl_compress - Run with ssl and compression turned on
   - compress - Run with compression turned in 
 - Updated test 
   - openssl_1, rpl_openssl1 - Changed to run if server supports ssl
2005-10-04 15:43:55 +02:00
evgen@moonbone.local
5a10244d8b Fix bug#13535 Incorrect result from SELECT statement after SHOW TABLE STATUS
After SHOW TABLE STATUS last_insert_id wasn't cleaned, and next select
erroneously rewrites WHERE condition and returs a row;
5.0 isn't affected because of different SHOW TABLE STATUS handling.

last_insert_id cleanup added to mysqld_extend_show_tables().
2005-10-03 23:22:46 +04:00
brian@zim.(none)
0ba8ca2a17 Merge baker@bk-internal.mysql.com:/home/bk/mysql-5.0
into  zim.(none):/home/brian/mysql/fix-5.0
2005-10-02 20:13:18 -07:00
brian@zim.(none)
54a958993c Next big patch for loadable storage engines!
Handlerton array is now created instead of using sys_table_types_st. All storage engines can now have inits and giant ifdef's are now gone for startup. No compeltely clean yet, handlertons will next be merged with sys_table_types. Federated and archive now have real cleanup if their inits fail.
2005-10-02 19:44:28 -07:00
gluh@mysql.com
b36f63e3ab 4.1 -> 5.0 merge 2005-09-29 16:35:50 +05:00
gluh@eagle.intranet.mysql.r18.ru
f9762c47d0 Fix for bug #7977 in sql_mode=ANSI, show create table ignores auto_increment
"CHARACTER SET", "COLLATE", and "DEFAULT" are always
  printed(excepting MODE_MYSQL323 and MODE_MYSQL40)
  "AUTO_INCREMENT", "ON UPDATE CURRENT_TIMESTAMP" are printed only 
  if NO_FIELD_OPTIONS is not set.
2005-09-29 16:17:45 +05:00