mariadb/include
Monty 66dde8a54e Added rowid_filter support to Aria
This includes:
- cleanup and optimization of filtering and pushdown engine code.
- Adjusted costs for rowid filters (based on extensive testing
  and profiling).

This made a small two changes to the handler_rowid_filter_is_active()
API:
- One should not call it with a zero pointer!
- One does not need to call handler_rowid_filter_is_active() for every
  row anymore. It is enough to check if filter is active by calling it
  call it during index_init() or when handler::rowid_filter_changed()
  is called

The changes was to avoid unnecessary function calls and checks if
pushdown conditions and rowid_filter is not used.

Updated costs for rowid_filter_lookup() to be closer to reality.
The old cost was based only on rowid_compare_cost. This is now
changed to take into account the overhead in checking the rowid.

Changed the Range_rowid_filter class to use DYNAMIC_ARRAY directly
instead of Dynamic_array<>. This was done to be able to use the new
append_dynamic() functions which gives a notable speed improvment
compared to the old code.  Removing the abstraction also makes
the code easier to understand.

The cost of filtering is now slightly lower than before, which
is reflected in some test cases that is now using rowid filters.
2023-02-03 10:42:28 +03:00
..
atomic MDEV-19696 - Cleanup gcc sync builtins 2019-07-03 12:11:22 +03:00
mysql Merge 10.6 into 10.7 2023-01-24 14:35:36 +02:00
providers support lzma < 5.1.3alpha 2022-02-09 19:13:52 +01:00
aligned.h Revert aligned_alloc() addition from MDEV-28836 2022-08-22 09:10:40 +03:00
aria_backup.h S3 is pluggable now 2020-06-19 19:43:07 +02:00
assume_aligned.h Remove a misleading copyright message 2020-03-21 10:25:54 +02:00
big_endian.h Update FSF address 2019-05-11 19:25:02 +03:00
byte_order_generic.h Fix all warnings given by UBSAN 2021-04-20 12:30:09 +03:00
byte_order_generic_x86.h Fix all warnings given by UBSAN 2021-04-20 12:30:09 +03:00
byte_order_generic_x86_64.h MDEV-21981 Replace arithmetic + with bitwise OR when possible 2020-03-19 15:09:13 +02:00
CMakeLists.txt MDEV-30344: Without wsrep needs wsrep{,_on}.h headers 2023-01-06 11:07:11 +11:00
decimal.h Added typedef decimal_digits_t (uint16) for number of digits in most 2021-05-19 22:27:27 +02:00
dur_prop.h
errmsg.h test cases for MySQL bugs 2022-01-21 16:02:34 +01:00
ft_global.h MDEV-23269 SIGSEGV in ft_boolean_check_syntax_string on setting ft_boolean_syntax 2021-10-11 17:43:23 +04:00
handler_ername.h Merge 10.5 into 10.6 2021-09-16 20:17:12 +03:00
handler_state.h
hash.h MDEV-26221: DYNAMIC_ARRAY use size_t for sizes 2021-10-19 16:00:26 +03:00
heap.h Merge 10.4 into 10.5 2023-01-03 17:08:42 +02:00
ilist.h fix C++20 !!! build failure: iterator concept was not fully implemented 2021-10-12 23:00:09 +06:00
json_lib.h Merge 10.8 into 10.9 2023-01-10 14:50:58 +02:00
keycache.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
lf.h MDEV-23510: arm64 lf_hash alignment of pointers 2021-02-25 10:06:15 +11:00
little_endian.h Update FSF address 2019-05-11 19:25:02 +03:00
m_ctype.h Merge 10.9 into 10.10 2023-01-10 15:06:25 +02:00
m_string.h Simplify a preprocessor condition 2021-05-17 18:10:11 +03:00
ma_dyncol.h Merge 10.4 into 10.5 2023-01-03 17:08:42 +02:00
maria.h cleanup: Aria headers 2020-06-19 19:43:07 +02:00
mariadb_capi_rename.h Merge branch '10.6' into 10.7 2022-11-02 21:06:47 +01:00
my_alarm.h Merge 10.4 into 10.5 2022-11-08 17:01:28 +02:00
my_alloc.h Fix clang -Wtypedef-redefinition 2022-03-11 15:33:59 +02:00
my_atomic.h MDEV-17441 fixup: Remove unused my_atomic long macros 2022-03-24 09:53:52 +02:00
my_atomic_wrapper.h Merge 10.5 into 10.6 2021-06-26 11:53:28 +03:00
my_attribute.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
my_base.h Merge 10.8 into 10.9 2023-01-10 14:50:58 +02:00
my_bit.h Coding style fixes 2020-04-04 14:55:51 +04:00
my_bitmap.h cleanup: MY_BITMAP mutex 2021-08-26 23:39:52 +02:00
my_byteorder.h MDEV-25870 Windows - fix ARM64 cross-compilation 2021-06-07 23:15:36 +02:00
my_check_opt.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
my_compare.h Added rowid_filter support to Aria 2023-02-03 10:42:28 +03:00
my_compiler.h MDEV-15250 fixup: Remove MY_GNUC_PREREQ 2022-04-26 15:13:39 +03:00
my_counter.h MDEV-22456 after-merge fix: introduce Atomic_relaxed 2020-05-18 15:02:55 +03:00
my_cpu.h MDEV-25807: ARM build failure due to missing ISB instruction on ARMv6 2021-06-01 13:51:39 +10:00
my_crypt.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
my_dbug.h Merge branch '10.6' into 10.7 2022-10-04 07:41:35 +02:00
my_decimal_limits.h header typos 2022-12-20 08:55:48 +11:00
my_default.h MDEV-22214 mariadbd.exe calls function mysqld.exe, and crashes 2020-04-10 19:05:26 +02:00
my_dir.h Merge 10.6 into 10.7 2023-01-04 14:52:25 +02:00
my_getopt.h Changing all cost calculation to be given in milliseconds 2023-02-02 23:54:45 +03:00
my_global.h Changing all cost calculation to be given in milliseconds 2023-02-02 23:54:45 +03:00
my_handler_errors.h Merge branch '10.4' into 10.5 2022-02-01 20:33:04 +01:00
my_libwrap.h Update FSF Address 2019-05-11 21:29:06 +03:00
my_list.h Update FSF Address 2019-05-11 21:29:06 +03:00
my_md5.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
my_minidump.h MDEV-11499 mysqltest, Windows : improve diagnostics if server fails to shutdown 2021-09-24 11:49:28 +02:00
my_net.h MDEV-25602 get rid of __WIN__ in favor of standard _WIN32 2021-06-06 13:21:03 +02:00
my_nosys.h Update FSF Address 2019-05-11 21:29:06 +03:00
my_pthread.h Merge branch '10.5' into 10.6 2022-09-30 12:29:24 +02:00
my_rdtsc.h Merge 10.7 into 10.8 2023-01-10 14:42:50 +02:00
my_rnd.h remove dead code 2022-07-31 14:54:37 +02:00
my_service_manager.h MDEV-10183 implement service_manager_extend_timeout on Windows 2022-04-11 07:49:43 +02:00
my_stack_alloc.h perfschema memory related instrumentation changes 2020-03-10 19:24:22 +01:00
my_stacktrace.h MDEV-25602 get rid of __WIN__ in favor of standard _WIN32 2021-06-06 13:21:03 +02:00
my_sys.h Added rowid_filter support to Aria 2023-02-03 10:42:28 +03:00
my_time.h Merge 10.3 into 10.4 2022-04-06 08:59:09 +03:00
my_tracker.h Changing all cost calculation to be given in milliseconds 2023-02-02 23:54:45 +03:00
my_tree.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
my_uctype.h Update FSF Address 2019-05-11 21:29:06 +03:00
my_user.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
my_valgrind.h Cleanup: Remove IF_VALGRIND 2022-04-25 09:40:40 +03:00
my_xml.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
myisam.h Changing all cost calculation to be given in milliseconds 2023-02-02 23:54:45 +03:00
myisamchk.h Fixed bug in aria_chk that overwrote sort_buffer_length 2021-09-15 21:21:03 +03:00
myisammrg.h Merge 10.4 into 10.5 2023-01-03 17:08:42 +02:00
myisampack.h MDEV-29473 UBSAN: Signed integer overflow: X * Y cannot be represented in type 'int' in strings/dtoa.c 2022-11-17 17:51:01 +04:00
mysql.h Merge 10.6 into 10.7 2023-01-04 14:52:25 +02:00
mysql_com.h MDEV-28910 remove the 5.5.5- version hack 2023-01-25 15:40:32 +01:00
mysql_com_server.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
mysql_embed.h Merge branch '10.3' into 10.4 2019-05-19 20:55:37 +02:00
mysql_time.h Merge branch '5.5' into 10.1 2019-05-11 22:19:05 +03:00
mysql_version.h.in Merge 10.3 into 10.4 2020-10-29 13:38:38 +02:00
mysqld_default_groups.h Fixed that mariadb-# binaries reads their corresponding entry from my.cnf 2019-07-18 15:32:22 +03:00
mysys_err.h MDEV-7947 strcmp() takes 0.37% in OLTP RO 2020-07-23 10:54:33 +03:00
pack.h
password.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
pfs_file_provider.h perfschema compilation, test and misc fixes 2020-03-10 19:24:23 +01:00
pfs_idle_provider.h P_S 5.7.28 2020-03-10 19:24:22 +01:00
pfs_memory_provider.h P_S 5.7.28 2020-03-10 19:24:22 +01:00
pfs_metadata_provider.h P_S 5.7.28 2020-03-10 19:24:22 +01:00
pfs_socket_provider.h P_S 5.7.28 2020-03-10 19:24:22 +01:00
pfs_stage_provider.h P_S 5.7.28 2020-03-10 19:24:22 +01:00
pfs_statement_provider.h P_S 5.7.28 2020-03-10 19:24:22 +01:00
pfs_table_provider.h P_S 5.7.28 2020-03-10 19:24:22 +01:00
pfs_thread_provider.h Merge branch 'merge-perfschema-5.7' into 10.5 2022-08-02 09:34:15 +02:00
pfs_transaction_provider.h cleanup: pass trxid by value 2020-03-10 19:24:23 +01:00
probes_mysql.d.base Update FSF Address 2019-05-11 21:29:06 +03:00
probes_mysql.h Update FSF Address 2019-05-11 21:29:06 +03:00
probes_mysql_nodtrace.h.in
queues.h header typos 2022-12-20 08:55:48 +11:00
rijndael.h Update FSF Address 2019-05-11 21:29:06 +03:00
scope.h MDEV-18543 IMPORT TABLESPACE fails after instant DROP COLUMN 2021-10-26 22:50:58 +06:00
service_versions.h Merge branch '10.6' into 10.7 2022-11-02 21:06:47 +01:00
source_revision.h.in
span.h span cleanup 2020-05-15 16:25:32 +03:00
sql_common.h MDEV-19275 Provide SQL service to plugins. 2021-10-19 17:35:06 +02:00
ssl_compat.h MDEV-25785 Add support for OpenSSL 3.0 2022-07-04 12:49:11 +02:00
sslopt-case.h MDEV-25511: Command line tools don't support CRL parameters 2021-05-31 08:29:37 +02:00
sslopt-longopts.h Merge 10.9 into 10.10 2022-12-07 09:49:38 +02:00
sslopt-vars.h MDEV-27105 --ssl option set as default for mariadb CLI 2022-07-28 17:18:39 +02:00
t_ctype.h Update FSF Address 2019-05-11 21:29:06 +03:00
thr_alarm.h MDEV-25602 get rid of __WIN__ in favor of standard _WIN32 2021-06-06 13:21:03 +02:00
thr_lock.h MDEV-13115: Implement SELECT SKIP LOCKED 2021-04-08 16:51:36 +10:00
thr_timer.h MDEV-16264 - prerequisite patch, periodic thr_timer 2019-11-15 16:50:22 +01:00
typelib.h Added 'const' to arguments in get_one_option and find_typeset() 2021-02-08 12:16:29 +02:00
violite.h MDEV-25602 get rid of __WIN__ in favor of standard _WIN32 2021-06-06 13:21:03 +02:00
waiting_threads.h header typos 2022-12-20 08:55:48 +11:00
welcome_copyright_notice.h MDEV-30153 ad hoc client versions are confusing 2023-01-19 12:39:37 +01:00
wqueue.h Merge 10.2 into 10.3 2019-05-14 17:18:46 +03:00
wsrep.h Reduce compilation dependencies on wsrep_mysqld.h 2022-08-31 11:05:23 +03:00