Package | Description |
---|---|
org.modeshape.jcr.query |
The Query API provides a mechanism for building and executing queries.
|
org.modeshape.jcr.query.engine |
This package contains several fully-functional query engine implementations.
|
org.modeshape.jcr.query.engine.process |
When executing a query, the processing phase involves "running" each branch in the optimized query plan, determining
the set of nodes that satisfies each branch, and then joining each branch into a single result.
|
Modifier and Type | Class and Description |
---|---|
protected static class |
NodeSequence.AlternateSizeBatch |
protected static class |
NodeSequence.LimitBatch |
protected static class |
NodeSequence.MultiWidthBatch |
protected static class |
NodeSequence.SingleWidthBatch |
Modifier and Type | Field and Description |
---|---|
protected NodeSequence.Batch |
JcrQueryResult.AbstractRow.batchAtRow |
Modifier and Type | Method and Description |
---|---|
static NodeSequence.Batch |
NodeSequence.batchFilteredWith(NodeSequence.Batch batch,
NodeSequence.RowFilter filter)
Create a batch that applies the given filter to the supplied batch.
|
static NodeSequence.Batch |
NodeSequence.batchOf(Collection<CachedNode> nodes,
float score,
String workspaceName)
Create a batch of nodes around the supplied iterable container.
|
static NodeSequence.Batch |
NodeSequence.batchOf(Iterator<CachedNode> nodes,
long nodeCount,
float score,
String workspaceName)
Create a batch of nodes around the supplied iterator.
|
protected static NodeSequence.Batch |
NodeSequence.batchOf(NodeSequence.Batch first,
NodeSequence.Batch second,
int firstWidth,
int secondWidth) |
static NodeSequence.Batch |
NodeSequence.batchOfKeys(Collection<NodeKey> keys,
float score,
String workspaceName,
RepositoryCache repository)
Create a batch of nodes around the supplied iterable container.
|
static NodeSequence.Batch |
NodeSequence.batchOfKeys(Iterator<NodeKey> keys,
Iterator<Float> scores,
long nodeCount,
String workspaceName,
RepositoryCache repository)
Create a batch of nodes around the supplied iterator and the scores iterator.
|
static NodeSequence.Batch |
NodeSequence.batchOfKeys(Iterator<NodeKey> keys,
long nodeCount,
float score,
String workspaceName,
NodeCache cache)
Create a batch of nodes around the supplied iterator.
|
static NodeSequence.Batch |
NodeSequence.batchOfKeys(Iterator<NodeKey> keys,
long nodeCount,
float score,
String workspaceName,
RepositoryCache repository)
Create a batch of nodes around the supplied iterator.
|
static NodeSequence.Batch |
NodeSequence.batchWithCount(NodeSequence.Batch batch)
Create a batch that always has a
rowCount() , even if that means returning a new Batch that buffers the
original's rows it into memory. |
static NodeSequence.Batch |
NodeSequence.copy(NodeSequence.Batch batch)
Create a copy of a batch that always has a
rowCount() . |
static NodeSequence.Batch |
NodeSequence.emptyBatch(String workspaceName,
int width)
Get a batch of nodes that is empty.
|
protected NodeSequence.Batch |
JcrQueryResult.QueryResultIterator.findNextBatch() |
protected NodeSequence.Batch |
JcrQueryResult.QueryResultIterator.moveToNextRow() |
abstract NodeSequence.Batch |
NodeSequence.nextBatch()
Get the next batch of
NodeKey instances. |
protected static NodeSequence.Batch |
NodeSequence.slicingBatch(NodeSequence.Batch original,
int[] selectorIndexes) |
Modifier and Type | Method and Description |
---|---|
protected void |
NodeSequence.SingleWidthBatch.addRow(NodeSequence.Batch batch) |
protected void |
NodeSequence.MultiWidthBatch.addRow(NodeSequence.Batch batch) |
static NodeSequence.Batch |
NodeSequence.batchFilteredWith(NodeSequence.Batch batch,
NodeSequence.RowFilter filter)
Create a batch that applies the given filter to the supplied batch.
|
protected static NodeSequence.Batch |
NodeSequence.batchOf(NodeSequence.Batch first,
NodeSequence.Batch second,
int firstWidth,
int secondWidth) |
static NodeSequence.Batch |
NodeSequence.batchWithCount(NodeSequence.Batch batch)
Create a batch that always has a
rowCount() , even if that means returning a new Batch that buffers the
original's rows it into memory. |
static NodeSequence.Batch |
NodeSequence.copy(NodeSequence.Batch batch)
Create a copy of a batch that always has a
rowCount() . |
protected Row |
JcrQueryResult.QueryResultRowIterator.createRow(NodeSequence.Batch batch) |
protected Row |
JcrQueryResult.SingleSelectorQueryResultRowIterator.createRow(NodeSequence.Batch batch) |
boolean |
NodeSequence.RowFilter.isCurrentRowValid(NodeSequence.Batch batch)
Determine if the current row in the given batch satisfies the filter and should be included in the results.
|
protected static NodeSequence.Batch |
NodeSequence.slicingBatch(NodeSequence.Batch original,
int[] selectorIndexes) |
static NodeSequence |
NodeSequence.withBatch(NodeSequence.Batch sequence)
Create a sequence of nodes that returns the supplied single batch of nodes.
|
Modifier and Type | Method and Description |
---|---|
static NodeSequence |
NodeSequence.withBatches(Collection<NodeSequence.Batch> batches,
int width)
Create a sequence of nodes that iterates over the supplied batches of nodes.
|
static NodeSequence |
NodeSequence.withBatches(Iterator<NodeSequence.Batch> batches,
int width,
long rowCount)
Create a sequence of nodes that iterates over the supplied batches of nodes.
|
Constructor and Description |
---|
JcrQueryResult.AbstractRow(JcrQueryResult.QueryResultRowIterator iterator,
NodeSequence.Batch batchAtRow) |
JcrQueryResult.MultiSelectorQueryResultRow(JcrQueryResult.QueryResultRowIterator iterator,
NodeSequence.Batch batchAtRow) |
JcrQueryResult.SingleSelectorQueryResultRow(JcrQueryResult.QueryResultRowIterator iterator,
NodeSequence.Batch batchAtRow,
int selectorIndex) |
NodeSequence.AlternateSizeBatch(NodeSequence.Batch original,
long newSize) |
NodeSequence.LimitBatch(NodeSequence.Batch original,
long rowCount,
boolean sizeKnown) |
NodeSequence.MultiWidthBatch(NodeSequence.Batch batch) |
NodeSequence.SingleWidthBatch(NodeSequence.Batch batch) |
Modifier and Type | Method and Description |
---|---|
protected NodeSequence.Batch |
QuerySources.BatchWriter.convertToBatch(boolean isLast) |
NodeSequence.Batch |
QuerySources.BatchWriter.popPreloadedBatch() |
Modifier and Type | Method and Description |
---|---|
boolean |
ScanningQueryEngine.DynamicOperandFilter.isCurrentRowValid(NodeSequence.Batch batch) |
boolean |
ScanningQueryEngine.RowFilterSupplier.isCurrentRowValid(NodeSequence.Batch batch) |
Modifier and Type | Class and Description |
---|---|
protected class |
HashJoinSequence.HashCrossJoinBatch
A batch that contains rows that will have no left value and a right value.
|
protected class |
HashJoinSequence.HashJoinBatch
A batch that contains rows that will have a left value and a right value.
|
protected class |
HashJoinSequence.HashJoinRangeBatch
A batch that contains rows that will have a left value and a right value.
|
protected class |
HashJoinSequence.RightRowsBatch
A batch that contains rows that will have no left value and a right value.
|
protected class |
IntersectSequence.IntersectBatch
A batch implementation which wraps the left batch, but return rows from the matching keys from the right.
|
protected class |
JoinSequence.LeftOnlyBatch |
protected class |
JoinSequence.RightOnlyBatch |
Modifier and Type | Field and Description |
---|---|
protected NodeSequence.Batch |
JoinSequence.currentLeft |
Modifier and Type | Field and Description |
---|---|
protected Queue<NodeSequence.Batch> |
RestartableSequence.inMemoryBatches |
Modifier and Type | Method and Description |
---|---|
protected NodeSequence.Batch |
RestartableSequence.batchFrom(Iterator<BufferedRows.BufferedRow> rows,
long maxBatchSize) |
protected NodeSequence.Batch |
CountableSequence.batchFrom(Iterator<BufferedRows.BufferedRow> rows,
long maxBatchSize) |
protected NodeSequence.Batch |
BufferingSequence.batchFrom(Iterator<BufferedRows.BufferedRow> rows,
long maxBatchSize) |
protected NodeSequence.Batch |
IntersectSequence.batchWrapper(NodeSequence.Batch leftBatch) |
protected NodeSequence.Batch |
ExceptSequence.batchWrapper(NodeSequence.Batch leftBatch) |
protected abstract NodeSequence.Batch |
AbstractNodeKeysSequence.batchWrapper(NodeSequence.Batch leftBatch) |
protected NodeSequence.Batch |
HashJoinSequence.HashJoinBatchFactory.createBatch(NodeSequence.Batch leftBatch) |
protected NodeSequence.Batch |
HashJoinSequence.HashJoinRangeBatchFactory.createBatch(NodeSequence.Batch leftBatch) |
protected NodeSequence.Batch |
HashJoinSequence.HashCrossJoinBatchFactory.createBatch(NodeSequence.Batch leftBatch) |
protected NodeSequence.Batch |
PartialMemoryCountableSequence.doNextBatch() |
protected NodeSequence.Batch |
CountableSequence.doNextBatch() |
protected NodeSequence.Batch |
JoinSequence.findNextNonEmptyLeftBatch() |
NodeSequence.Batch |
SortingSequence.nextBatch() |
NodeSequence.Batch |
SecureSequence.nextBatch() |
NodeSequence.Batch |
RestartableSequence.nextBatch() |
NodeSequence.Batch |
RestartableSequence.BatchSequence.nextBatch() |
NodeSequence.Batch |
JoinSequence.nextBatch() |
NodeSequence.Batch |
JoinSequence.BatchFactory.nextBatch()
Get the next batch.
|
NodeSequence.Batch |
JoinSequence.EmptyBatchFactory.nextBatch() |
NodeSequence.Batch |
JoinSequence.RightOnlyBatchFactory.nextBatch() |
NodeSequence.Batch |
JoinSequence.LeftOnlyBatchFactory.nextBatch() |
NodeSequence.Batch |
HashJoinSequence.HashJoinBatchFactory.nextBatch() |
NodeSequence.Batch |
DistinctSequence.nextBatch() |
NodeSequence.Batch |
DependentQuery.nextBatch() |
NodeSequence.Batch |
DelegatingSequence.nextBatch() |
NodeSequence.Batch |
CountableSequence.nextBatch() |
NodeSequence.Batch |
AbstractNodeKeysSequence.nextBatch() |
Modifier and Type | Method and Description |
---|---|
protected NodeSequence.Batch |
IntersectSequence.batchWrapper(NodeSequence.Batch leftBatch) |
protected NodeSequence.Batch |
ExceptSequence.batchWrapper(NodeSequence.Batch leftBatch) |
protected abstract NodeSequence.Batch |
AbstractNodeKeysSequence.batchWrapper(NodeSequence.Batch leftBatch) |
protected NodeSequence.Batch |
HashJoinSequence.HashJoinBatchFactory.createBatch(NodeSequence.Batch leftBatch) |
protected NodeSequence.Batch |
HashJoinSequence.HashJoinRangeBatchFactory.createBatch(NodeSequence.Batch leftBatch) |
protected NodeSequence.Batch |
HashJoinSequence.HashCrossJoinBatchFactory.createBatch(NodeSequence.Batch leftBatch) |
protected BufferedRows.BufferedRow |
RestartableSequence.createRow(NodeSequence.Batch currentRow) |
protected BufferedRows.BufferedRow |
CountableSequence.createRow(NodeSequence.Batch currentRow) |
protected BufferedRows.BufferedRow |
BufferingSequence.createRow(NodeSequence.Batch currentRow) |
T |
BufferedRows.BufferedRowFactory.createRow(NodeSequence.Batch currentRow) |
BufferedRows.SingleNodeRow |
BufferedRows.SingleNodeRowSerializer.createRow(NodeSequence.Batch currentRow) |
BufferedRows.DoubleNodeRow |
BufferedRows.DoubleNodeRowSerializer.createRow(NodeSequence.Batch currentRow) |
BufferedRows.TripleNodeRow |
BufferedRows.TripleNodeRowSerializer.createRow(NodeSequence.Batch currentRow) |
BufferedRows.QuadNodeRow |
BufferedRows.QuadNodeRowSerializer.createRow(NodeSequence.Batch currentRow) |
BufferedRows.MultiNodeRow |
BufferedRows.MultiNodeRowSerializer.createRow(NodeSequence.Batch currentRow) |
protected Object |
AbstractNodeKeysSequence.keyInLeftRow(NodeSequence.Batch leftBatch) |
protected long |
RestartableSequence.loadBatch(NodeSequence.Batch batch,
boolean loadIntoMemory,
AtomicReference<NodeSequence.Batch> copyOutput) |
Modifier and Type | Method and Description |
---|---|
protected long |
CountableSequence.loadAll(NodeSequence sequence,
BufferManager.QueueBuffer<BufferedRows.BufferedRow> buffer,
AtomicLong batchSize,
Queue<NodeSequence.Batch> inMemoryBatches,
int numRowsInMemory)
Load all of the rows from the supplied sequence into the buffer.
|
protected long |
RestartableSequence.loadBatch(NodeSequence.Batch batch,
boolean loadIntoMemory,
AtomicReference<NodeSequence.Batch> copyOutput) |
Constructor and Description |
---|
HashJoinSequence.HashCrossJoinBatch(NodeSequence.Batch currentLeft) |
HashJoinSequence.HashJoinBatch(NodeSequence.Batch currentLeft) |
HashJoinSequence.HashJoinRangeBatch(NodeSequence.Batch currentLeft) |
IntersectSequence.IntersectBatch(NodeSequence.Batch leftBatch) |
JoinSequence.LeftOnlyBatch(NodeSequence.Batch left) |
JoinSequence.RightOnlyBatch(NodeSequence.Batch right) |
Copyright © 2008-2014 JBoss, a division of Red Hat. All Rights Reserved.