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
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.