Commit graph

38167 commits

Author SHA1 Message Date
holyfoot/hf@mysql.com/hfmain.(none)
5a6161dea4 Bug #26921 Problem in mysql_insert_id() Embedded C API function.
client library only sets mysql->insert_id when query returned
no recordset. So the embedded library should behave the same way
2007-11-30 19:16:13 +04:00
gkodinov/kgeorge@magare.gmz
8c3d5135ba Bug #30355: Incorrect ordering of UDF results
There's currently no way of knowing the determinicity of an UDF.
And the optimizer and the sequence() UDFs were making wrong
assumptions about what the is_const member means.
Plus there was no implementation of update_system_tables()
causing the optimizer to overwrite the information returned by
the <udf>_init function.

Fixed by equating the assumptions about the semantics of 
is_const and providing a implementation of update_used_tables().
Added a TODO item for the UDF API change needed to make a better 
implementation.
2007-11-27 17:16:52 +02:00
kaa@polly.(none)
07b8373602 Merge polly.(none):/home/kaa/src/opt/bug32221/my50-bug31445
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-11-22 17:24:08 +03:00
kaa@polly.(none)
127f8e968e Fixed build failures on Windows introduced by the patch for bug #32221.
We do not have any executables in libmysql/release/ anymore.
2007-11-22 17:13:12 +03:00
kaa@polly.(none)
01c878e283 Merge polly.(none):/home/kaa/src/opt/bug32221/my50-bug31445
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-11-22 14:53:41 +03:00
gkodinov/kgeorge@magare.gmz
430157e666 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B30788-5.0-opt
2007-11-21 11:46:15 +02:00
gkodinov/kgeorge@magare.gmz
2e2ac428ae Bug #30788: Inconsistent retrieval of char/varchar
Index lookup does not always guarantee that we can
simply remove the relevant conditions from the WHERE
clause. Reasons can be e.g. conversion errors, 
partial indexes etc. 
The optimizer was removing these parts of the WHERE 
condition without any further checking.
This leads to "false positives" when using indexes.
Fixed by checking the index reference conditions
(using WHERE) when using indexes with sub-queries.
2007-11-21 11:40:05 +02:00
evgen@moonbone.local
9fed61c389 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/31048-bug-5.0-opt-mysql
2007-11-21 02:49:17 +03:00
evgen@moonbone.local
12516abe61 sql_select.cc:
Additional stack check for the bug#31048.
2007-11-21 02:48:01 +03:00
gshchepa/uchum@gleb.loc
9b8751d43b Merge gleb.loc:/work/bk/5.0-opt-32533
into  gleb.loc:/work/bk/5.0-opt
2007-11-20 20:46:30 +04:00
gshchepa/uchum@gleb.loc
351d9f66d3 Fixed bug #32533.
8bit escape characters, termination and enclosed characters
were silently ignored by SELECT INTO query, but LOAD DATA INFILE
algorithm is 8bit-clean, so data was corrupted during 
encoding.
2007-11-20 20:15:20 +04:00
holyfoot/hf@hfmain.(none)
7ab844c905 Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/mysql-5.0-opt
2007-11-20 17:04:42 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
f434cb6066 test case added for the bug #31155 2007-11-20 17:04:24 +04:00
holyfoot/hf@hfmain.(none)
93023d3142 Merge mysql.com:/home/hf/work/31868/my41-31868
into  mysql.com:/home/hf/work/31868/my50-31868
2007-11-20 14:51:40 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
366a87cdaf Merge mysql.com:/home/hf/work/32063/my41-32063
into  mysql.com:/home/hf/work/31868/my41-31868
2007-11-20 14:47:39 +04:00
evgen@moonbone.local
ddc04e7682 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/31048-bug-5.0-opt-mysql
2007-11-19 21:28:50 +00:00
evgen@moonbone.local
6f6fe52ad2 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/31048-bug-5.0-opt-mysql
2007-11-19 21:15:53 +00:00
evgen@moonbone.local
0288cc9dce Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  moonbone.local:/work/30384-bug-5.0-opt-mysql
2007-11-19 21:06:03 +00:00
evgen@moonbone.local
da7470afb1 Bug#30384: Having SQL_BUFFER_RESULT option in the CREATE .. KEY(..) .. SELECT
led to creating corrupted index.

Corrected fix. The new method called prepare2 is added to the select_create
class. As all preparations are done by the select_create::prepare function
it doesn't do anything. Slightly changed algorithm of calling the 
start_bulk_insert function. Now it's called from the select_insert::prepare2
function when the SQL_BUFFER_RESULT flags is set.
The is_bulk_insert_mode flag is removed as it is not needed anymore.
2007-11-19 21:05:17 +00:00
evgen@moonbone.local
67cae0d48d Bug#31048: Many nested subqueries may cause server crash.
This bug is actually two. The first one manifests itself on an EXPLAIN
SELECT query with nested subqueries that employs the filesort algorithm.
The whole SELECT under explain is marked as UNCACHEABLE_EXPLAIN to preserve
some temporary structures for explain. As a side-effect of this values of
nested subqueries weren't cached and subqueries were re-evaluated many
times. Each time buffer for filesort was allocated but wasn't freed because
freeing occurs at the end of topmost SELECT. Thus all available memory was
eaten up step by step and OOM event occur.
The second bug manifests itself on SELECT queries with conditions where
a subquery result is compared with a key field and the subquery itself also
has such condition. When a long chain of such nested subqueries is present
the stack overrun occur. This happens because at some point the range optimizer
temporary puts the PARAM structure on the stack. Its size if about 8K and
the stack is exhausted very fast.

Now the subselect_single_select_engine::exec function allows subquery result
caching when the UNCACHEABLE_EXPLAIN flag is set.
Now the SQL_SELECT::test_quick_select function calls the check_stack_overrun
function for stack checking purposes to prevent server crash.
2007-11-19 20:00:25 +00:00
gshchepa/uchum@gleb.loc
fedeec6c8a Fixed bug #32282: TEXT silently truncates when value is exactly 65536
bytes length.

The server has been modified to report warnings on truncation to
65536 bytes as usual.
2007-11-19 21:34:21 +04:00
kaa@polly.(none)
82c4059fc9 Fix for bug #32221: bug25714, mytest, mysql_client_test complaints and
crashes.

MySQL distributions contain a number of programs that are used only by
the MySQL test suite internally, i.e. they are not indended to be
invoked directly by a user. As a result, such programs are not
documented, do not have any built-in help or proper error reporting,
which may confuse users.

This patch fixes the problem with the following changes:
- mytest, libmysqltest and all references to them were removed from the
distribution since they are not used anymore
- bug25714 now displays an error message when run with incorrect
arguments or with the --help option
- mysql_client_test now does not call abort() in case of errors,
instead it does a clean exit() with a proper error status.
2007-11-19 18:59:25 +03:00
kaa@polly.(none)
ee1bb66368 Merge polly.(none):/home/kaa/src/opt/bug32376/my50-bug26215
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-11-19 16:14:05 +03:00
kaa@polly.(none)
b93bbc5ea6 Changed the help text for --comments to make it clear which option
disables the option explicitely.
Changed the option location in code so that --help will show it in
lexical option order.

This is for bug #26215: mysql command line client should not strip
comments from SQL statements
2007-11-19 15:27:44 +03:00
gshchepa/uchum@gleb.loc
6f7755f058 Merge gleb.loc:/work/bk/5.0-opt-32335
into  gleb.loc:/work/bk/5.0-opt
2007-11-18 00:08:41 +04:00
gshchepa/uchum@gleb.loc
f93b5a9c41 Fixed bug #32335.
Comparison of a BIGINT NOT NULL column with a constant arithmetic
expression that evaluates to NULL caused error 1048: "Column '...'
cannot be null".

Made convert_constant_item() check if the constant expression is NULL
before attempting to store it in a field. Attempts to store NULL in a
NOT NULL field caused query errors.
2007-11-18 00:02:55 +04:00
holyfoot/hf@hfmain.(none)
796d2dab6e Merge mysql.com:/home/hf/work/31158/my41-31158
into  mysql.com:/home/hf/work/31158/my50-31158
2007-11-17 20:27:13 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
df5b0297fd Merge bk@192.168.21.1:mysql-4.1-opt
into  mysql.com:/home/hf/work/31158/my41-31158
2007-11-17 20:24:22 +04:00
holyfoot/hf@hfmain.(none)
80e39eb44e Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/31158/my50-31158
2007-11-17 20:23:15 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
67ce52fd66 merging 2007-11-17 17:11:05 +04:00
holyfoot/hf@hfmain.(none)
7588fa52b6 Merge mysql.com:/home/hf/work/31158/my41-31158
into  mysql.com:/home/hf/work/31158/my50-31158
2007-11-17 16:48:57 +04:00
kaa@polly.(none)
7b38492a4c Merge polly.(none):/home/kaa/src/opt/bug32241/my50-bug29131
into  polly.(none):/home/kaa/src/opt/mysql-5.0-opt
2007-11-16 14:24:06 +03:00
kaa@polly.(none)
82125f281f Fix for bug #32241: memory corruption due to large index map in 'Range
checked for each record'

The problem was in incorrectly calculated length of the buffer used to
store a hexadecimal representation of an index map in
select_describe(). This could result in buffer overrun and stack
corruption under some circumstances.

Fixed by correcting the calculation.
2007-11-16 13:58:09 +03:00
gluh@eagle.(none)
b12f4cbb73 Merge sgluhov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-11-16 14:53:54 +04:00
gluh@mysql.com/eagle.(none)
f4c2eff997 Bug#30294 blackhole engine causes 100% with 2 alter table statements running
Implement neccessary shared lock structure for table locks.
This is the backport of bug26241 fix.
2007-11-16 14:46:36 +04:00
gkodinov/kgeorge@magare.gmz
85fab707c5 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31928-5.0-opt
2007-11-15 17:30:08 +02:00
gluh@mysql.com/eagle.(none)
b56f668ca3 after merge fix 2007-11-14 18:56:14 +04:00
gluh@eagle.(none)
294c872fa5 Merge mysql.com:/home/gluh/MySQL/Merge/4.1-opt
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-11-14 17:26:59 +04:00
gluh@eagle.(none)
246c6c35a9 Merge mysql.com:/home/gluh/MySQL/Merge/5.0
into  mysql.com:/home/gluh/MySQL/Merge/5.0-opt
2007-11-14 17:26:22 +04:00
gluh@mysql.com/eagle.(none)
ea3bfdb26d Merge mysql.com:/home/gluh/MySQL/Merge/4.1
into  mysql.com:/home/gluh/MySQL/Merge/4.1-opt
2007-11-14 17:22:03 +04:00
holyfoot/hf@hfmain.(none)
fbac43bbba Merge mysql.com:/home/hf/work/31305/my41-31305
into  mysql.com:/home/hf/work/31305/my50-31305
2007-11-13 23:15:03 +04:00
holyfoot/hf@hfmain.(none)
acd198d5fa Merge bk@192.168.21.1:mysql-5.0-opt
into  mysql.com:/home/hf/work/31305/my50-31305
2007-11-13 23:13:59 +04:00
holyfoot/hf@mysql.com/hfmain.(none)
0c15068ff8 Merge bk@192.168.21.1:mysql-4.1-opt
into  mysql.com:/home/hf/work/31305/my41-31305
2007-11-13 23:12:55 +04:00
gkodinov/kgeorge@magare.gmz
eea70871f1 Merge gkodinov@bk-internal.mysql.com:/home/bk/mysql-5.0-opt
into  magare.gmz:/home/kgeorge/mysql/autopush/B31562-5.0-opt
2007-11-13 19:00:45 +02:00
gkodinov/kgeorge@magare.gmz
3384d3e96c Bug #31562: HAVING and lower case
The columns in HAVING can reference the GROUP BY and 
SELECT columns. There can be "table" prefixes when
referencing these columns. And these "table" prefixes
in HAVING use the table alias if available.
This means that table aliases are subject to the same
storage rules as table names and are dependent on 
lower_case_table_names in the same way as the table 
names are.
Fixed by :
1. Treating table aliases as table names
and make them lowercase when printing out the SQL
statement for view persistence.
2. Using case insensitive comparison for table 
aliases when requested by lower_case_table_names
2007-11-13 11:39:52 +02:00
holyfoot/hf@mysql.com/hfmain.(none)
7d111abf0e Bug #31158 Spatial, Union, LONGBLOB vs BLOB bug (crops data)
max_length parameter for BLOB-returning functions must be big enough
for any possible content. Otherwise the field created for a table
will be too small.
2007-11-13 10:51:47 +04:00
mattiasj@mattiasj-laptop.(none)
7491e15f21 Merge mattiasj@bk-internal.mysql.com:/home/bk/mysql-5.0-engines
into  mattiasj-laptop.(none):/home/mattiasj/clones/mysql-5.0-engines_with_main
2007-11-12 22:47:48 +01:00
mattiasj@mattiasj-laptop.(none)
f4c100135b Merge mattiasj-laptop.(none):/home/mattiasj/clones/mysql-5.0-main
into  mattiasj-laptop.(none):/home/mattiasj/clones/mysql-5.0-engines_with_main
2007-11-12 21:42:27 +01:00
svoj@june.mysql.com
9799d6c479 Merge mysql.com:/home/svoj/devel/mysql/BUG32111/mysql-4.1-engines
into  mysql.com:/home/svoj/devel/mysql/BUG32111/mysql-5.0-engines
2007-11-12 21:54:04 +04:00
svoj@mysql.com/june.mysql.com
ed8f506d29 symlink.test, symlink.result:
Use proper variable for test.
2007-11-12 21:52:30 +04:00