@Deprecated public class IVBindingSetEncoderWithIVCache extends IVBindingSetEncoder
BTrees 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 TermIds
and another for BlobIVs. 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
IVs 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
IVs in the solution for which there are cached
BigdataValues to those values. |
void |
saveSolutionSet()
Deprecated.
|
String |
toString()
Deprecated.
|
decodeSolution, encodeSolution, encodeSolutionprotected final LinkedHashSet<IVariable<?>> ivCacheSchema
IVs 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 IBindingSetDecoderisValueCache in interface IBindingSetEncoderisValueCache in class IVBindingSetEncoderpublic void saveSolutionSet()
public void release()
IBindingSetEncoderIVBindingSetEncoder.release in interface IBindingSetDecoderrelease in interface IBindingSetEncoderrelease in class IVBindingSetEncoderpublic void flush()
IVCache associations.
Vectored update of the internal ivCache.
flush in interface IBindingSetEncoderflush in class IVBindingSetEncoderpublic void resolveCachedValues(IBindingSet bset)
IVs in the solution for which there are cached
BigdataValues to those values. This method may be used to resolve
IVCache associations for IBindingSets 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 IBindingSetDecoderresolveCachedValues in class IVBindingSetEncoderbset - A solution having IVs which need to be reunited with
their cached BigdataValues.Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.