public class BlobsWriteProc extends AbstractKeyArrayIndexProcedure<BlobsWriteProc.Result> implements IParallelizableIndexProcedure<BlobsWriteProc.Result>, IMutableRelationIndexWriteProcedure<BlobsWriteProc.Result>
Values into the
 {termCode,hash(Value),counter}:Value index, assigning IVs to
 Values as a side-effect.
 
 Note that it is perfectly possible that a concurrent client will overlap in
 the terms being inserted. The results will always be fully consistent if the
 rules of the road are observed since (a) unisolated operations are
 single-threaded; and (b) IVs are assigned in an unisolated atomic
 operation by BlobsWriteProc.
| Modifier and Type | Class and Description | 
|---|---|
| static class  | BlobsWriteProc.BlobsWriteProcConstructor | 
| static class  | BlobsWriteProc.ResultObject encapsulates the discovered / assigned  IVs and provides
 efficient serialization for communication of those data to the client. | 
AbstractKeyArrayIndexProcedure.ResultBitBuffer, AbstractKeyArrayIndexProcedure.ResultBitBufferCounter, AbstractKeyArrayIndexProcedure.ResultBitBufferHandler, AbstractKeyArrayIndexProcedure.ResultBuffer, AbstractKeyArrayIndexProcedure.ResultBufferHandler| Modifier | Constructor and Description | 
|---|---|
|   | BlobsWriteProc()De-serialization constructor. | 
| protected  | BlobsWriteProc(IRabaCoder keySer,
              IRabaCoder valSer,
              int fromIndex,
              int toIndex,
              byte[][] keys,
              byte[][] vals,
              boolean readOnly,
              boolean storeBlankNodes) | 
| Modifier and Type | Method and Description | 
|---|---|
| BlobsWriteProc.Result | applyOnce(IIndex ndx,
         IRaba keys,
         IRaba vals)For each term whose serialized key is mapped to the current index
 partition, lookup the term in the terms index. | 
| boolean | isReadOnly()Return  trueiff the procedure asserts that it will not
 write on the index. | 
| boolean | isToldBNodes() | 
| protected IResultHandler<BlobsWriteProc.Result,BlobsWriteProc.Result> | newAggregator()Split-wise aggregation followed by combining the results across
 those splits in order to return an aggregated result whose counters[] is
 1:1 with the original keys[][]. | 
| protected void | readMetadata(ObjectInput in)Reads metadata written by  AbstractKeyArrayIndexProcedure.writeMetadata(ObjectOutput). | 
| protected void | writeMetadata(ObjectOutput out)Writes metadata (not the keys or values, but just other metadata used by
 the procedure). | 
apply, getKeys, getKeysCoder, getValues, getValuesCoder, readExternal, writeExternalclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitapplypublic BlobsWriteProc()
protected BlobsWriteProc(IRabaCoder keySer, IRabaCoder valSer, int fromIndex, int toIndex, byte[][] keys, byte[][] vals, boolean readOnly, boolean storeBlankNodes)
public final boolean isReadOnly()
IReadOnlytrue iff the procedure asserts that it will not
 write on the index. When true, the procedure may be run
 against a view of the index that is read-only or which allows concurrent
 processes to read on the same index object. When false the
 procedure will be run against a mutable view of the index (assuming that
 the procedure is executed in a context that has access to a mutable index
 view).isReadOnly in interface IReadOnlypublic final boolean isToldBNodes()
public BlobsWriteProc.Result applyOnce(IIndex ndx, IRaba keys, IRaba vals)
IV. Otherwise, note the of terms in the
 collision bucket, and insert {hash(term),counter},term} entry into the
 terms index.applyOnce in class AbstractKeyArrayIndexProcedure<BlobsWriteProc.Result>ndx - The terms index.BlobsWriteProc.Result, which contains the discovered / assigned term
         identifiers.
 
         TODO There is no point sending bnodes when readOnly and NOT in
         told bnodes mode because the caller is unable to unify a blank
         node with an entry in the index.protected void readMetadata(ObjectInput in) throws IOException, ClassNotFoundException
AbstractKeyArrayIndexProcedureAbstractKeyArrayIndexProcedure.writeMetadata(ObjectOutput).readMetadata in class AbstractKeyArrayIndexProcedure<BlobsWriteProc.Result>IOExceptionClassNotFoundExceptionprotected void writeMetadata(ObjectOutput out) throws IOException
 The default implementation writes toIndex - fromIndex,
 which is the #of keys.
writeMetadata in class AbstractKeyArrayIndexProcedure<BlobsWriteProc.Result>out - IOExceptionprotected IResultHandler<BlobsWriteProc.Result,BlobsWriteProc.Result> newAggregator()
Split-wise aggregation followed by combining the results across
 those splits in order to return an aggregated result whose counters[] is
 1:1 with the original keys[][].newAggregator in class AbstractKeyArrayIndexProcedure<BlobsWriteProc.Result>IResultHandler -or- nullNopAggregator, 
IParallelizableIndexProcedure, 
(Schedule more IOs when loading data)Copyright © 2006–2019 SYSTAP, LLC DBA Blazegraph. All rights reserved.