WL#8481: Callback for computation of virtual column index values from InnoDB purge threads

Affects: Server-Prototype Only   —   Status: Complete

InnoDB needs to be able to compute virtual column index values to implement
WL#8149 B-tree Index Support on non-materialized virtual columns

Generally this is done from connection threads. This is handled by
WL#8227 Support SEs to create index on virtual generated columns

However it also needs to happen from InnoDB purge threads. These threads
do not correspond to connections, and thus don't have THDs or access to TABLE
objects.

This WL is about providing a server layer functions that can be called by
purge threads. These functions will provide:
- A way to construct and destroy THD objects
- A way to do virtual column index value computation when no TABLE object is
  available. This includes taking a metadata lock on the table, opening the
  table, doing computation (see WL#8227), releasing lock and closing table.

These server layer functions will not be a part of a public API, but only
designed from use from InnoDB.

Opening and closing the table for every call can be costly, but prototyping
of WL#8149 shows that this processing will be done very rarely. Then it is
advantageous to do it the way described above as it minimizes lock duration.