@Override public byte[] get(byte[] key) { key.getClass(); Preconditions.checkState(!this.closed.get(), "transaction closed"); final ByteIterable bytes = this.store.get(this.tx, new ArrayByteIterable(key)); return bytes != null ? XodusKVStore.get(bytes, true) : null; }
@Nullable protected byte[] readBytes(Store store, Transaction txn, ByteIterable key) { ByteIterable value = store.get(txn, key); if (value != null) return Arrays.copyOf(value.getBytesUnsafe(), value.getLength()); else return null; }
@Benchmark public void readKey(final Reader r, final Blackhole bh) { for (final int key : r.keys) { if (r.intKey) { final ByteIterable val = r.store.get(r.tx, intToEntry(key)); if (val != null) { bh.consume(val.getBytesUnsafe()); } } else { final ByteIterable val = r.store.get(r.tx, stringToEntry(r.padKey(key))); if (val != null) { bh.consume(val.getBytesUnsafe()); } } } }
@Override public String get( final LocalDB.DB db, final String key ) throws LocalDBException { checkStatus( false ); return environment.computeInReadonlyTransaction( transaction -> { final Store store = getStore( db ); final ByteIterable returnValue = store.get( transaction, bindMachine.keyToEntry( key ) ); if ( returnValue != null ) { return bindMachine.entryToValue( returnValue ); } return null; } ); }
@LocalDB.WriteOperation public boolean putIfAbsent( final LocalDB.DB db, final String key, final String value ) throws LocalDBException { checkStatus( true ); return environment.computeInTransaction( transaction -> { final ByteIterable k = bindMachine.keyToEntry( key ); final ByteIterable v = bindMachine.valueToEntry( value ); final Store store = getStore( db ); final ByteIterable existingValue = store.get( transaction, k ); if ( existingValue != null ) { return false; } return store.put( transaction, k, v ); } ); }
ByteIterable oldEntityIdEntry = indexTable.getDatabase().get(txn.getEnvironmentTransaction(), propsEntry); assert oldEntityIdEntry != null; long oldEntityId = LongBinding.compressedEntryToLong(oldEntityIdEntry);