@Override public void close() { bitSet.close(); indexDataBuffer.close(); bitSet = null; indexDataBuffer = null; }
public FixedBitSingleValueMultiColWriter( PinotDataBuffer dataBuffer, int rows, int cols, int[] columnSizesInBits, boolean[] hasNegativeValues) throws Exception { init(rows, cols, columnSizesInBits, hasNegativeValues); this.indexDataBuffer = dataBuffer; bitSet = PinotDataCustomBitSet.withDataBuffer(bytesRequired, indexDataBuffer); }
public FixedBitSingleValueMultiColWriter(File file, int rows, int cols, int[] columnSizesInBits) throws Exception { init(rows, cols, columnSizesInBits); this.indexDataBuffer = PinotDataBuffer.fromFile( file, 0, bytesRequired, ReadMode.mmap, FileChannel.MapMode.READ_WRITE, file.getAbsolutePath() + this.getClass().getCanonicalName()); bitSet = PinotDataCustomBitSet.withDataBuffer(bytesRequired, indexDataBuffer); }
/** * @param row * @param col * @param val */ public void setInt(int row, int col, int val) { assert val >= minValues[col] && val <= maxValues[col]; long bitOffset = ((long) rowSizeInBits) * row + columnOffsetsInBits[col]; val = val + offsets[col]; bitSet.writeInt(bitOffset, colSizesInBits[col], val); }