mariadb/mysql-test/suite
bsrikanth-mariadb 120dc073c2 MDEV-36523: Load basic stats from trace into optimizer
This task loads the stats of the tables that are used in a query, from the trace into the optimizer.
This feature is also controlled by optimizer_record_context, and is not enabled by default. The stats
such as num_of_records present in the table, indexes if present then their names, along with the average number of records_per_key with in each index are loaded from the trace. Additionally, stats from range analysis i.e. ranges, and the corresponding number of records are also loaded from the trace.

The trace context which is in JSON format is firstly set into the session variable optimizer_trace_stored_context. Later, when a user issues a query, the contents of optimizer_trace_stored_context variable is parsed and an in memory representation is build using the class Optimizer_Trace_Stored_Context_Extractor. This class is then used by the optimizer to update and save original values of the tables, indexes, and range stats in the methods "set_statistics_for_table()" of sql_statistics.cc, and "check_quick_select()" of opt_range.cc. After the query gets finished, the statistics that were updated in the optimizer are restored back to the saved original values.

The entry point for parsing the json structure is in "mysql_execute_command()" of sql_parse.cc, and similarly exit point i.e. to restore the saved stats of the optimizer is at the end of the same method.
2025-09-01 07:50:54 +05:30
..
archive Merge remote-tracking branch 'github/bb-11.4-release' into bb-11.8-serg 2025-04-27 19:40:00 +02:00
atomic Fix the test: changing charset should be dome when we can not skip the test. 2025-05-09 07:36:15 +02:00
binlog MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
binlog_encryption MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
client Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
compat mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
csv mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
encryption mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
engines MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
events MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
federated MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
funcs_1 cleanup: disconnect before DROP USER 2025-07-16 09:14:33 +07:00
funcs_2 Merge 11.4 into 11.8 2025-04-02 14:07:01 +03:00
galera MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
galera_3nodes Merge branch '11.8' into 12.0 2025-06-18 07:50:39 +02:00
galera_3nodes_sr Merge 11.4 into 11.8 2025-04-02 14:07:01 +03:00
galera_sr Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
gcol MDEV-36132 Substitute vcol expressions with indexed vcol fields in ORDER BY and GROUP BY 2025-07-22 10:44:12 +10:00
handler mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
heap Merge branch '11.4' into 11.7 2025-02-06 16:46:36 +01:00
innodb cleanup: disconnect before DROP USER 2025-07-16 09:14:33 +07:00
innodb_fts mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
innodb_gis mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
innodb_i_s
innodb_zip Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
jp Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
json Merge branch '11.8' into 12.0 2025-05-22 09:22:55 +02:00
large_tests
maria MDEV-24 Segmented key cache for Aria 2025-06-25 17:59:45 +03:00
mariabackup mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
merge mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
mtr/t Remove dates from all rdiff files 2025-01-05 16:40:11 +02:00
mtr2
multi_source MDEV-35304: Fix multi_source.connects_tried 2025-04-29 11:00:37 -06:00
optimizer_unfixed_bugs
parts Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
perfschema cleanup: disconnect before DROP USER 2025-07-16 09:14:33 +07:00
perfschema_stress remove features that were deprecated in 10.5 2025-04-29 16:53:02 +02:00
period Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00
plugins MDEV-9804 Implement a caching_sha2_password plugin 2025-07-27 13:57:06 +02:00
roles MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
rpl MDEV-35617: DROP USER should leave no active session for that user 2025-07-16 09:14:33 +07:00
s3 Merge branch '11.8' into 12.0 2025-06-18 07:50:39 +02:00
sql_sequence cleanup: disconnect before DROP USER 2025-07-16 09:14:33 +07:00
storage_engine mariadb-test: wait on disconnect 2025-07-16 09:14:33 +07:00
stress MDEV-34453 Trying to read 16384 bytes at 70368744161280 outside the bounds of the file: ./ibdata1 2024-09-20 20:26:43 +05:30
sys_vars MDEV-36523: Load basic stats from trace into optimizer 2025-09-01 07:50:54 +05:30
sysschema MDEV-34888 Implement SEMIJOIN() and SUBQUERY() hints 2025-05-05 12:02:47 +07:00
unit
vcol MDEV-36132 Substitute vcol expressions with indexed vcol fields in ORDER BY and GROUP BY 2025-07-22 10:44:12 +10:00
versioning cleanup: disconnect before DROP USER 2025-07-16 09:14:33 +07:00
wsrep Fix typos in mysql-test/ 2025-04-29 13:53:16 +10:00