Commit graph

9300 commits

Author SHA1 Message Date
ingo@mysql.com
1f3df2e669 Bug#14616 - Freshly imported table returns error 124 when using LIMIT
Initialized usable_keys from table->keys_in_use instead of ~0
in test_if_skip_sort_order(). It was possible that a disabled
index was used for sorting.
2005-11-07 12:16:49 +01:00
sergefp@mysql.com
edd094b194 BUG#14480, attempt2: In CREATE ... SELECT ..., don't count the same field twice
when calculating table->null_fields.
2005-11-07 09:23:43 +03:00
petr@mysql.com
038b300753 Fix Bug#14672 Bug in deletion 2005-11-06 02:11:12 +03:00
petr@mysql.com
a1f56ea5a6 Fix Bug#13894 Server crashes on update of CSV table 2005-11-05 15:08:15 +03:00
petr@mysql.com
085b48427d fix --ansi --pedantic compilation failure 2005-11-04 16:17:43 +03:00
kent@mysql.com
ee0b6db191 Merge kboortz@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/Users/kent/mysql/bk/mysql-4.1-distcheck
2005-11-04 01:15:35 +01:00
ingo@mysql.com
1b99d30c23 Bug#14397 - OPTIMIZE TABLE with an open HANDLER causes a crash
Version for 4.0.
It fixes two problems:
1. The cause of the bug was that we did not check the table version for
   the HANDLER ... READ commands. We did not notice when a table was
   replaced by a new one. This can happen during ALTER TABLE, REPAIR
   TABLE, and OPTIMIZE TABLE (there might be more cases). I call the fix
   for this problem "the primary bug fix".
2. mysql_ha_flush() was not always called with a locked LOCK_open.
   Though the function comment clearly said it must.
   I changed the code so that the locking is done when required. I call
   the fix for this problem "the secondary fix".
2005-11-03 18:24:12 +01:00
jimw@mysql.com
15da5308c3 Avoid possible race condition in accessing slave statistics
during shutdown. (Bug )
2005-11-01 11:48:55 -08:00
evgen@moonbone.local
47059b89f5 Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/14186-bug-4.1-mysql
2005-11-01 17:34:19 +03:00
monty@mysql.com
19502e8eb5 Review of new pushed code
Removed wrong fix for bug  (use of abs() on null value causes problems with filesort)
Mark that add_time(), time_diff() and str_to_date() can return null values
2005-11-01 13:00:02 +02:00
hf@deer.(none)
5150bd8f9f Merge bk@192.168.21.1:/usr/home/bk/mysql-4.1
into deer.(none):/home/hf/work/mysql-4.1.12839
2005-10-31 12:24:43 +04:00
hf@deer.(none)
16c66d49ca Additional fix for 2005-10-31 12:05:27 +04:00
jimw@mysql.com
e55f906130 Fix bug in handling of decimal fields in UNION statements that could
cause a crash or write to an incorrect memory location. (Bug )
2005-10-28 18:12:57 -07:00
sergefp@mysql.com
f220d87476 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug14139
2005-10-28 21:42:01 +04:00
evgen@moonbone.local
cc5d7c0715 Fix bug ROLLUP and PROCEDURE ANALYSE() hang server
Procedure analyse() redefines select's fields_list. setup_copy_fields() assumes
that fields_list is a part of all_fields_list. Because select have only 
3 columns and analyse() redefines it to have 10 columns, int overrun in
setup_copy_fields() occurs and server goes to almost infinite loop.

Because fields_list used not only to send data ad fields types, it's wrong 
to allow procedure redefine it. This patch separates select's fileds_list 
and procedure's one. Now if procedure is present, copy of fields_list is 
created in procedure_fields_list and it is used for sending data and fields.
2005-10-28 15:24:46 +04:00
evgen@moonbone.local
77723c2438 Fix bug#14186 select datefield is null not updated
Date field was declared as not null, thus expression 'datefield is null'
was always false. For SELECT special handling of such cases is used. 
There 'datefield is null' converted to 'datefield eq "0000-00-00"'.

In mysql_update() before creation of select added remove_eq_conds() call.
It makes some optimization of conds and in particular performs conversion
from 'is null' to 'eq'. 
Also remove_eq_conds() makes some evaluation of conds and if it founds that
conds is always false then update statement is not processed further.
All this allows to perform some update statements process faster due to
optimized conds, and not wasting resources if conds known to be false.
2005-10-28 01:24:11 +04:00
jimw@mysql.com
7a8bd252d2 Merge mysql.com:/home/jimw/my/mysql-4.1-14009
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-10-27 10:20:38 -07:00
evgen@moonbone.local
71b731e92e Manually merged 2005-10-27 17:44:28 +04:00
sergefp@mysql.com
2219ada7f6 BUG#14139: When handling "CREATE TABLE(field_X type_spec,...) SELECT smth AS field_X, ...."
avoid multiplying length of field_X by charset->mbmaxlen twice when calculating space 
required for field_X in the new table.
2005-10-26 00:56:17 +04:00
evgen@moonbone.local
b5d426623f Merge epotemkin@bk-internal.mysql.com:/home/bk/mysql-4.1
into moonbone.local:/work/14016-bug-4.1-mysql
2005-10-25 20:37:45 +04:00
evgen@moonbone.local
90cf3e78f0 Fix bug date_format() 2nd parameter was compared using case insensitive
collation

By default constant strings in second parameter of date_time() have case
insensitive collation. Because of this expressions date_format(f,'%m') and 
date_format(f,'%M') wrongly becomes equal, which results in choosing wrong 
column to sort by.

Now if second parameter of date_format() is constant then it's collation is 
changed to case sensitive.
2005-10-25 20:37:26 +04:00
evgen@moonbone.local
8cb0dff904 Fix bug#13392 Wrong VALUES() behaviour in INSERT SELECT with ON DUPLICATE
VALUES() can only refer to table insert going to. 
But Item_insert_value::fix_fields() were passing to it's arg full table list,
This results in finding second column which shouldn't be found, and
failing with error about ambiguous field.

Item_insert_value::fix_fields() now passes only first table of full table
list.
2005-10-25 20:04:12 +04:00
monty@mysql.com
3e653fb922 Added more tests for new UPDATE ... ORDER BY ... LIMIT optimization 2005-10-25 02:27:40 +03:00
sergefp@mysql.com
ea3ea9ed10 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-nulls-stats-r2
2005-10-23 02:49:57 +04:00
jimw@mysql.com
2d018862fa Merge mysql.com:/home/jimw/my/mysql-4.1-11203
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-10-21 17:57:51 -07:00
serg@serg.mylan
721873f7cd compilation failure fixed 2005-10-21 14:56:59 +02:00
bar@mysql.com
a167ddc6e7 Bug#13233
select distinct char(column) fails with utf8
ctype_utf8.result, ctype_utf8.test:
  Adding test case
sql_yacc.yy:
  Adding new syntax.
item_strfunc.h:
  Fixing wrong max_length calculation.
  Also, adding CHAR(x USING charset),
  for easier migrating from 4.1 to 5.0,
  according to Monty's suggestion.
2005-10-21 14:41:56 +05:00
sergefp@mysql.com
15a78334c3 BUG#9622, stage 2, work together with fix for BUG#12232:
added "nulls_ignored" index statistics collection method for MyISAM tables.
(notification trigger: this is about BUG#9622).
2005-10-21 06:29:17 +04:00
jimw@mysql.com
746251a47c Merge bk-internal:/home/bk/mysql-4.1
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-10-18 10:49:28 -07:00
jimw@mysql.com
e284a57c88 Merge mysql.com:/home/jimw/my/mysql-4.1-13334
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-10-18 09:45:12 -07:00
jimw@mysql.com
162b3de29a Merge mysql.com:/home/jimw/my/mysql-4.1-13064
into  mysql.com:/home/jimw/my/mysql-4.1-clean
2005-10-18 09:44:29 -07:00
jani@ua141d10.elisa.omakaista.fi
1b7a4abf59 Merge jamppa@bk-internal.mysql.com:/home/bk/mysql-4.1
into  ua141d10.elisa.omakaista.fi:/home/my/bk/mysql-4.1
2005-10-18 18:04:00 +03:00
jani@ua141d10.elisa.omakaista.fi
8e1dac44b4 Some fixes to avoid compiler warnings. 2005-10-18 18:03:26 +03:00
sergefp@mysql.com
d6903c4566 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug12915-r2
2005-10-18 14:08:50 +04:00
sergefp@mysql.com
b91173af11 BUG#12915: post-review fixes 2005-10-18 14:04:14 +04:00
jimw@mysql.com
31a79ee3d0 Fix Item_func_abs::fix_length_and_dec() to set maybe_null properly. (Bug ) 2005-10-17 17:00:42 -07:00
hf@deer.(none)
ba82a6a759 Fix for bug (Inconsistend column type in create select) 2005-10-15 19:47:23 +05:00
guilhem@mysql.com
b709578f1f Merge gbichot@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/home/mysql_src/mysql-4.1
2005-10-14 15:35:57 +02:00
guilhem@mysql.com
845b9fbf58 fix for Valgrind errors: query_id needs to be inited early (already fixed in 5.0 by Konstantin) and so does client_capabilities (not fixed in 5.0);
because they are used by net_printf() and push_warning(), which can be called if check_connection() fails.
2005-10-14 15:34:52 +02:00
mskold@mysql.com
997e78c7f4 Merge mskold@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/local/home/marty/MySQL/mysql-4.1
2005-10-14 11:52:52 +02:00
mskold@mysql.com
f9b58b0805 Fix for Bug Triggers on tables with auto_increment insert bogus values into table (clean version) 2005-10-14 11:23:02 +02:00
bar@mysql.com
5df9c6c2a3 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b13751
2005-10-14 11:54:10 +05:00
bar@mysql.com
58343bede3 Merge abarkov@bk-internal.mysql.com:/home/bk/mysql-4.1
into  mysql.com:/usr/home/bar/mysql-4.1.b13751
2005-10-14 09:09:25 +05:00
evgen@moonbone.local
aff8dbe130 Fix bug select distinct with group by caused server crash
DISTINCT wasn't optimized away and caused creation of tmp table in wrong
case. This result in integer overrun and running out of memory.

Fix backported from 4.1. Now if optimizer founds that in result be only 1
row it removes distinct.
2005-10-14 01:22:24 +04:00
bell@sanja.is.com.ua
6d6e107f12 - set 'updating' in both tables list if we have two of them (because of subquery) (BUG#13236)
- fixed test
2005-10-14 00:02:38 +03:00
monty@mysql.com
829a4831b1 Fixes during review of new code 2005-10-13 19:24:01 +03:00
monty@mysql.com
0f9a3c1cf9 Merge bk-internal.mysql.com:/home/bk/mysql-4.0
into  mysql.com:/home/my/mysql-4.0
2005-10-13 17:42:15 +03:00
monty@mysql.com
144c873e39 Review of new pushed code
- No need to check *ref when ref is checked (Simple optimization fix)
2005-10-13 17:41:55 +03:00
hf@deer.(none)
62ffbea5e4 merging 2005-10-13 19:31:09 +05:00
hf@deer.(none)
c933505d2d Fix for bug (Group by field is not considered) 2005-10-13 19:23:52 +05:00