mini\Table\Wrappers\ExistsTable
class
Documentation
Filters outer table rows based on existence in inner table
Implements WHERE EXISTS / NOT EXISTS semantics with memory-bounded algorithms:
- Sort-merge when at least one side is indexed on correlation column
- Block hash when neither side is indexed (processes outer in chunks)
// EXISTS (SELECT 1 FROM t2 WHERE t2.id = t1.id AND t2.cat = 'C5')
$filtered = $innerTable->eq('cat', 'C5');
$result = new ExistsTable($outerTable, $filtered, [['t1.id', 't2.id']], false);
// NOT EXISTS
$result = new ExistsTable($outerTable, $filtered, [['t1.id', 't2.id']], true);
Inheritance
Extends: mini\Table\AbstractTable
Implements:
mini\Table\Contracts\SetInterface
IteratorAggregate
Countable
Traversable
mini\Table\Contracts\TableInterface
Properties (7)
array $correlations
bool $negated
Closure $compareFn
int $limit
int $offset
Methods (40)
Documentation missing
Documentation missing
Sort-merge EXISTS: sort both sides and merge to find matches
Sort-merge NOT EXISTS: yield outer rows that have NO match in inner
Block hash EXISTS: process outer in chunks, scan inner for each chunk
Build composite hash key from row values
Documentation missing
Documentation missing
Documentation missing
Documentation missing
Documentation missing
Documentation missing
Documentation missing
Documentation missing
Documentation missing
Documentation missing
Documentation missing
public
__clone()
inherited from Table\AbstractTable
Hook for subclasses to customize clone behavior
public
getRowKeyColumns()
inherited from Table\AbstractTable
Get column name(s) that the row key represents
protected
getCompareFn()
inherited from Table\AbstractTable
Get the string comparison function for sorting
public
limit()
inherited from Table\AbstractTable
Documentation missing
public
offset()
inherited from Table\AbstractTable
Documentation missing
public
getLimit()
inherited from Table\AbstractTable
Documentation missing
public
getOffset()
inherited from Table\AbstractTable
Documentation missing
public
withAlias()
inherited from Table\AbstractTable
Documentation missing
public
getTableAlias()
inherited from Table\AbstractTable
Get the current table alias (null if not set)
public
union()
inherited from Table\AbstractTable
Documentation missing
public
except()
inherited from Table\AbstractTable
Documentation missing
public
distinct()
inherited from Table\AbstractTable
Documentation missing
public
exists()
inherited from Table\AbstractTable
Documentation missing
public
has()
inherited from Table\AbstractTable
Check if value(s) exist in the table's projected columns
protected
getPrimaryKeyColumn()
inherited from Table\AbstractTable
Get the primary key column definition (cached)
public
final
getIterator()
inherited from Table\AbstractTable
Iterate over rows with visible columns only
public
getColumns()
inherited from Table\AbstractTable
Get columns available for output
public
getAllColumns()
inherited from Table\AbstractTable
Get all column definitions regardless of projection
public
columns()
inherited from Table\AbstractTable
Narrow to specific columns
public
load()
inherited from Table\AbstractTable
Load a single row by its row ID
public
getProperty()
inherited from Table\AbstractTable
Get a property value
public
hasProperty()
inherited from Table\AbstractTable
Check if a property exists (including null values)
public
withProperty()
inherited from Table\AbstractTable
Return table with property set