@Override public INormalizedKeyProperties getNormalizedKeyProperties() { return nkc.getNormalizedKeyProperties(); } };
@Override public INormalizedKeyProperties getNormalizedKeyProperties() { return nkc.getNormalizedKeyProperties(); } };
public static int[] createNormalizedKeyArray(INormalizedKeyComputer normalizer) { if (normalizer == null) { return null; //NOSONAR } return new int[normalizer.getNormalizedKeyProperties().getNormalizedKeyLength()]; }
public RunMergingFrameReader(IHyracksTaskContext ctx, List<? extends IFrameReader> runs, List<? extends IFrame> inFrames, int[] sortFields, IBinaryComparator[] comparators, INormalizedKeyComputer nmkComputer, RecordDescriptor recordDesc, int topK) { this.ctx = ctx; this.runCursors = runs; this.inFrames = inFrames; this.sortFields = sortFields; this.comparators = comparators; this.nmkComputer = nmkComputer; this.normalizedKeyLength = nmkComputer != null ? nmkComputer.getNormalizedKeyProperties().getNormalizedKeyLength() : 0; // right now we didn't take multiple key normalizers for frame merger, since during this step it won't be // too many cache misses (merging multiple runs sequentially). // but still, we can apply a special optimization if there is only 1 sort field this.normalizedKeyDecisive = nmkComputer != null ? nmkComputer.getNormalizedKeyProperties().isDecisive() && comparators.length == 1 : false; this.recordDesc = recordDesc; this.topK = topK; }
public ReferenceEntry(int runid, FrameTupleAccessor fta, int tupleIndex, int[] keyFields, INormalizedKeyComputer nmkComputer) { super(); this.runid = runid; this.acccessor = fta; this.normalizedKeyLength = nmkComputer != null ? nmkComputer.getNormalizedKeyProperties().getNormalizedKeyLength() : 0; this.tPointers = new int[normalizedKeyLength + 2 * keyFields.length]; if (fta != null) { initTPointer(fta, tupleIndex, keyFields, nmkComputer); } }