1
0
mirror of https://github.com/MariaDB/server.git synced 2025-09-11 05:52:26 +03:00
Files
mariadb/mysql-test/t
unknown da7af481cd Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
We miss some records sometimes using RANGE method if we have
partial key segments.
Example:
  Create table t1(a char(2), key(a(1)));
  insert into t1 values ('a'), ('xx');
  select a from t1 where a > 'x';
We call index_read() passing 'x' key and HA_READ_AFTER_KEY flag
in the handler::read_range_first() wich is wrong because we have
a partial key segment for the field and might miss records like 'xx'.

Fix: don't use open segments in such a case.


mysql-test/r/range.result:
  Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
    - test result.
mysql-test/t/range.test:
  Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
    - test case.
sql/opt_range.cc:
  Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
    - check if we have a partial key segment for a Item_func::GT_FUNC;
      if so, don't set NEAR_MIN flag in order to use HA_READ_KEY_OR_NEXT
      instead of HA_READ_AFTER_KEY.
sql/opt_range.h:
  Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
    - key segment 'flag' slot added.
sql/sql_select.cc:
  Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
    - test (HA_PART_KEY_SEG | HA_NULL_PART) as we split it in the sql/table.cc
sql/table.cc:
  Fix for bug #20732: Partial index and long sjis search with '>' fails sometimes
    - set HA_NULL_PART flag instead of HA_PART_KEY_SEG in order not to mix them.
2006-10-19 12:52:37 +05:00
..
2006-05-01 21:30:09 +03:00
2006-10-13 08:48:47 +02:00
2006-09-20 09:46:12 -07:00
2006-04-20 12:35:33 +04:00
2006-04-11 15:26:18 +05:00
2006-05-06 23:48:13 -07:00
2005-09-06 18:03:08 +04:00
2006-04-18 20:57:31 -07:00
2006-06-30 18:29:27 +03:00
2006-03-06 18:34:38 +01:00
2005-11-25 10:41:22 +01:00
2005-09-30 11:39:49 +02:00
2006-08-15 13:12:27 +02:00
2005-07-31 04:28:01 -07:00
2005-09-05 12:33:25 +02:00
2006-04-20 22:15:38 -07:00
2005-01-30 10:24:03 +00:00
2006-10-07 20:16:57 +02:00
2005-12-08 16:13:53 +01:00
2006-10-07 20:16:57 +02:00
2005-08-09 00:13:49 +03:00
2006-01-26 00:06:20 +03:00