/// <summary> /// Executes the statement /// </summary> /// <param name="myGraphDBSession">The DBSession to start new transactions</param> /// <param name="dbContext">The current dbContext inside an readonly transaction. For any changes, you need to start a new transaction using <paramref name="myGraphDBSession"/></param> /// <returns>The result of the query</returns> public override QueryResult Execute(IGraphDBSession myGraphDBSession) { DBTransaction _GraphDBTransaction; if (CommandType == Transaction.CommandType.Commit) { _GraphDBTransaction = myGraphDBSession.CommitTransaction(); } else { _GraphDBTransaction = myGraphDBSession.RollbackTransaction(); } if (_GraphDBTransaction.Success()) { var _ReturnValues = new Dictionary<String, Object>(); _ReturnValues.Add("UUID", _GraphDBTransaction.UUID); _ReturnValues.Add("Created", _GraphDBTransaction.Created); _ReturnValues.Add("Finished", _GraphDBTransaction.Finished); _ReturnValues.Add("Distributed", _GraphDBTransaction.Distributed); _ReturnValues.Add("IsolationLevel", _GraphDBTransaction.IsolationLevel); _ReturnValues.Add("LongRunning", _GraphDBTransaction.LongRunning); _ReturnValues.Add("Name", _GraphDBTransaction.Name); _ReturnValues.Add("State", _GraphDBTransaction.State); return new QueryResult(new Vertex(_ReturnValues)).PushIExceptional(ParsingResult); } return new QueryResult(_GraphDBTransaction).PushIExceptional(ParsingResult); }