Commit graph

7612 commits

Author SHA1 Message Date
monty@mysql.com
e9c3887b58 After merge fixes 2004-11-12 17:44:17 +02:00
monty@mysql.com
9252656d49 merge with 4.0 2004-11-12 11:17:53 +02:00
acurtis@pcgem.rdg.cyberkinetica.com
2ad7d5c662 Bug#6123 - GRANT USAGE creates useless mysql.db row
Prevent creation of a row which grants no rights
  Test included
2004-11-11 20:59:03 +00:00
acurtis@pcgem.rdg.cyberkinetica.com
6f39bf2b9c Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into pcgem.rdg.cyberkinetica.com:/usr/home/acurtis/work/bug6469
2004-11-11 17:12:25 +00:00
acurtis@pcgem.rdg.cyberkinetica.com
e0527b1750 Merge pcgem.rdg.cyberkinetica.com:/mnt/staff/repositories/mysql-4.1
into pcgem.rdg.cyberkinetica.com:/usr/home/acurtis/work/bug6469
2004-11-11 17:07:57 +00:00
ram@gw.mysql.r18.ru
582f9a8900 Added ending ';' for the start_transaction_opts: 2004-11-11 10:50:46 +04:00
guilhem@mysql.com
f9a51b66ae Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-clean
2004-11-11 00:27:34 +01:00
guilhem@mysql.com
09da85338c no new message in 4.1 (causes merge issues with 5.0). Using ER_UNKNOW_ERROR and hardcoded message string instead. 2004-11-11 00:00:17 +01:00
monty@mysql.com
7d78fd077a Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-11-11 00:36:56 +02:00
monty@mysql.com
68130e428a Added possibility to detect if libmysqld is restarted
(Needed to check if memory allocated with mysql_once_init() has been freed)
2004-11-11 00:36:18 +02:00
acurtis@pcgem.rdg.cyberkinetica.com
b6272b85fd Bug#6469 - REVOKE ALL synonymy bug 2004-11-10 18:53:16 +00:00
guilhem@mysql.com
600b965f32 Merge 2004-11-10 18:02:00 +01:00
guilhem@mysql.com
6cd218cc56 WL#1596 "make mysqldump --master-data --single-transaction able to do online dump of InnoDB AND report reliable
binlog coordinates corresponding to the dump".
The good news is that now mysqldump can be used to get an online backup of InnoDB *which works for
point-in-time recovery and replication slave creation*. Formerly, mysqldump --master-data --single-transaction
used to call in fact mysqldump --master-data, so the dump was not an online dump (took big lock all time of dump).
The only lock which is now taken in this patch is at the beginning of the dump: mysqldump does:
FLUSH TABLES WITH READ LOCK; START TRANSACTION WITH CONSISTENT SNAPSHOT; SHOW MASTER STATUS; UNLOCK TABLES;
so the lock time is in fact the time FLUSH TABLES WITH READ LOCK takes to return (can be 0 or very long, if
a table is undergoing a huge update).
I have done some more minor changes listed in the paragraph of mysqldump.c.
WL#2237 "WITH CONSISTENT SNAPSHOT clause for START TRANSACTION":
it's a START TRANSACTION which additionally starts a consistent read on all
capable storage engine (i.e. InnoDB). So, can serve as a replacement for
BEGIN; SELECT * FROM some_innodb_table LIMIT 1; which starts a consistent read too.
2004-11-10 17:56:45 +01:00
monty@mysql.com
e76438e807 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-11-10 18:08:32 +02:00
monty@mysql.com
c7e85ef9b9 More debugging
Print position in normal log for Binlog dump
2004-11-10 18:07:39 +02:00
acurtis@pcgem.rdg.cyberkinetica.com
dd1cd8aa46 Bug#6031 - To drop database you have to execute DROP DATABASE command twice.
DROP DATABASE failed because of file ext not in TYPELIB of known extensions.
  General solution - construct a TYPELIB at runtime instead of a static list.
2004-11-10 15:07:11 +00:00
guilhem@mysql.com
0c4363b6d0 Fix for BUG#6522 "Replication fails due to a rolled back transaction in the binlog"
When we are writing a transaction to the binlog, we log BEGIN/COMMIT with zero error code.
Example: all statements of trans succeeded, connection lost and so implicit rollback:
we don't want ER_NET* errors to be logged in the BEGIN/ROLLBACK events, while statement
events have 0. If there was really a serious error code, it's already in the statement events.
2004-11-10 15:07:55 +01:00
monty@mysql.com
e9d9ca83f1 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-11-10 13:08:22 +02:00
bar@mysql.com
55c4c39571 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/home/bar/mysql-4.1
2004-11-10 14:07:11 +04:00
bar@mysql.com
c51d7acfcc 1. When mixing NULL to a character string,
the result takes its charset/collation
attributes from the character string,
e.g.  SELECT func(NULL, _latin2'string')
now returns a latin2 result. This is
done by introducing a new derivation
(aka coercibility) level DERIVATION_IGNORABLE,
which is used with Item_null.
2. 'Pure' NULL is now BINARY(0), not CHAR(0).
I.e. NULL is now more typeless.
2004-11-10 14:05:28 +04:00
joreland@mysql.com
aeafd88e19 bug#6538
ndb: Fix return value in index_last wo/ rows
2004-11-10 11:02:51 +01:00
monty@mysql.com
d45bbae2de Fix for valgrind/purify for variables that the compiler touches but that doesn't affect the outcome of the tests 2004-11-09 14:46:26 +02:00
monty@mysql.com
6c44563fc5 Simple optimization 2004-11-09 03:20:58 +02:00
monty@mysql.com
81363b194d Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-11-09 00:22:26 +02:00
guilhem@mysql.com
0517e7b22d As rollback can be 30 times slower than insert in InnoDB, and user may
not know there's rollback (if it's because of a dupl row), better warn
that it's happening. It can also be of use for a DBA killing a
connection and wondering what this connection is still doing now. Example:
|  5 | root | localhost | test | Killed  | 10   | Rolling back | insert into i select * from j |
2004-11-08 21:45:23 +01:00
joreland@mysql.com
04c8621390 Merge joreland@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/jonas/src/mysql-4.1
2004-11-08 11:53:50 +01:00
joreland@mysql.com
9d8dcdcf72 Merge mysql.com:/home/jonas/src/new-fix
into mysql.com:/home/jonas/src/mysql-4.1
2004-11-08 11:26:34 +01:00
bar@mysql.com
ed807c29c9 alter_table.result, alter_table.test, field_conv.cc:
Bug #6479  ALTER TABLE ... changing charset fails for TEXT columns
  Fix: use do_conv_blob rather than do_copy_blob
  if the column's character sets are different.
2004-11-08 14:23:14 +04:00
joreland@mysql.com
3821a8dfca ndb: bug#6435
fix null handling in ha_ndbcluster when using ordered index
2004-11-08 11:11:49 +01:00
joreland@mysql.com
8acbd6a2ba ndb: bug#6451
1) fix so that missing blob tables don't prevent table from being
    dropped
2) decrease size of blob part if record length exceeds max length
3) add test case for table wo/ corresponding blob table
4) init scan counters when sending scan_tabreq
2004-11-08 11:06:36 +01:00
bar@mysql.com
b7776f83e7 ctype_ujis.result, ctype_ujis.test, field.cc:
Bug#6345 Unexpected behaviour with partial indices
2004-11-08 13:15:01 +04:00
monty@mysql.com
4fbf62e6c2 Merge bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/my/mysql-4.1
2004-11-08 01:15:26 +02:00
monty@mysql.com
b903a129e2 Simpler arena swapping code
Now thd->mem_root is a pointer to thd->main_mem_root and THR_MALLOC is a pointer to thd->mem_root.
This gives us the following benefits:
- Allow us to easily detect if arena has already been swapped before (this fixes a bug in setup_conds() where arena was swaped twice in some cases)
- Faster swaps of arenas (as we don't have to copy the whole MEM_ROOT)
- We don't anymore have to call my_pthread_setspecific_ptr(THR_MALLOC,...) to change where memory is alloced. Now it's enough to set thd->mem_root
2004-11-08 01:13:54 +02:00
igor@rurik.mysql.com
ca355c8a46 join_outer.result, join_outer.test:
Added cases for bugs #6307 and #6460.
sql_select.cc:
  Fixed the problem of bug reports #6307 and #6460.
  The reported wrong result sets were due to the fact that
  the added call of the fix_fields method for the built
  AND condition that joined WHERE and ON conditions
  broke ON expression, as it removed extra AND levels
  in the built condition. 
  It looks like that no attributes of the built condition
  are needed, so we don't have to call fix_fields here.
2004-11-05 22:15:24 -08:00
konstantin@mysql.com
eeeb342b3c A fix and test case for the bug reported by Reggie: if character set
of client equals to character set of connection, possibly required
conversion to character set of column is not performed
(prepared statements, data is supplied using placeholders).
2004-11-05 21:02:12 +03:00
bar@mysql.com
5543f312b0 As it is wrong and confusing to associate any
character set with NULL, @a should be latin2
after this query sequence:

   SET @a=_latin2'string';
   SET @a=NULL;

I.e. the second query should not change the charset
to the current default value, but should keep the
original value assigned during the first query.
In order to do it, we don't copy charset
from the argument if the argument is NULL
and the variable has previously been initialized.
2004-11-05 13:37:36 +04:00
mskold@mysql.com
4fa3d8eb0d Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-4.1
2004-11-05 08:52:44 +01:00
igor@rurik.mysql.com
4df18b1aae func_in.result, func_in.test:
Added a case for bug #6365.
item_cmpfunc.cc:
  Fixed bug #6365 : Server crashed when list of values
  in IN predicate contains NULL while the tested field is
  of the character type and not of the default set;
  e.g. when f in 'f IN (NULL,'aa') belongs to binary
  character set, while the default character set is latin1.
2004-11-04 20:39:52 -08:00
guilhem@mysql.com
76f51406ce Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/mysql_src/mysql-4.0
2004-11-04 19:19:51 +01:00
guilhem@mysql.com
1869cd9f83 Fix for BUG##5714 "Insert into MyISAM table and select ... for update]":
the fact that the transaction log is empty does not mean we're not in a transaction
(it could be BEGIN; SELECT * FOR UPDATE FROM ibtable: then we don't want to commit now, even if
the statement is a MyISAM update).
With a testcase.
2004-11-04 19:19:23 +01:00
marko@hundin.mysql.fi
21b9be3a19 Merge marko@bk-internal.mysql.com:/home/bk/mysql-4.1
into hundin.mysql.fi:/home/marko/j/mysql-4.1
2004-11-04 18:25:48 +02:00
marko@hundin.mysql.fi
1e82a08734 ha_innodb.cc:
write_row(): document the ALTER TABLE tweak better,
  and commit every n*10000 rows, not n*10000-1 rows.
2004-11-04 15:57:54 +02:00
dlenev@mysql.com
f78990e28f Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into mysql.com:/home/dlenev/src/mysql-4.0-bg6387
2004-11-04 14:25:08 +03:00
mskold@mysql.com
0bd6fd7875 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/usr/local/home/marty/MySQL/test/mysql-4.1
2004-11-04 10:43:52 +01:00
ram@gw.mysql.r18.ru
75e322e21c Merge rkalimullin@bk-internal.mysql.com:/home/bk/mysql-4.1
into gw.mysql.r18.ru:/usr/home/ram/work/4.1.b6331
2004-11-04 10:24:27 +04:00
bar@mysql.com
f979603cf2 field.cc, sql_mode.result, sql_mode.test:
"SHOW CREATE TABLE" mysql-4.0 and mysql-3.23 
  compatibiliry mode change:
  Check that a binary collation adds 'binary'
  suffix into a char() column definition in
  mysql40 and mysql2323 modes. This allows
  not to lose the column's case sensitivity
  when loading the dump in pre-4.1 servers.
2004-11-04 08:50:07 +04:00
guilhem@mysql.com
613c98ce3e Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/mysql_src/mysql-4.1-clean
2004-11-03 22:44:51 +01:00
marko@hundin.mysql.fi
fd069e2bb3 InnoDB: commit after every 10000 rows in ALTER TABLE 2004-11-03 21:32:48 +02:00
dlenev@mysql.com
fa21feda93 Fix for bug #6387 "Queried timestamp values do not match the inserted
value if server runs in time zone with leap seconds".

Now in my_gmt_sec() function we take into account difference between
our target and estimation in seconds part.
2004-11-03 17:59:03 +00:00
lars@mysql.com
424ff9741d Merge mysql.com:/home/bkroot/mysql-4.1
into mysql.com:/home/bk/b5551-4.1-v4
2004-11-03 18:24:44 +01:00