@Deprecated public class IVBindingSetEncoderWithIVCache extends IVBindingSetEncoder
BTree
s to store the mapping
from an IV
to the cached RDF Value
. This approach is useful
when you will be encoding a LOT of data and you need to get the cached RDF
Value
objects off of the JVM heap.
Note: Two different BTree
instances are used. One for TermId
s
and another for BlobIV
s. These indices use exactly the same schema as
the ID2TERM and BLOBS indices.
AST2BOpUtility
update process whenever we set up an analytic hash join.Modifier and Type | Field and Description |
---|---|
protected LinkedHashSet<IVariable<?>> |
ivCacheSchema
Deprecated.
The set of variables for which materialized
IV s have been
observed. |
filter, vf
Constructor and Description |
---|
IVBindingSetEncoderWithIVCache(IRawStore store,
boolean filter,
BOp op)
Deprecated.
|
Modifier and Type | Method and Description |
---|---|
void |
flush()
Deprecated.
Flush any updates.
|
boolean |
isValueCache()
Deprecated.
Return
true iff the IVCache associations are
preserved by the encoder. |
void |
release()
Deprecated.
Release the state associated with the
IVBindingSetEncoder . |
void |
resolveCachedValues(IBindingSet bset)
Deprecated.
Resolve any
IV s in the solution for which there are cached
BigdataValue s to those values. |
void |
saveSolutionSet()
Deprecated.
|
String |
toString()
Deprecated.
|
decodeSolution, encodeSolution, encodeSolution
protected final LinkedHashSet<IVariable<?>> ivCacheSchema
IV
s have been
observed.public IVBindingSetEncoderWithIVCache(IRawStore store, boolean filter, BOp op)
store
- The backing IRawStore
for the IV
to
BigdataValue
cache.filter
- true
iff this is in support of a DISTINCT filter.
Note: we do not maintain the ivCacheSchema
for a
DISTINCT filter since the original solutions flow through the
filter.
op
- The operator whose annotations are used to parameterize the
creation of the backing indices for the IV
to
BigdataValue
cache.public boolean isValueCache()
true
iff the IVCache
associations are
preserved by the encoder.
This implementation does not maintain the IVCache
associations.
This maintains the IVCache
associations UNLESS
filter:=true was specified to the constructor.
isValueCache
in interface IBindingSetDecoder
isValueCache
in interface IBindingSetEncoder
isValueCache
in class IVBindingSetEncoder
public void saveSolutionSet()
public void release()
IBindingSetEncoder
IVBindingSetEncoder
.release
in interface IBindingSetDecoder
release
in interface IBindingSetEncoder
release
in class IVBindingSetEncoder
public void flush()
IVCache
associations.
Vectored update of the internal ivCache.
flush
in interface IBindingSetEncoder
flush
in class IVBindingSetEncoder
public void resolveCachedValues(IBindingSet bset)
IV
s in the solution for which there are cached
BigdataValue
s to those values. This method may be used to resolve
IVCache
associations for IBindingSet
s NOT produced by
IBindingSetDecoder.decodeSolution(byte[], int, int, boolean)
. For example, when
joining a decoded solution with another solution, the resolution step may
be deferred until we know whether or not the join was successful.
Note: This implementation is a NOP as the IVCache
association
is NOT maintained by this class.
TODO If we vectored this operation it would substantially reduce its
costs. We would have to collect up a bunch of solutions which needed
resolution, then collect up the IVs which do not have cached values for
variables which might have values in the ivCache. We would then sort the
IVs and do a vectored resolution against the ivCache. Finally, the
solutions could be output in a chunk with their resolved Values.
If the operator is not vectored, then we should just fold it into
#decodeSolution(byte[], int, int)
.
resolveCachedValues
in interface IBindingSetDecoder
resolveCachedValues
in class IVBindingSetEncoder
bset
- A solution having IV
s which need to be reunited with
their cached BigdataValue
s.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.