@Override protected void doOpen() { this.db().begin(); }
@Override protected Boolean execute(ODatabaseDocument db) { db.begin(); for (ODocument doc : docs) { db.save(doc); } db.commit(); return true; } }.execute();
@Override protected Boolean execute(ODatabaseDocument db) { db.begin(); for (ODocumentWrapper dw : dws) { dw.save(); } db.commit(); return true; } }.execute();
@Override protected Boolean execute(ODatabaseDocument db) { db.begin(); for (ODocument doc : docs) { db.save(doc); } db.commit(); return true; } }.execute();
@Override protected Boolean execute(ODatabaseDocument db) { db.begin(); for (ODocumentWrapper dw : dws) { dw.save(); } db.commit(); return true; } }.execute();
@Override public void setObject(V object) { ODatabaseDocument db = OrientDbWebSession.get().getDatabase(); boolean isActiveTransaction = db.getTransaction().isActive(); if(isActiveTransaction) db.commit(); // Schema changes should be done outside of transaction try { setValue(objectModel.getObject(), parameterModel.getObject(), object); } finally { if(isActiveTransaction) db.begin(); } }
@Override public void setObject(V object) { ODatabaseDocument db = OrientDbWebSession.get().getDatabase(); boolean isActiveTransaction = db.getTransaction().isActive(); if(isActiveTransaction) db.commit(); // Schema changes should be done outside of transaction try { setValue(objectModel.getObject(), parameterModel.getObject(), object); } finally { if(isActiveTransaction) db.begin(); } }
@Override protected void performMultiAction(AjaxRequestTarget target, List<OClass> objects) { getDatabase().commit(); super.performMultiAction(target, objects); getDatabase().begin(); }
@Override public ODatabaseDocument get() { // lazy get: pool transaction will start not together with TransactionManager one, but as soon as // connection requested to avoid using connections of not used pools Preconditions.checkNotNull(pool, String.format("Pool %s not initialized", getType())); if (transaction.get() == null) { Preconditions.checkState(transactionManager.isTransactionActive(), String.format( "Can't obtain connection from pool %s: no transaction defined.", getType())); if (transactionManager.isExternalTransaction()) { // external mode: use already created connection transaction.set(ODatabaseRecordThreadLocal.instance().get()); logger.trace("Pool {} use bound to thread connection (external mode)", getType()); } else { // normal mode: create connection final ODatabaseDocument db = checkAndAcquireConnection(); db.begin(transactionManager.getActiveTransactionType()); transaction.set(db); logger.trace("Pool {} transaction started", getType()); } } return (ODatabaseDocument) checkOpened(transaction.get()).activateOnCurrentThread(); }
@Override protected void performMultiAction(AjaxRequestTarget target, List<OProperty> objects) { getDatabase().commit(); super.performMultiAction(target, objects); getDatabase().begin(); }
@Override protected void performMultiAction(AjaxRequestTarget target, List<OIndex<?>> objects) { getDatabase().commit(); super.performMultiAction(target, objects); getDatabase().begin(); }
@Override protected void performMultiAction(AjaxRequestTarget target, List<ODocument> objects) { if(objects.size() > 1) { String message = getLocalizer().getString("alert.onlyoneshouldbeselected", this).replace("\"", "\\\""); target.appendJavaScript("alert(\""+message+"\")"); return; } super.performMultiAction(target, objects); getDatabase().commit(true); getDatabase().begin(); }
@Override protected void performMultiAction(AjaxRequestTarget target, List<ODocument> objects) { super.performMultiAction(target, objects); ODatabaseDocument db = getDatabase(); db.commit(true); db.begin(); DBClosure.sudoConsumer(sudoDb -> sudoDb.getMetadata().reload()); }
protected void initGraph(final OrientBaseGraph g) { if (used.compareAndSet(false, true)) { // EXECUTE ONLY ONCE final ODatabaseDocument db = g.getRawGraph(); boolean txActive = db.getTransaction().isActive(); if (txActive) // COMMIT TX BEFORE ANY SCHEMA CHANGES db.commit(); if (txActive) { // REOPEN IT AGAIN db.begin(); db.getTransaction().setUsingLog(settings.isUseLog()); } } if (intent != null) g.declareIntent(intent.copy()); }
@Override public void onClick(Optional<AjaxRequestTarget> targetOptional) { IModel<T> model = getModel(); T object = model!=null?model.getObject():null; if(object instanceof IPrototype) { boolean isActiveTransaction = getDatabase().getTransaction().isActive(); if(isActiveTransaction) getDatabase().commit(); try { ((IPrototype<?>)object).realizePrototype(); model.detach(); } finally { if(isActiveTransaction) getDatabase().begin(); } } super.onClick(targetOptional); } }
private void interupt(ODatabaseDocument db, IModel<?> model) { model.detach(); db.commit(); db.getLocalCache().clear(); db.begin(); }
@Override public void onClick(Optional<AjaxRequestTarget> targetOptional) { boolean isActiveTransaction = getDatabase().getTransaction().isActive(); if(isActiveTransaction) getDatabase().commit(); // Schema changes should be done outside of transaction try { super.onClick(targetOptional); getDatabase().getMetadata().reload(); } finally { if(isActiveTransaction) getDatabase().begin(); } }
@Override public void onClick(Optional<AjaxRequestTarget> targetOptional) { ODocument doc = getModelObject(); if(doc.getIdentity().isNew()) realizeMandatory(doc); doc.save(); if(forceCommit) { ODatabaseDocument db = getDatabase(); boolean active = db.getTransaction().isActive(); db.commit(); if(active) db.begin(); } super.onClick(targetOptional); }
@Override public Object execute(Map<Object, Object> iArgs) { final ODatabaseDocument database = getDatabase(); boolean txbegun = database.getTransaction() == null || !database.getTransaction().isActive(); if (txbegun) database.begin(); try { final Object result = super.execute(iArgs); if (txbegun) database.commit(); return result; } catch (Exception e) { if (txbegun) database.rollback(); throw OException.wrapException(new OCommandExecutionException("Transactional command failed"), e); } } }
protected void initGraph(OrientGraph g) { final ODatabaseDocument db = g.getRawDatabase(); boolean txActive = db.getTransaction().isActive(); if (txActive) // COMMIT TX BEFORE ANY SCHEMA CHANGES db.commit(); OSchema schema = db.getMetadata().getSchema(); if (!schema.existsClass(OClass.VERTEX_CLASS_NAME)) schema.createClass(OClass.VERTEX_CLASS_NAME).setOverSize(2); if (!schema.existsClass(OClass.EDGE_CLASS_NAME)) schema.createClass(OClass.EDGE_CLASS_NAME); if (txActive) { // REOPEN IT AGAIN db.begin(); } }