@Override public String getMappingStr() { return index.getMappingStr() ; }
/** Indexes to a list of mappings suitable as a label */ /*package*/ static String indexMappings(TupleIndex[] indexes) { StringJoiner sj = new StringJoiner(", "); Arrays.stream(indexes).map(x->x.getMappingStr()).forEach(str->sj.add(str)); return sj.toString(); }
/** Set index - for code that manipulates internal structures directly - use with care */ public void setTupleIndex(int i, TupleIndex index) { if ( index != null && index.getTupleLength() != tupleLen ) throw new TDBException("Incompatible index: " + index.getMappingStr()) ; indexes[i] = index ; }
public NodeTupleTableConcrete(int N, TupleIndex[] indexes, NodeTable nodeTable) { if (indexes.length == 0 || indexes[0] == null) throw new TDBException("A primary index is required") ; for (TupleIndex index : indexes) { if (N != index.getTupleLength()) throw new TDBException(format("Inconsistent: TupleTable width is %d but index %s is %d", N, index.getMappingStr(), index.getTupleLength())) ; } this.tupleTable = new TupleTable(N, indexes) ; this.nodeTable = nodeTable ; }
public TupleTable(int tupleLen, TupleIndex[] indexes) { this.tupleLen = tupleLen ; this.indexes = indexes ; if ( indexes[0] == null ) throw new TDBException("TupleTable: no primary index") ; for ( TupleIndex index : indexes ) { if ( index != null && index.getTupleLength() != tupleLen ) throw new TDBException("Incompatible index: "+index.getMappingStr()) ; } scanAllIndex = chooseScanAllIndex(tupleLen, indexes) ; }