public void setString(Column storeColumn, String value) { ByteBuffer stringStorageBuffer = Utility.encode(value, storeColumn, bufferManager); int length = stringStorageBuffer.remaining() - storeColumn.getPrefixLength(); if (length > storeColumn.getLength()) { throw new ClusterJUserException( local.message( "ERR_Data_Too_Long", storeColumn.getName(), storeColumn.getLength(), length)); } int returnCode = ndbOperation.setValue(storeColumn.getColumnId(), stringStorageBuffer); bufferManager.clearStringStorageBuffer(); handleError(returnCode, ndbOperation); }
public void setBytes(Column storeColumn, byte[] value) { // TODO use the string storage buffer instead of allocating a new buffer for each value int length = value.length; if (length > storeColumn.getLength()) { throw new ClusterJUserException( local.message( "ERR_Data_Too_Long", storeColumn.getName(), storeColumn.getLength(), length)); } ByteBuffer buffer = Utility.convertValue(storeColumn, value); int returnCode = ndbOperation.setValue(storeColumn.getColumnId(), buffer); handleError(returnCode, ndbOperation); }