@Override public void normalize(byte[] bytes, int start, int length, int[] normalizedKeys, int keyStart) { // normalize msb nkc.normalize(bytes, start, length, normalizedKeys, keyStart); // normalize lsb nkc.normalize(bytes, start + Long.BYTES, length - Long.BYTES, normalizedKeys, keyStart + int64NormalizedKeyLength); }
@Override public void normalize(byte[] bytes, int start, int length, int[] normalizedKeys, int keyStart) { // start +1, length -1 is because in ASTERIX data format, there is always a type tag before the value nkc.normalize(bytes, start + 1, length - 1, normalizedKeys, keyStart); }
@Override public void normalize(byte[] bytes, int start, int length, int[] normalizedKeys, int keyStart) { nkc.normalize(bytes, start + 1, length - 1, normalizedKeys, keyStart); for (int i = 0; i < normalizedKeyLength; i++) { int key = normalizedKeys[keyStart + i]; normalizedKeys[keyStart + i] = ~key; } }
private void getFirstNorm(int inputId1, FrameTupleAccessor frameTupleAccessor1, int tid1, int[] keys) { if (firstKeyNormalizerComputer != null) { firstKeyNormalizerComputer.normalize(frameTupleAccessor1.getBuffer().array(), frameTupleAccessor1.getAbsoluteFieldStartOffset(tid1, compareFields[inputId1][0]), frameTupleAccessor1.getFieldLength(tid1, compareFields[inputId1][0]), keys, 0); } }
private int[] getPNK(IFrameTupleAccessor fta, int tIx) { if (nkcs == null) { return nmk; } int keyPos = 0; byte[] buffer = fta.getBuffer().array(); for (int i = 0; i < nkcs.length; i++) { int sfIdx = sortFields[i]; nkcs[i].normalize(buffer, fta.getAbsoluteFieldStartOffset(tIx, sfIdx), fta.getFieldLength(tIx, sfIdx), nmk, keyPos); keyPos += normalizedKeyLength[i]; } return nmk; }
private void initTPointer(IFrameTupleAccessor fta, int tupleIndex, int[] keyFields, INormalizedKeyComputer nmkComputer) { this.tupleIndex = tupleIndex; byte[] b1 = fta.getBuffer().array(); for (int f = 0; f < keyFields.length; ++f) { int fIdx = keyFields[f]; tPointers[2 * f + normalizedKeyLength] = fta.getAbsoluteFieldStartOffset(tupleIndex, fIdx); tPointers[2 * f + normalizedKeyLength + 1] = fta.getFieldLength(tupleIndex, fIdx); if (f == 0 && nmkComputer != null) { nmkComputer.normalize(b1, tPointers[normalizedKeyLength], tPointers[normalizedKeyLength + 1], tPointers, 0); } } } }
int fieldEndOffsetRel = inputTupleAccessor.getFieldEndOffset(j, sortField); int fieldStartOffset = fieldStartOffsetRel + tStart + fieldSlotsLength; nkcs[k].normalize(array, fieldStartOffset, fieldEndOffsetRel - fieldStartOffsetRel, tPointers, keyPos); keyPos += normalizedKeyLength[k];