@Override public void cancelRow() { // curOffset is equivalent to a byte length of current row. backward(curOffset); curOffset = 0; curFieldOffset = SizeOf.SIZE_OF_INT; curFieldIdx = 0; }
@Override public void putBool(boolean val) { ensureSize(SizeOf.SIZE_OF_BOOL); long addr = currentAddr(); PlatformDependent.putByte(addr, (byte) (val ? 0x01 : 0x00)); putFieldHeader(addr, curOffset); forwardField(SizeOf.SIZE_OF_BOOL); }
@Override public boolean startRow() { ensureSize(headerSize); curOffset = headerSize; curFieldOffset = SizeOf.SIZE_OF_INT; curFieldIdx = 0; forward(headerSize); return true; }
@Override public void skipField() { // set header field length putFieldHeader(currentAddr(), MemoryRowBlock.NULL_FIELD_OFFSET); }
protected void addTuple(UnSafeTuple tuple) { int length = tuple.getLength(); ensureSize(length); PlatformDependent.copyMemory(tuple.address(), address() + position(), length); forward(length); } }
@Override public void endRow() { super.endRow(); }
@Override public void putText(byte[] val) { putBlob(val); }
/** * set current buffer position and forward field length * @param fieldLength */ private void forwardField(int fieldLength) { forward(fieldLength); curOffset += fieldLength; }
/** * Current memory address of the row * * @return The memory address */ public long recordStartAddr() { return currentAddr() - curOffset; }
public int offset() { return position(); }
protected void addTuple(UnSafeTuple tuple) { int length = tuple.getLength(); ensureSize(length); PlatformDependent.copyMemory(tuple.address(), address() + position(), length); forward(length); } }
@Override public boolean startRow() { ensureSize(headerSize); curOffset = headerSize; curFieldOffset = SizeOf.SIZE_OF_INT; curFieldIdx = 0; forward(headerSize); return true; }
@Override public void skipField() { // set header field length putFieldHeader(currentAddr(), MemoryRowBlock.NULL_FIELD_OFFSET); }
@Override public void endRow() { super.endRow(); }
@Override public void putText(byte[] val) { putBlob(val); }
/** * set current buffer position and forward field length * @param fieldLength */ private void forwardField(int fieldLength) { forward(fieldLength); curOffset += fieldLength; }
/** * Current memory address of the row * * @return The memory address */ public long recordStartAddr() { return currentAddr() - curOffset; }
public int offset() { return position(); }
@Override public void putInt2(short val) { ensureSize(SizeOf.SIZE_OF_SHORT); long addr = currentAddr(); PlatformDependent.putShort(addr, val); putFieldHeader(addr, curOffset); forwardField(SizeOf.SIZE_OF_SHORT); }