Commit graph

8246 commits

Author SHA1 Message Date
kroki@mysql.com
74fd0beefa Merge mysql.com:/home/tomash/src/mysql_ab/mysql-4.1
into  mysql.com:/home/tomash/src/mysql_ab/mysql-4.1-bug16501
2006-05-04 11:25:48 +04:00
tnurnberg@mysql.com
a5f440f891 Merge tnurnberg@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/mysql-4.1-19025e
2006-05-04 09:06:27 +02:00
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
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
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
kroki@mysql.com
96f0aa3cfb Bug#15463: EXPLAIN SELECT..INTO hangs the client (QB, command line)
There were two distict bugs: parse error was returned for valid
statement and that error wasn't reported to the client.

The fix ensures that EXPLAIN SELECT..INTO is accepted by parser and any
other parse error will be reported to the client.
2006-05-03 18:02:43 +04:00
holyfoot@deer.(none)
5b5db01a46 merging fix 2006-05-03 19:01:29 +05:00
msvensson@neptunus.(none)
99475e7f4c Add tests for connecting to server with invalid and blank certs. 2006-05-03 14:06:34 +02: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
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
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
jani@a193-229-222-105.elisa-laajakaista.fi
e2c3c37231 Added tests for Bug#14515 2006-05-01 21:30:09 +03: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
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
msvensson@shellback.(none)
53b842866e Fix small bug in udf_example.cc, it was processing one char too much and thus returning junk
Add more DBUG_PRINT's in udf_handler::val_str
Enable udf.test
2006-04-28 11:37:20 +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
msvensson@shellback.(none)
480a55287d Disable udf.test 2006-04-27 22:30:14 +02:00
msvensson@shellback.(none)
e5004d1312 Merge shellback.(none):/home/msvensson/mysql/mysql-5.0
into  shellback.(none):/home/msvensson/mysql/mysql-5.0-maint
2006-04-27 17:35:29 +02:00
msvensson@shellback.(none)
0e5113aead Add test to mysql-test-run.pl to see if the udf_example.so is availble. Set envioronment variable UDF_EXAMPLE_LIB if it is.
Then check in have_udf if that variable is set. Finally use tahe variable when loading the shared library.
2006-04-27 16:32:40 +02:00
jimw@mysql.com
58cb2f317c Remove obsolete test 2006-04-26 17:09:41 -07:00
jimw@mysql.com
f8bfecdf2f Merge bk-internal:/home/bk/mysql-5.0
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2006-04-26 15:29:32 -07:00
jimw@mysql.com
ca2b14e7b4 Merge mysql.com:/home/jimw/my/mysql-5.0-12792
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2006-04-26 11:39:48 -07:00
evgen@moonbone.local
611d83b5b0 Merge 2006-04-26 22:35:40 +04:00
jimw@mysql.com
74ca82c857 Merge mysql.com:/home/jimw/my/mysql-5.0-16195
into  mysql.com:/home/jimw/my/mysql-5.0-clean
2006-04-26 11:34:45 -07:00
jimw@mysql.com
960c5621eb Bug #17849: sql_big_selects not shown in SHOW VARIABLES output
This patch simply adds sql_big_selects to the list of variables
  output by SHOW VARIABLES.
2006-04-26 09:21:53 -07:00
aivanov@mysql.com
419d4980e0 Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-5.0
into  mysql.com:/home/alexi/innodb/mysql-5.0-ss492
2006-04-26 12:45:29 +04:00
aivanov@mysql.com
6f8c03ee69 Merge mysql.com:/home/alexi/mysql-5.0
into  mysql.com:/home/alexi/innodb/mysql-5.0-ss492
2006-04-26 12:43:38 +04:00
aivanov@mysql.com
06c79b143b Merge aivanov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/alexi/innodb/mysql-4.1-innodb
2006-04-26 12:39:47 +04:00
aivanov@mysql.com
b34ec32b5b Merge mysql.com:/home/alexi/innodb/mysql-4.1-innodb-work
into  mysql.com:/home/alexi/innodb/mysql-5.0-ss492-work
2006-04-26 11:23:43 +04:00
aivanov@mysql.com
11687d2f84 Make innodb_mysql produce a non-empty output. 2006-04-26 11:15:09 +04:00
aivanov@mysql.com
b748835897 Merge mysql.com:/home/alexi/innodb/mysql-4.1-innodb-work
into  mysql.com:/home/alexi/innodb/mysql-5.0-ss492-work
2006-04-26 09:56:06 +04:00
aivanov@mysql.com
7b8c526078 Files innodb.[test|result] are to be used by Innobase only.
Use files innodb_mysql.[test|result] instead.
2006-04-26 09:51:57 +04:00
sergefp@mysql.com
867dffa8a4 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-5.0
into mysql.com:/home/psergey/mysql-5.0-bug15827-r2
2006-04-26 00:30:54 +04:00
sergefp@mysql.com
1d4acfb668 BUG#15872: Don't run the range analyzer on "t1.keypart NOT IN (const1, ..., )", as that consumes
too much memory. Instead, either create the equvalent SEL_TREE manually, or create only two ranges that
strictly include the area to scan
(Note: just to re-iterate: increasing NOT_IN_IGNORE_THRESHOLD will make optimization run slower for big 
IN-lists, but the server will not run out of memory. O(N^2) memory use has been eliminated)
2006-04-25 23:33:31 +04:00
evgen@moonbone.local
69b90fb2a8 Merge epotemkin@lsmy3:/data/users/bk/mysql-5.0-opt-bugs
into moonbone.local:/work/18739-bug-5.0-mysql
2006-04-25 17:45:31 +04:00
ramil@mysql.com
8cdd68a830 Fix for bug #18501: Server crashes with monthname(). 2006-04-25 14:34:19 +05:00
konstantin@mysql.com
f912a26b4a A fix and a test case for Bug#19308 "REPAIR/OPTIMIZE/ANALYZE
supported in SP but not in PS": just enable them in prepared
statements, the supporting functionality was implemented when
they were enabled in stored procedures.
2006-04-25 04:27:23 +04:00