@Override @SuppressWarnings("unchecked") public T apply(IModel<T> input) { T ret = super.apply(input); if(ret instanceof ORecord) { ret = (T)((ORecord)ret).getIdentity(); } return ret; }
@Override @SuppressWarnings("unchecked") public T apply(IModel<T> input) { T ret = super.apply(input); if(ret instanceof ORecord) { ret = (T)((ORecord)ret).getIdentity(); } return ret; }
@Override public int compare(ORecord o1, ORecord o2) { long p1 = o1.getIdentity().getClusterPosition(); long p2 = o2.getIdentity().getClusterPosition(); if (p1 == p2) { return 0; } else if (p1 > p2) { return -1; } else { return 1; } } });
@Override public String getRid(ORecord entity) { return entity.getRecord().getIdentity().toString(); }
public void setDirty(ORecord record) { ODirtyManager real = getReal(); if (record.getIdentity().isNew() && !record.getIdentity().isTemporary()) { if (real.newRecords == null) real.newRecords = Collections.newSetFromMap(new IdentityHashMap<ORecord, Boolean>()); real.newRecords.add(record); } else { if (real.updateRecords == null) real.updateRecords = Collections.newSetFromMap(new IdentityHashMap<ORecord, Boolean>()); real.updateRecords.add(record); } }
@Override public ORecord put(final ORecord record) { if (!isEnabled()) return null; final WeakReference<ORecord> value; value = cache.put(record.getIdentity(), new WeakReference<ORecord>(record)); return get(value); }
@SuppressWarnings("unchecked") @Override @Deprecated public <RET extends ORecord> RET load(ORecord iRecord, String iFetchPlan, boolean iIgnoreCache, boolean loadTombstone, OStorage.LOCKING_STRATEGY iLockingStrategy) { checkIfActive(); return (RET) currentTx .loadRecord(iRecord.getIdentity(), iRecord, iFetchPlan, iIgnoreCache, !iIgnoreCache, loadTombstone, iLockingStrategy); }
@SuppressWarnings("unchecked") @Override @Deprecated public <RET extends ORecord> RET load(final ORecord iRecord, final String iFetchPlan, final boolean iIgnoreCache, final boolean iUpdateCache, final boolean loadTombstone, final OStorage.LOCKING_STRATEGY iLockingStrategy) { checkIfActive(); return (RET) currentTx .loadRecord(iRecord.getIdentity(), iRecord, iFetchPlan, iIgnoreCache, iUpdateCache, loadTombstone, iLockingStrategy); }
public ORecordIteratorClusters<REC> setRange(final ORID iBegin, final ORID iEnd) { final ORID oldBegin = beginRange; final ORID oldEnd = endRange; beginRange = iBegin; endRange = iEnd; if ((oldBegin == null ? iBegin == null : oldBegin.equals(iBegin)) && (oldEnd == null ? iEnd == null : oldEnd.equals(iEnd))) return this; if (currentRecord != null && outsideOfTheRange(currentRecord.getIdentity())) { currentRecord = null; } begin(); return this; }
@SuppressWarnings("unchecked") @Override public <RET extends ORecord> RET load(final ORecord iRecord, final String iFetchPlan) { checkIfActive(); return (RET) currentTx.loadRecord(iRecord.getIdentity(), iRecord, iFetchPlan, false, false, OStorage.LOCKING_STRATEGY.DEFAULT); }
/** * {@inheritDoc} */ public <RET extends ORecord> RET load(final ORecord iRecord, final String iFetchPlan, final boolean iIgnoreCache) { return (RET) executeReadRecord((ORecordId) iRecord.getIdentity(), iRecord, -1, iFetchPlan, iIgnoreCache, !iIgnoreCache, false, OStorage.LOCKING_STRATEGY.NONE, new SimpleRecordReader(prefetchRecords)); }
@Override public void deleteRecord(ORecord record, ODatabase.OPERATION_MODE mode) { if (!record.getIdentity().isValid()) return; addRecordOperation(record, ORecordOperation.DELETED, null); }
public OPlaceholder(final ORecord iRecord) { rid = (ORecordId) iRecord.getIdentity().copy(); recordVersion = iRecord.getVersion(); }
@SuppressWarnings("unchecked") @Override public <RET extends ORecord> RET load(final ORecord iRecord) { checkIfActive(); return (RET) currentTx.loadRecord(iRecord.getIdentity(), iRecord, null, false); }
/** * Updates the record cache after unsuccessful micro-transaction commit. */ public void updateRecordCacheAfterRollback() { final OLocalRecordCache databaseLocalCache = database.getLocalCache(); for (ORecordOperation recordOperation : recordOperations.values()) databaseLocalCache.deleteRecord(recordOperation.getRecord().getIdentity()); }
protected void invalidateCache(final ORecord iRecord) { if (cmdCache.getEvictStrategy() == OCommandCacheSoftRefs.STRATEGY.PER_CLUSTER) cmdCache.invalidateResultsOfCluster(database.getClusterNameById(iRecord.getIdentity().getClusterId())); else cmdCache.invalidateResultsOfCluster(null); }
private void invokeCallbacks() { for (ORecordOperation recordOperation : allEntries.values()) { final ORecord record = recordOperation.getRecord(); final ORID identity = record.getIdentity(); if (recordOperation.type == ORecordOperation.CREATED && recordOperation.createdCallback != null) recordOperation.createdCallback.call(new ORecordId(identity), identity.getClusterPosition()); else if (recordOperation.type == ORecordOperation.UPDATED && recordOperation.updatedCallback != null) recordOperation.updatedCallback.call(new ORecordId(identity), record.getVersion()); } }
private boolean checkDeletedInTx(OVertex currentVertex) { ORID id; if (currentVertex.getRecord() != null) id = currentVertex.getRecord().getIdentity(); else return false; final ORecordOperation oper = getTransaction().getRecordEntry(id); if (oper == null) return id.isTemporary(); else return oper.type == ORecordOperation.DELETED; }
private void invokeCallbacks() { for (ORecordOperation recordOperation : recordOperations.values()) { final ORecord record = recordOperation.getRecord(); final ORID identity = record.getIdentity(); if (recordOperation.type == ORecordOperation.CREATED && recordOperation.createdCallback != null) recordOperation.createdCallback.call(new ORecordId(identity), identity.getClusterPosition()); else if (recordOperation.type == ORecordOperation.UPDATED && recordOperation.updatedCallback != null) recordOperation.updatedCallback.call(new ORecordId(identity), record.getVersion()); } }
@Override public byte[] toStream(final ORecord iSource, boolean iOnlyDelta) { try { return iSource.toStream(); } catch (Exception e) { final String message = "Error on unmarshalling object in binary format: " + iSource.getIdentity(); OLogManager.instance().error(this, message, e); throw OException.wrapException(new OSerializationException(message), e); } }