mariadb/storage/spider
Monty f36ca142f7 Added page_range to records_in_range() to improve range statistics
Prototype change:
-  virtual ha_rows records_in_range(uint inx, key_range *min_key,
-                                   key_range *max_key)
+  virtual ha_rows records_in_range(uint inx, const key_range *min_key,
+                                   const key_range *max_key,
+                                   page_range *res)

The handler can ignore the page_range parameter. In the case the handler
updates the parameter, the optimizer can deduce the following:
- If previous range's last key is on the same block as next range's first
  key
- If the current key range is in one block
- We can also assume that the first and last block read are cached!
  This can be used for a better calculation of IO seeks when we
  estimate the cost of a range index scan.

The parameter is fully implemented for MyISAM, Aria and InnoDB.
A separate patch will update handler::multi_range_read_info_const() to
take the benefits of this change and also remove the double
records_in_range() calls that are not anymore needed.
2020-03-27 03:54:45 +02:00
..
hs_client
mysql-test/spider
scripts
CMakeLists.txt
configure.in
ha_spider.cc Added page_range to records_in_range() to improve range statistics 2020-03-27 03:54:45 +02:00
ha_spider.h Added page_range to records_in_range() to improve range statistics 2020-03-27 03:54:45 +02:00
Makefile.am
spd_conn.cc
spd_conn.h
spd_copy_tables.cc
spd_copy_tables.h
spd_db_conn.cc Added page_range to records_in_range() to improve range statistics 2020-03-27 03:54:45 +02:00
spd_db_conn.h Added page_range to records_in_range() to improve range statistics 2020-03-27 03:54:45 +02:00
spd_db_handlersocket.cc Added page_range to records_in_range() to improve range statistics 2020-03-27 03:54:45 +02:00
spd_db_handlersocket.h Added page_range to records_in_range() to improve range statistics 2020-03-27 03:54:45 +02:00
spd_db_include.cc
spd_db_include.h Added page_range to records_in_range() to improve range statistics 2020-03-27 03:54:45 +02:00
spd_db_mysql.cc Added page_range to records_in_range() to improve range statistics 2020-03-27 03:54:45 +02:00
spd_db_mysql.h Added page_range to records_in_range() to improve range statistics 2020-03-27 03:54:45 +02:00
spd_db_oracle.cc Added page_range to records_in_range() to improve range statistics 2020-03-27 03:54:45 +02:00
spd_db_oracle.h Added page_range to records_in_range() to improve range statistics 2020-03-27 03:54:45 +02:00
spd_direct_sql.cc
spd_direct_sql.h
spd_environ.h
spd_err.h
spd_group_by_handler.cc
spd_group_by_handler.h
spd_i_s.cc
spd_include.h
spd_init_query.h
spd_malloc.cc
spd_malloc.h
spd_param.cc
spd_param.h
spd_ping_table.cc
spd_ping_table.h
spd_sys_table.cc
spd_sys_table.h
spd_table.cc
spd_table.h
spd_trx.cc
spd_trx.h
spd_udf.cc
spd_udf.def
spd_udf.h