mini\Database\VirtualDatabase::tryApplyExistsWithExistsTable() Method

private

Signature

private function tryApplyExistsWithExistsTable(mini\Table\Contracts\TableInterface $table, mini\Parsing\SQL\AST\ExistsOperation $node, mini\Parsing\SQL\AST\SelectStatement $subqueryAst, array $outerRefs): ?mini\Table\Contracts\TableInterface

Parameters

Name Type Default Description
$table mini\Table\Contracts\TableInterface required Documentation missing
$node mini\Parsing\SQL\AST\ExistsOperation required Documentation missing
$subqueryAst mini\Parsing\SQL\AST\SelectStatement required Documentation missing
$outerRefs array required Documentation missing

Returns

?mini\Table\Contracts\TableInterface

Documentation

Try to apply correlated EXISTS using ExistsTable (hash-based, much faster)

Works when correlation is simple equi-join(s) and other predicates are non-correlated. Returns null if ExistsTable approach is not applicable.

Source

src/Database/VirtualDatabase.php:3140-3244