Commit graph

9425 commits

Author SHA1 Message Date
holyfoot@mysql.com
d5c6f594de Merge abotchkov@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/hf/work/mysql-5.0.mrg
2006-05-04 10:13:34 +05:00
monty@mysql.com
86b2be8d35 After merge fixes
Remove compiler warnings
Fix some broken tests
Workaround for syncronization bug in NDB (Bug #16445)
2006-05-04 06:28:24 +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
monty@mysql.com
8f6ed291a7 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1
2006-05-04 01:58:21 +03:00
svojtovich@production.mysql.com
1890b04e13 Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0
into  production.mysql.com:/usersnfs/svojtovich/mysql-5.0
2006-05-03 23:17:17 +02:00
holyfoot@mysql.com
2f7ac18f22 Merge bk@192.168.21.1:mysql-5.0
into mysql.com:/home/hf/work/mysql-5.0.mrg
2006-05-04 02:17:17 +05:00
pekka@mysql.com
ec42119233 Merge pnousiainen@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/space/pekka/ndb/version/my50
2006-05-03 23:17:16 +02:00
holyfoot@mysql.com
e5a22d1bca Merge bk@192.168.21.1:mysql-4.1
into mysql.com:/home/hf/work/mysql-4.1.mrg
2006-05-04 00:03:58 +05:00
monty@mysql.com
d689f2fa70 Cleanups after review of WL#602
Fixed warnings from test suite
Some fixes in mysql-test-run script to catch more warnings
2006-05-03 19:40:52 +03:00
cmiller@zippy.(none)
b07bb71291 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zippy.(none):/home/cmiller/work/mysql/mysql-5.1-new__bug18078
2006-05-03 10:04:04 -04:00
holyfoot@deer.(none)
5b5db01a46 merging fix 2006-05-03 19:01:29 +05:00
cmiller@zippy.(none)
a5789854ee Added code to remove closing comment code from event text, as would be
supplied inside a  /*!VERSION event-text */  segment.  (Fixes Bug#18078
2006-05-03 09:55:34 -04:00
monty@mysql.com
9756d7f853 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/home/my/mysql-5.1
2006-05-03 16:03:19 +03:00
monty@mysql.com
343644dd5d Added support for key_block_size for key and table level (WL#602)
Added support for key_block_size to MyISAM.
Simplify interface to 'new Key' to make it easier to add new key options.
mysqld option --new is used to define where key options are printed.
(In 5.3 we should move all key options to after key part definition to avoid problem with reserved names)
Fixed some compiler warnings and a memory leak in ssl
2006-05-03 15:59:17 +03:00
holyfoot@mysql.com
86cab8533f merging 2006-05-03 16:47:05 +05:00
holyfoot@mysql.com
7ee205f67a merging 2006-05-03 16:42:39 +05:00
svoj@april.(none)
365e38b05c Merge svojtovich@bk-internal.mysql.com:/home/bk/mysql-5.0
into  april.(none):/home/svoj/devel/mysql/BUG17810/mysql-5.0
2006-05-03 16:37:42 +05:00
svoj@april.(none)
23d304b312 Merge april.(none):/home/svoj/devel/mysql/BUG18160/mysql-5.0
into  april.(none):/home/svoj/devel/mysql/BUG17810/mysql-5.0
2006-05-03 16:36:00 +05:00
holyfoot@mysql.com
9de68b8122 merging 2006-05-03 16:33:42 +05:00
holyfoot@mysql.com
8667344572 Merge hf@192.168.21.28:work/mysql-4.1.16892
into mysql.com:/home/hf/work/mysql-4.1.mrg
2006-05-03 15:53:36 +05:00
holyfoot@mysql.com
486693e219 Merge mysql.com:/home/hf/work/mysql-4.1.15442
into mysql.com:/home/hf/work/mysql-4.1.mrg
2006-05-03 15:52:07 +05:00
holyfoot@mysql.com
0007484c26 Merge mysql.com:/home/hf/work/mysql-4.1.15225
into mysql.com:/home/hf/work/mysql-4.1.mrg
2006-05-03 15:51:19 +05:00
bar@mysql.com
c51d7419e8 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  mysql.com:/usr/home/bar/mysql-5.1-new.b18170
2006-05-03 12:34:51 +05:00
bar@mysql.com
467052aa5b Merge mysql.com:/usr/home/bar/mysql-5.1-new
into  mysql.com:/usr/home/bar/mysql-5.1-new.b18170
2006-05-03 09:08:12 +05:00
cmiller@zippy.(none)
9648920963 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.(none):/home/cmiller/work/mysql/mysql-5.1-new__bug18078
2006-05-02 18:41:42 -04:00
jmiller@mysql.com
614da47ccc rpl_loaddatalocal.result, rpl_loaddatalocal.test:
updated for ndb cluster testing
2006-05-02 22:56:53 +02:00
dlenev@mysql.com
5cae540501 Merge mysql.com:/home/dlenev/mysql-5.0-bg11081
into  mysql.com:/home/dlenev/mysql-5.1-merges
2006-05-02 23:16:53 +04:00
cmiller@zippy.(none)
ba0752e125 Merge bk-internal.mysql.com:/home/bk/mysql-5.1-new
into  zippy.(none):/home/cmiller/work/mysql/mysql-5.1-new__bug17667
2006-05-02 15:09:35 -04:00
cmiller@zippy.(none)
5de7b78bd2 More merging assistence.
Logging behavior changed in early 5.1.  (The filename was never right, but
the "opt" file is unnecessary in 5.0 anyway.)
2006-05-02 15:07:00 -04:00
jmiller@mysql.com
2fcfe0a5c9 rpl_sp_effects.result, rpl_sp_effects.test:
Updated with order by's to allow ndb engine to pass when using this test.
2006-05-02 20:10:02 +02:00
cmiller@zippy.(none)
4d15fc5ee0 Merge zippy.(none):/home/cmiller/work/mysql/mysql-5.0__bug17667
into  zippy.(none):/home/cmiller/work/mysql/mysql-5.1-new__bug17667
2006-05-02 13:55:03 -04:00
elliot@mysql.com
c0b5b3cd40 Fix spelling in comments as requested by Osku
This will make charset code easier to understand
2006-05-02 09:13:58 -04:00
msvensson@neptunus.(none)
11721dbf9a Merge bk-internal:/home/bk/mysql-5.1-new
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1
2006-05-02 15:09:09 +02:00
dlenev@mysql.com
c40f8557dc Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/dlenev/mysql-5.0-bg11081
2006-05-02 17:07:23 +04:00
pekka@mysql.com
5c0012cb98 ndb - bug#19201 (4.1), see comment in NdbBlob.cpp 2006-05-02 14:33:55 +02:00
gluh@eagle.intranet.mysql.r18.ru
19de86dd63 WL#2257 REFERENTIAL_CONSTRAINTS view
added I_S.REFARENTIAL_CONSTRAINTS table
2006-05-02 16:31:39 +05:00
msvensson@neptunus.(none)
65fe45e5c6 Merge bk-internal:/home/bk/mysql-5.1-new
into  neptunus.(none):/home/msvensson/mysql/mysql-5.1
2006-05-02 09:31:55 +02:00
cmiller@zippy.(none)
1205ae8276 Merge bk-internal.mysql.com:/home/bk/mysql-5.0
into  zippy.(none):/home/cmiller/work/mysql/mysql-5.0__bug17667
2006-05-01 22:50:36 -04:00
cmiller@zippy.(none)
85ffd9640e SECURITY FIX
Bug#17667: An attacker has the opportunity to bypass query logging.

This adds a new, local-only printf format specifier to our *printf functions
that allows us to print known-size buffers that must not be interpreted as 
NUL-terminated "strings."

It uses this format-specifier to print to the log, thus fixing this 
problem.
2006-05-01 22:10:50 -04:00
jimw@mysql.com
44e984276c Fix name of error in view_grant test 2006-05-01 17:12:51 -07:00
jani@a193-229-222-105.elisa-laajakaista.fi
e2c3c37231 Added tests for Bug#14515 2006-05-01 21:30:09 +03:00
jimw@mysql.com
7afa8aa73b Merge mysql.com:/home/jimw/my/mysql-5.1-18495
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-05-01 11:22:47 -07:00
cmiller@zippy.(none)
21bec19920 Merge zippy.(none):/home/cmiller/work/mysql/mysql-5.0
into  zippy.(none):/home/cmiller/work/mysql/mysql-5.1-new
2006-05-01 13:41:40 -04:00
cmiller@zippy.(none)
6af3f88f07 Merge zippy.(none):/home/cmiller/work/mysql/merge/tmp_merge
into  zippy.(none):/home/cmiller/work/mysql/merge/mysql-5.0
2006-05-01 09:46:00 -04:00
jimw@mysql.com
f21c110d13 Merge mysql.com:/home/jimw/my/mysql-5.0-clean
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-04-30 13:27:38 -07:00
jimw@mysql.com
08eb2588bf Fix error in having.test to use name instead of number (fixes merge problem) 2006-04-30 13:06:28 -07:00
jimw@mysql.com
3f239914d7 Merge mysql.com:/home/jimw/my/tmp_merge
into  mysql.com:/home/jimw/my/mysql-5.1-clean
2006-04-30 09:43:26 -07:00
elliot@mysql.com
604b5836bb BUG#19145: mysqld crashes if you set the default value of an enum field to NULL
Now test for NULLness the pointers returned from objects created from the
default value. Pushing patch on behalf of cmiller.
2006-04-28 12:15:29 -04:00
gkodinov@lsmy3.wdf.sap.corp
6e5cf86f4d Merge lsmy3.wdf.sap.corp:/data/users/gkodinov/mysql-4.1-B18492
into  lsmy3.wdf.sap.corp:/data/users/gkodinov/mysql-5.0-B18492
2006-04-28 12:06:54 +02:00
gkodinov@lsmy3.wdf.sap.corp
ca79343359 BUG#18492: mysqld reports ER_ILLEGAL_REFERENCE in --ps-protocol
In the code that converts IN predicates to EXISTS predicates it is changing
the select list elements to constant 1. Example :
SELECT ... FROM ...  WHERE a IN (SELECT c FROM ...)
is transformed to :
SELECT ... FROM ... WHERE EXISTS (SELECT 1 FROM ...  HAVING a = c)
However there can be no FROM clause in the IN subquery and it may not be
a simple select : SELECT ... FROM ... WHERE a IN (SELECT f(..) AS
c UNION SELECT ...) This query is transformed to : SELECT ... FROM ...
WHERE EXISTS (SELECT 1 FROM (SELECT f(..) AS c UNION SELECT ...)
x HAVING a = c) In the above query c in the HAVING clause is made to be
an Item_null_helper (a subclass of Item_ref) pointing to the real
Item_field (which is not referenced anywhere else in the query anymore).
This is done because Item_ref_null_helper collects information whether
there are NULL values in the result.  This is OK for directly executed
statements, because the Item_field pointed by the Item_null_helper is
already fixed when the transformation is done.  But when executed as
a prepared statement all the Item instances are "un-fixed" before the
recompilation of the prepared statement. So when the Item_null_helper
gets fixed it discovers that the Item_field it points to is not fixed
and issues an error.  The remedy is to keep the original select list
references when there are no tables in the FROM clause. So the above
becomes : SELECT ... FROM ...  WHERE EXISTS (SELECT c FROM (SELECT f(..)
AS c UNION SELECT ...) x HAVING a = c) In this way c is referenced
directly in the select list as well as by reference in the HAVING
clause. So it gets correctly fixed even with prepared statements.  And
since the Item_null_helper subclass of Item_ref_null_helper is not used
anywhere else it's taken out.
2006-04-28 11:23:31 +02:00