Hi, Sergey! On Jan 30, Sergey Vojtovich wrote:
The assumption above looks a bit risky without any way to enforce it.
Perhaps you could make in_use private (renaming to, say, m_in_use) and add an inline getter method TABLE::in_use() that in debug builds will assert that your assumption holds? Like DBUG_ASSERT(table->in_use == current_thd || (table->s->flushed && table->in_use))?
Exactly.
I would gladly do that, but that's quite big change which will also affect many storage engines, at least federated, maria, myisam, sphinx, oqgraph, connect, merge, spider, cassandra, tokudb.
Hmm, indeed. connect, tokudb, merge, federated, cassandra, sphinx, and, partially, other engines, should use ha_thd() handler's method instead of table->in_use. Still, spider, maria, myisam, oqgraph cannot always do that, and have to use table->in_use.
If it isn't a problem I'd prefer to create a separate patch.
Of course. Regards, Sergei