WL#10837: Deprecate query cache

Affects: Server-8.0   —   Status: Complete

Proposed changes:

  1. Deprecation warnings in the parser:
    • on SQL_CACHE and SQL_NO_CACHE syntax,
    • on references to QC-related system variables.
  2. Deprecation warnings in the command line help text of the mysqld program.

5.7

Add deprecation "no replacement" warnings to:

  1. SQL_CACHE and SQL_NO_CACHE syntax in the parser,

  2. any references to any QC-related system variables and help texts for their command-line counterparts:

    • have_query_cache

    • query_cache_limit

    • query_cache_min_res_unit

    • query_cache_size

    • query_cache_type

    • query_cache_wlock_invalidate

  3. assignments to ndb_cache_check_time and its help text

  4. {RESET, FLUSH} QUERY CACHE statements.

Note in the documentation, that QC-related variables (SHOW STATUS LIKE 'qc%') will be removed in the future release:

  • Qcache_free_blocks

  • Qcache_free_memory

  • Qcache_hits

  • Qcache_inserts

  • Qcache_lowmem_prunes

  • Qcache_not_cached

  • Qcache_queries_in_cache

  • Qcache_total_blocks

8.0

Since 8.0 still has (i.e. silently ignores) the SQL_NO_CACHE syntax and always returns false on the have_query_cache variable, maintain deprecation warnings for both like we do in 5.7 for a while.