public Transaction(Transaction parent) { this(parent, parent.getNumber()); }
protected void persistentLoad(E value) { int txNumber = Transaction.current().getNumber(); persistentLoad(value, txNumber); }
/*synchronized */boolean reload() { return reload(Transaction.current().getNumber()); }
@Override public void reloadAttribute(VBox box) { int txNumber = jvstm.Transaction.current().getNumber(); List<VersionedValue> vvalues = getMostRecentVersions(box, txNumber); box.mergeVersions(vvalues); }
public void readFromResultSet(java.sql.ResultSet rs) throws java.sql.SQLException { int txNumber = Transaction.current().getNumber(); readSlotsFromResultSet(rs, txNumber); readMetaObjectFromResultSet(rs, txNumber); }
@Override public void reloadAttribute(VBox box) { int txNumber = jvstm.Transaction.current().getNumber(); List<VersionedValue> vvalues = getMostRecentVersions(box, txNumber); box.mergeVersions(vvalues); }
@Override protected void doReload() { logger.debug("Reload StandaloneVBox: {}", this.getId()); try { JVSTMBackEnd.getInstance().getRepository().reloadAttribute(this); } catch (PersistenceException e) { VBoxBody<E> body = getBody(Transaction.current().getNumber()); if (body != null && body.version == 0) { logger.debug("VBox is new. Setting null in body with version 0."); body.value = null; } else { String message = "BUG: After reload, body is " + (body == null ? "null" : "not null"); if (body != null) { message += ". version=" + body.version; } logger.error(message); throw e; } } }
@Override public void reloadAttribute(VBox box) { int txNumber = jvstm.Transaction.current().getNumber(); boolean success = false; VBoxBody oldestValidBody = box.getOldestValidBody(); int highestVersionToLoad; if (oldestValidBody == null) { highestVersionToLoad = Transaction.mostRecentCommittedRecord.transactionNumber; } else { highestVersionToLoad = oldestValidBody.version - 1; } if (txNumber > highestVersionToLoad) { logger.debug("Version {} for vbox {} is already loaded", txNumber, box.getId()); return; } logger.debug("Will load versions [{};{}] for vbox {}", highestVersionToLoad, txNumber, box.getId()); VBoxBody tail = loadVersionsInRange(box, highestVersionToLoad, txNumber); replaceTail(box, oldestValidBody, tail); }
@Override public final void readFromResultSet(java.sql.ResultSet rs) throws java.sql.SQLException { int txNumber = Transaction.current().getNumber(); DO_State loadedState = make$newState(); readStateFromResultSet(rs, loadedState); // this state was already committed and is being read now loadedState.markCommitted(); obj$state.persistentLoad(loadedState, txNumber); readMetaObjectFromResultSet(rs, txNumber); }