/** * Create long equality filter for query. * * @param name bin name * @param value filter value * @return filter instance */ public static Filter equal(String name, long value) { Value val = Value.get(value); return new Filter(name, IndexCollectionType.DEFAULT, val.getType(), val, val); }
public final void writeField(Value value, int type) throws AerospikeException { int offset = dataOffset + FIELD_HEADER_SIZE; dataBuffer[offset++] = (byte)value.getType(); int len = value.write(dataBuffer, offset) + 1; writeFieldHeader(len, type); dataOffset += len; }
/** * Create string equality filter for query. * * @param name bin name * @param value filter value * @return filter instance */ public static Filter equal(String name, String value) { Value val = Value.get(value); return new Filter(name, IndexCollectionType.DEFAULT, val.getType(), val, val); }
public final void writeField(Value value, int type) throws AerospikeException { int offset = dataOffset + FIELD_HEADER_SIZE; dataBuffer[offset++] = (byte)value.getType(); int len = value.write(dataBuffer, offset) + 1; writeFieldHeader(len, type); dataOffset += len; }
/** * Create contains string filter for query on collection index. * * @param name bin name * @param type index collection type * @param value filter value * @return filter instance */ public static Filter contains(String name, IndexCollectionType type, String value) { Value val = Value.get(value); return new Filter(name, type, val.getType(), val, val); }
/** * Create long equality filter for query. * * @param name bin name * @param value filter value * @return filter instance */ public static Filter equal(String name, long value) { Value val = Value.get(value); return new Filter(name, IndexCollectionType.DEFAULT, val.getType(), val, val); }
/** * Create contains number filter for query on collection index. * * @param name bin name * @param type index collection type * @param value filter value * @return filter instance */ public static Filter contains(String name, IndexCollectionType type, long value) { Value val = Value.get(value); return new Filter(name, type, val.getType(), val, val); }
/** * Create contains string filter for query on collection index. * * @param name bin name * @param type index collection type * @param value filter value * @return filter instance */ public static Filter contains(String name, IndexCollectionType type, String value) { Value val = Value.get(value); return new Filter(name, type, val.getType(), val, val); }
/** * Create string equality filter for query. * * @param name bin name * @param value filter value * @return filter instance */ public static Filter equal(String name, String value) { Value val = Value.get(value); return new Filter(name, IndexCollectionType.DEFAULT, val.getType(), val, val); }
/** * Create contains number filter for query on collection index. * * @param name bin name * @param type index collection type * @param value filter value * @return filter instance */ public static Filter contains(String name, IndexCollectionType type, long value) { Value val = Value.get(value); return new Filter(name, type, val.getType(), val, val); }
private final void writeOperation(Operation operation) throws AerospikeException { int nameLength = Buffer.stringToUtf8(operation.binName, dataBuffer, dataOffset + OPERATION_HEADER_SIZE); int valueLength = operation.value.write(dataBuffer, dataOffset + OPERATION_HEADER_SIZE + nameLength); Buffer.intToBytes(nameLength + valueLength + 4, dataBuffer, dataOffset); dataOffset += 4; dataBuffer[dataOffset++] = (byte) operation.type.protocolType; dataBuffer[dataOffset++] = (byte) operation.value.getType(); dataBuffer[dataOffset++] = (byte) 0; dataBuffer[dataOffset++] = (byte) nameLength; dataOffset += nameLength + valueLength; }
private final void writeOperation(Operation operation) throws AerospikeException { int nameLength = Buffer.stringToUtf8(operation.binName, dataBuffer, dataOffset + OPERATION_HEADER_SIZE); int valueLength = operation.value.write(dataBuffer, dataOffset + OPERATION_HEADER_SIZE + nameLength); Buffer.intToBytes(nameLength + valueLength + 4, dataBuffer, dataOffset); dataOffset += 4; dataBuffer[dataOffset++] = (byte) operation.type.protocolType; dataBuffer[dataOffset++] = (byte) operation.value.getType(); dataBuffer[dataOffset++] = (byte) 0; dataBuffer[dataOffset++] = (byte) nameLength; dataOffset += nameLength + valueLength; }
private final void writeOperation(Bin bin, Operation.Type operation) throws AerospikeException { int nameLength = Buffer.stringToUtf8(bin.name, dataBuffer, dataOffset + OPERATION_HEADER_SIZE); int valueLength = bin.value.write(dataBuffer, dataOffset + OPERATION_HEADER_SIZE + nameLength); Buffer.intToBytes(nameLength + valueLength + 4, dataBuffer, dataOffset); dataOffset += 4; dataBuffer[dataOffset++] = (byte) operation.protocolType; dataBuffer[dataOffset++] = (byte) bin.value.getType(); dataBuffer[dataOffset++] = (byte) 0; dataBuffer[dataOffset++] = (byte) nameLength; dataOffset += nameLength + valueLength; }
private final void writeOperation(Bin bin, Operation.Type operation) throws AerospikeException { int nameLength = Buffer.stringToUtf8(bin.name, dataBuffer, dataOffset + OPERATION_HEADER_SIZE); int valueLength = bin.value.write(dataBuffer, dataOffset + OPERATION_HEADER_SIZE + nameLength); Buffer.intToBytes(nameLength + valueLength + 4, dataBuffer, dataOffset); dataOffset += 4; dataBuffer[dataOffset++] = (byte) operation.protocolType; dataBuffer[dataOffset++] = (byte) bin.value.getType(); dataBuffer[dataOffset++] = (byte) 0; dataBuffer[dataOffset++] = (byte) nameLength; dataOffset += nameLength + valueLength; }
private PredExp[] valToPredExp(Value val) throws PredExpException { int valType = val.getType(); switch (valType) { case ParticleType.INTEGER: return new PredExp[]{ getFieldExpr(valType), PredExp.integerValue(val.toLong())}; case ParticleType.STRING: return new PredExp[]{ getFieldExpr(valType), PredExp.stringValue(val.toString())}; case ParticleType.GEOJSON: return new PredExp[]{ getFieldExpr(valType), PredExp.geoJSONValue(val.toString())}; default: throw new PredExpException("PredExp Unsupported Particle Type: " + val.getType()); } }
private Filter collectionContains(IndexCollectionType collectionType) { Value val = getValue1(); int valType = val.getType(); switch (valType) { case ParticleType.INTEGER: return Filter.contains(getField(), collectionType, val.toLong()); case ParticleType.STRING: return Filter.contains(getField(), collectionType, val.toString()); } return null; }
/** * Performs common mapping task when loading an entity ... used in loaders * see {@link com.spikeify.commands.SingleLoader} {@link com.spikeify.commands.MultiLoader} {@link com.spikeify.commands.ScanLoader} * @param mapper to be used * @param key record key * @param record record value * @param object object holding data */ public static void map(ClassMapper mapper, Key key, Record record, Object object) { // set UserKey field switch (key.userKey.getType()) { case ParticleType.STRING: mapper.setUserKey(object, key.userKey.toString()); break; case ParticleType.INTEGER: mapper.setUserKey(object, key.userKey.toLong()); break; } // set meta-fields on the entity: @Namespace, @SetName, @Expiration.. mapper.setMetaFieldValues(object, key.namespace, key.setName, record.generation, record.expiration); // set field values mapper.setFieldValues(object, record.bins); } }
/** * Generate unique server hash value from set name, key type and user defined key. * The hash function is RIPEMD-160 (a 160 bit hash). */ public static byte[] computeDigest(String setName, Value key) { // This method runs 14% faster using thread local byte array // versus creating the buffer each time. byte[] buffer = ThreadLocalData.getBuffer(); int setLength = Buffer.stringToUtf8(setName, buffer, 0); buffer[setLength] = (byte)key.getType(); int keyLength = key.write(buffer, setLength + 1); RipeMD160 hash = new RipeMD160(); hash.update(buffer, 0, setLength); hash.update(buffer, setLength, keyLength + 1); return hash.digest(); }
/** * Generate unique server hash value from set name, key type and user defined key. * The hash function is RIPEMD-160 (a 160 bit hash). */ public static byte[] computeDigest(String setName, Value key) { // This method runs 14% faster using thread local byte array // versus creating the buffer each time. byte[] buffer = ThreadLocalData.getBuffer(); int setLength = Buffer.stringToUtf8(setName, buffer, 0); buffer[setLength] = (byte)key.getType(); int keyLength = key.write(buffer, setLength + 1); RipeMD160 hash = new RipeMD160(); hash.update(buffer, 0, setLength); hash.update(buffer, setLength, keyLength + 1); return hash.digest(); }
private T getObject() { Record record = recordSet.getRecord(); Key key = recordSet.getKey(); // construct the entity object via provided ClassConstructor T object = classConstructor.construct(mapper.getType()); // save record hash into cache - used later for differential updating recordsCache.insert(key, record.bins); // set UserKey field switch (key.userKey.getType()) { case ParticleType.STRING: mapper.setUserKey(object, key.userKey.toString()); break; case ParticleType.INTEGER: mapper.setUserKey(object, key.userKey.toLong()); break; } // set meta-fields on the entity: @Namespace, @SetName, @Expiration.. mapper.setMetaFieldValues(object, key.namespace, key.setName, record.generation, record.expiration); // set field values mapper.setFieldValues(object, record.bins); // set LDT fields mapper.setBigDatatypeFields(object, asynClient, key); return object; }