Commit graph

42 commits

Author SHA1 Message Date
monty@mysql.com
3c12d0ae54 Added end marker for tests to make future merges easier 2005-07-28 03:22:47 +03:00
timour@mysql.com
294498e203 Fix for BUG#11185.
The source of the problem is in Field_longlong::cmp. If 'this' is
an unsigned number, the method casts both the current value, and
the constant that we compare with to an unsigned number. As a
result if the constant we compare with is a negative number, it
wraps to some unsigned number, and the comparison is incorrect.

When the optimizer chooses the "range" access method, this problem
causes handler::read_range_next to reject the current key when the
upper bound key is a negative number because handler::compare_key
incorrectly considers the positive and negative keys to be equal.

The current patch does not correct the source of the problem in
Field_longlong::cmp because it is not easy to propagate sign
information about the constant at query execution time. Instead
the patch changes the range optimizer so that it never compares
unsiged fields with negative constants. As an added benefit,
queries that do such comparisons will execute faster because
the range optimizer replaces conditions like:
(a) (unsigned_int [< | <=] negative_constant) == FALSE
(b) (unsigned_int [> | >=] negative_constant) == TRUE
with the corresponding constants.
In some cases this may even result in constant time execution.
2005-06-23 10:56:44 +03:00
serg@serg.mylan
48377eb7c4 test fixes 2005-05-18 10:57:07 +02:00
sergefp@mysql.com
b580a12d47 Merge spetrunia@bk-internal.mysql.com:/home/bk/mysql-4.1
into mysql.com:/home/psergey/mysql-4.1-bug10095
2005-05-10 00:43:18 +02:00
sergefp@mysql.com
d1e9d9b981 Fix for BUG#10070: Make the test not to produce warnings if InnoDB is not available 2005-05-10 00:40:41 +02:00
lenz@mysql.com
1b198a78b2 - fix the range test to pass when InnoDB is note enabled (e.g. in the "-classic" build) 2005-05-09 00:47:47 +02:00
sergefp@mysql.com
2ef1963c91 Fix for BUG#9348: when computing union of two intervals set lower bound to
minimum of lower bounds of two joined intervals.
2005-04-17 02:05:09 +04:00
bar@mysql.com
45451568bf opt_range.cc, range.result, range.test:
Bug #6045: Binary Comparison regression in MySQL 4.1
  Binary searches didn't use a case insensitive index, now they do.
2004-11-03 15:22:33 +04:00
monty@mysql.com
6239edc1d1 After merge fixes
Some bigger code changes was necessary becasue of the multi-table-update and the new HANDLER code
2004-10-07 10:50:13 +03:00
hf@deer.(none)
833d285c67 Fix to make range.test work smoothly --without-innidb 2004-08-20 14:29:28 +05:00
sergefp@mysql.com
fdb51f67a2 Fix for bug#4488: sign-aware equality check 2004-08-17 02:59:24 +04:00
sergefp@mysql.com
4ddeee9d2f Fix for BUG#4488: first portion: sign aware '<' and '>' comparisons. 2004-08-11 23:08:20 +04:00
monty@mysql.com
b11d258835 Merge with 4.0.21 2004-06-18 04:38:58 +03:00
monty@mysql.com
fd6858dccd Fixed unlikely bug in the range optimzer when using many IN() queries on different key parts. (Bug #4157) 2004-06-18 02:31:11 +03:00
marko@hundin.mysql.fi
df5336a3cc Introduce keys in child tables corresponding to FOREIGN KEYs
Remove redundant keys in CREATE TABLE and ALTER TABLE
2004-04-21 13:15:43 +03:00
bar@bar.intranet.mysql.r18.ru
3aea3e92ce 1. New data types, from the user point of view:
BINARY(N) and VARBIBARY(N)
2. More 4.0 compatibility and more BINARY keyword consistency:
2a. CREATE TABLE a (a CHAR(N) BINARY) 
    is now synonym for
    CREATE TABLE a (a CHAR(N) COLLATE xxxx_bin)
2b. SELECT BINARY x
    is still synonin for
    SELECT x COLLATE xxxxx_bin.
2004-03-26 16:11:46 +04:00
monty@mysql.com
fb8f27f017 Always use libtool with "--preserve-dup-deps"
Always use all LOAD DATA options in replication.
Fixed problem in mysqlbinlog where LOAD DATA options could be overwritten.
2004-02-13 16:05:09 +02:00
monty@mysql.com
ce14578909 Merge with 4.0.18 2004-02-11 00:06:46 +01:00
monty@mysql.com
f7e65a7620 Fixed problem with range optimization over overlapping ranges (#2448) 2004-02-04 09:51:13 +01:00
serg@serg.mylan
faa8252b10 test moved to an appropriate file 2004-01-21 23:39:35 +01:00
serg@serg.mylan
8caf856afe an obvious bug in _mi_key_cmp fixed (BUG#2295 - range on blobs) 2004-01-15 16:31:27 +01:00
antony@ltantony.rdg.cyberkinetica.homeunix.net
fcf96dbb18 WorkLog#1323
Deprecate the use of TYPE=... Preferred syntax is ENGINE=
2003-12-10 04:31:42 +00:00
monty@mysql.com
5914033478 merge with 4.0 to get fix for range bug 2003-11-28 15:55:43 +02:00
monty@mysql.com
4f42a47408 Fixed range optimzier bug (Bug #1828) 2003-11-28 15:45:34 +02:00
monty@mashka.mysql.fi
a47d56088f Merge with 4.0 tree 2003-11-18 18:54:27 +02:00
monty@narttu.mysql.fi
f763d4c31d Removed some warnings reported by valgrind
After merge fixes.
Now code compiles, but there is still some valgrind warnings that needs to be fixed
2003-11-04 14:09:03 +02:00
konstantin@mysql.com
4eb255e60e Word Police law is abided 2003-11-04 12:38:09 +03:00
monty@narttu.mysql.fi
4e4725377d Merge with 4.0 2003-11-04 09:40:36 +02:00
konstantin@mysql.com
0143e48568 fix for bug #1724 'WHERE ... IN() optimizer behaviour
has changed since 4.0.14'
We need to calculate cost of RANGE
scan if it is present instead of cost of 
FULL scan.
2003-11-03 19:56:01 +03:00
igor@rurik.mysql.com
f12cbd4bb8 Manual merge after improving concurrency for key cache reassignment 2003-10-01 20:20:17 -07:00
monty@mashka.mysql.fi
04c43fca8e Optimize thai character handling
Remove sel000xxxx tests
After merge fixes
2003-09-12 04:18:07 +03:00
monty@mashka.mysql.fi
73f66f68fd merge with 4.0.15 2003-09-11 20:24:14 +03:00
serg@serg.mylan
be96cc0984 bug #1172 - crash on force index() and SEL_ARG::MAYBE_KEY 2003-09-03 22:27:04 +02:00
serg@serg.mylan
b2c83e7f03 workaround for IN's special treatment of first argument. Not for 4.1 2003-09-01 14:18:27 +02:00
monty@narttu.mysql.fi
77a70a0a24 merge with 4.0.15 2003-08-29 13:44:35 +03:00
monty@mashka.mysql.fi
2263e3e51f Merge with 4.0.14 2003-08-11 22:44:43 +03:00
serg@serg.mylan
f96d57d302 between tests added
bugfixes will follow
2003-08-08 18:49:22 +02:00
serg@serg.mylan
8075aac74f bug with ranges and not_null_col=can_be_null_expr fixed 2003-06-26 21:30:53 +02:00
monty@mashka.mysql.fi
1f6ecc0cd3 Changed mysql-test to print warnings for not existing table to DROP TABLE
Cleaned up test; Removed wrong DROP TABLE commands and use standard table and database names.
changed store_warning() -> push_warning_print()
2003-01-06 01:48:59 +02:00
monty@hundin.mysql.fi
ed040fe21e Fix for bug in WHERE key='j' or key='J' 2002-03-22 14:03:42 +02:00
monty@tik.mysql.fi
ee162d86a6 Quote names to SHOW CREATE for mysqldump
Fix thread-related bug when doing DROP TABLE
Fix bug in RENAME TABLE on windows
2002-03-21 23:06:48 +02:00
monty@donna.mysql.com
c0f40d14cc Added support for hex strings to mysqlimport
A lot of new tests to mysqltest
Fixed bug with BDB tables and autocommit
2000-12-28 03:56:38 +02:00