mariadb/storage/myisam
Alexander Barkov df72c57d6f MDEV-30048 Prefix keys for CHAR work differently for MyISAM vs InnoDB
Also fixes: MDEV-30050 Inconsistent results of DISTINCT with NOPAD

Problem:

Key segments for CHAR columns where compared using strnncollsp()
for engines MyISAM and Aria.

This did not work correct in case if the engine applyied trailing
space compression.

Fix:

Replacing ha_compare_text() calls to new functions:

- ha_compare_char_varying()
- ha_compare_char_fixed()
- ha_compare_word()
- ha_compare_word_prefix()
- ha_compare_word_or_prefix()

The code branch corresponding to comparison of CHAR column keys
(HA_KEYTYPE_TEXT segment type) now uses ha_compare_char_fixed()
which calls strnncollsp_nchars().

This patch does not change the behavior for the rest of the code:
- comparison of VARCHAR/TEXT column keys
  (HA_KEYTYPE_VARTEXT1, HA_KEYTYPE_VARTEXT2 segments types)
- comparison in the fulltext code
2023-10-24 03:35:48 +04:00
..
ftbench mtr: use env for perl 2020-06-23 03:24:46 +02:00
mysql-test MDEV-19236 Improve error message for ER_ALTER_OPERATION_NOT_SUPPORTED_REASON_COLUMN_TYPE 2019-04-12 12:28:09 +03:00
ChangeLog
CMakeLists.txt Update FSF Address 2019-05-11 21:29:06 +03:00
ft_boolean_search.c MDEV-30048 Prefix keys for CHAR work differently for MyISAM vs InnoDB 2023-10-24 03:35:48 +04:00
ft_myisam.c Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
ft_nlq_search.c MDEV-30048 Prefix keys for CHAR work differently for MyISAM vs InnoDB 2023-10-24 03:35:48 +04:00
ft_parser.c MDEV-30048 Prefix keys for CHAR work differently for MyISAM vs InnoDB 2023-10-24 03:35:48 +04:00
ft_static.c Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
ft_stopwords.c MDEV-30048 Prefix keys for CHAR work differently for MyISAM vs InnoDB 2023-10-24 03:35:48 +04:00
ft_update.c MDEV-30048 Prefix keys for CHAR work differently for MyISAM vs InnoDB 2023-10-24 03:35:48 +04:00
ftdefs.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
fulltext.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
ha_myisam.cc MDEV-28054 Various crashes upon INSERT/UPDATE after changing Aria settings 2023-05-02 23:37:10 +03:00
ha_myisam.h Apply clang-tidy to remove empty constructors / destructors 2023-02-09 16:09:08 +02:00
mi_cache.c Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
mi_changed.c Update FSF Address 2019-05-11 21:29:06 +03:00
mi_check.c MDEV-30048 Prefix keys for CHAR work differently for MyISAM vs InnoDB 2023-10-24 03:35:48 +04:00
mi_checksum.c Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
mi_close.c Merge 10.2 into 10.3 2020-04-22 14:45:55 +03:00
mi_create.c MDEV-29613 Improve WITH_DBUG_TRACE=OFF 2022-09-23 13:40:42 +03:00
mi_dbug.c Update FSF Address 2019-05-11 21:29:06 +03:00
mi_delete.c MDEV-27030 vcol.vcol_keys_myisam fails on Windows x64, with Visual Studio 2022 2021-11-11 22:12:12 +01:00
mi_delete_all.c Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
mi_delete_table.c Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
mi_dynrec.c Merge remote-tracking branch 'origin/10.2' into 10.3 2019-09-24 23:05:09 +04:00
mi_extra.c MDEV-21794: Optimizer flag rowid_filter leads to long query 2020-05-07 12:27:17 +02:00
mi_extrafunc.h Update FSF Address 2019-05-11 21:29:06 +03:00
mi_info.c Merge branch '10.3' into 10.4 2019-05-19 20:55:37 +02:00
mi_key.c Merge 10.3 into 10.4 2020-11-03 14:49:17 +02:00
mi_keycache.c Update FSF Address 2019-05-11 21:29:06 +03:00
mi_locking.c Merge 10.3 into 10.4 2023-01-03 16:10:02 +02:00
mi_log.c Update FSF Address 2019-05-11 21:29:06 +03:00
mi_open.c Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
mi_packrec.c Merge 10.2 into 10.3 2020-03-20 18:12:17 +02:00
mi_page.c Update FSF Address 2019-05-11 21:29:06 +03:00
mi_panic.c Update FSF Address 2019-05-11 21:29:06 +03:00
mi_preload.c Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
mi_range.c MDEV-16188: Fix clang 10 -Wimplicit-int-float-conversion 2020-03-16 16:51:35 +02:00
mi_rename.c Update FSF Address 2019-05-11 21:29:06 +03:00
mi_rfirst.c Fix spelling mistakes in MyISAM code comments 2019-09-20 07:21:21 +03:00
mi_rkey.c MDEV-21794: Optimizer flag rowid_filter leads to long query 2020-05-07 12:27:17 +02:00
mi_rlast.c Update FSF Address 2019-05-11 21:29:06 +03:00
mi_rnext.c MDEV-21794: Optimizer flag rowid_filter leads to long query 2020-05-07 12:27:17 +02:00
mi_rnext_same.c MDEV-21794: Optimizer flag rowid_filter leads to long query 2020-05-07 12:27:17 +02:00
mi_rprev.c MDEV-21794: Optimizer flag rowid_filter leads to long query 2020-05-07 12:27:17 +02:00
mi_rrnd.c Update FSF Address 2019-05-11 21:29:06 +03:00
mi_rsame.c Update FSF Address 2019-05-11 21:29:06 +03:00
mi_rsamepos.c Update FSF Address 2019-05-11 21:29:06 +03:00
mi_scan.c Update FSF Address 2019-05-11 21:29:06 +03:00
mi_search.c Merge remote-tracking branch 'origin/10.1' into 10.2 2019-09-24 19:19:25 +04:00
mi_static.c Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
mi_statrec.c Update FSF Address 2019-05-11 21:29:06 +03:00
mi_test1.c Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
mi_test2.c Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
mi_test3.c Fix clang -Wunused-but-set-variable 2022-09-19 13:30:52 +03:00
mi_test_all.res
mi_test_all.sh Merge remote-tracking branch 'origin/5.5' into 10.1 2019-09-24 11:18:39 +04:00
mi_unique.c MDEV-30048 Prefix keys for CHAR work differently for MyISAM vs InnoDB 2023-10-24 03:35:48 +04:00
mi_update.c Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
mi_write.c MDEV-30048 Prefix keys for CHAR work differently for MyISAM vs InnoDB 2023-10-24 03:35:48 +04:00
myisam_ftdump.c Remove HAVE_SNPRINTF 2022-10-05 10:09:49 +03:00
myisamchk.c Cleanup mman.h includes 2019-10-02 20:21:30 +04:00
myisamdef.h MDEV-21794: Optimizer flag rowid_filter leads to long query 2020-05-07 12:27:17 +02:00
myisamlog.c Fixed compiler warnings from gcc 7.4.1 2020-01-29 23:23:55 +02:00
myisampack.c Fix all warnings given by UBSAN 2021-04-20 12:30:09 +03:00
NEWS Merge remote-tracking branch 'origin/10.1' into 10.2 2019-09-24 19:19:25 +04:00
rt_index.c Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
rt_index.h Update FSF Address 2019-05-11 21:29:06 +03:00
rt_key.c Update FSF Address 2019-05-11 21:29:06 +03:00
rt_key.h Update FSF Address 2019-05-11 21:29:06 +03:00
rt_mbr.c Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
rt_mbr.h Update FSF Address 2019-05-11 21:29:06 +03:00
rt_split.c Merge 10.1 into 10.2 2019-05-13 17:54:04 +03:00
rt_test.c Merge 10.2 into 10.3 2021-08-23 16:51:16 +03:00
sort.c Merge 10.3 into 10.4 2019-09-25 10:14:33 +03:00
sp_defs.h Update FSF Address 2019-05-11 21:29:06 +03:00
sp_key.c MDEV-21082: isnan/isinf compilation errors, isfinite warnings on MacOS 2019-11-19 16:28:15 +03:00
sp_test.c Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
test_pack