本文整理汇总了C#中QueryResult.PushIErrors方法的典型用法代码示例。如果您正苦于以下问题:C# QueryResult.PushIErrors方法的具体用法?C# QueryResult.PushIErrors怎么用?C# QueryResult.PushIErrors使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QueryResult
的用法示例。
在下文中一共展示了QueryResult.PushIErrors方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: ExecuteAsParallel
private QueryResult ExecuteAsParallel(IEnumerable<String> myLines, IGraphDBSession myIGraphDBSession, GraphQLQuery myGQLQuery, VerbosityTypes verbosityTypes, UInt32 parallelTasks = 1, IEnumerable<String> comments = null)
{
var queryResult = new QueryResult();
var aggregatedResults = new List<IEnumerable<Vertex>>();
#region Create parallel options
var parallelOptions = new ParallelOptions()
{
MaxDegreeOfParallelism = (int)parallelTasks
};
#endregion
Int64 numberOfLine = 0;
Parallel.ForEach(myLines, parallelOptions, (line, state) =>
{
if (!IsComment(line, comments))
{
Interlocked.Add(ref numberOfLine, 1L);
if (!IsComment(line, comments)) // Skip comments
{
var qresult = ExecuteQuery(line, myIGraphDBSession, myGQLQuery);
#region VerbosityTypes.Full: Add result
if (verbosityTypes == VerbosityTypes.Full)
{
lock (aggregatedResults)
{
aggregatedResults.Add(qresult.Vertices);
}
}
#endregion
#region !VerbosityTypes.Silent: Add errors and break execution
if (qresult.ResultType != ResultType.Successful && verbosityTypes != VerbosityTypes.Silent)
{
lock (queryResult)
{
queryResult.PushIErrors(new[] { new Errors.Error_ImportFailed(line, numberOfLine) });
queryResult.PushIErrors(qresult.Errors);
queryResult.PushIWarnings(qresult.Warnings);
}
state.Break();
}
#endregion
}
}
});
//add the results of each query into the queryResult
queryResult.Vertices = AggregateListOfListOfVertices(aggregatedResults);
return queryResult;
}
示例2: Insert
public QueryResult Insert(ManipulationAttributes myManipulationAttributes, Boolean checkUniqueness = true)
{
var attributes = myManipulationAttributes.Attributes;
var undefinedAttributes = myManipulationAttributes.UndefinedAttributes;
var specialTypeAttributes = myManipulationAttributes.SpecialTypeAttributes;
if (_graphDBType.IsAbstract)
{
return new QueryResult(new Error_InvalidType(_graphDBType, "It is not possible to insert DBObjects of an abstract _graphDBType"));
}
#region Data
Exceptional<DBObjectStream> dbObjectStream;
#endregion
#region create new DBObject
dbObjectStream = _dbContext.DBObjectManager.CreateNewDBObject(_graphDBType, attributes.ToDictionary(key => key.Key.Definition.Name, value => value.Value), undefinedAttributes, specialTypeAttributes, _dbContext.SessionSettings, checkUniqueness);
if (dbObjectStream.Failed())
{
return new QueryResult(dbObjectStream.IErrors);
}
#endregion
#region set backward edges for reference attributes
var userdefinedAttributes = from attr in attributes where attr.Key.TypeOfAttribute.IsUserDefined select attr;
if (userdefinedAttributes.CountIsGreater(0))
{
var setBackEdges = SetBackwardEdges(userdefinedAttributes.ToDictionary(key => key.Key.Definition.UUID, value => value.Value), dbObjectStream.Value.ObjectUUID);
if (setBackEdges.Failed())
return new QueryResult(setBackEdges.IErrors);
}
#endregion
#region Create QueryResult
var readOut = GetManipulationResultSet(dbObjectStream, attributes, undefinedAttributes, specialTypeAttributes);
var selResultSet = new List<Vertex> { readOut.Value };
var queryResult = new QueryResult(selResultSet);
#endregion
#region If readout creation failed, this is a readon to fail the query result at all
if (readOut.Failed())
{
queryResult.PushIErrors(readOut.IErrors);
}
#endregion
return queryResult;
}
示例3: ExecuteAsSingleThread
private QueryResult ExecuteAsSingleThread(IEnumerable<String> myLines, IGraphDBSession myIGraphDBSession, GraphQLQuery myGQLQuery, VerbosityTypes verbosityTypes, IEnumerable<String> comments = null)
{
var queryResult1 = new QueryResult();
Int64 numberOfLine = 0;
var query = String.Empty;
var aggregatedResults = new List<IEnumerable<Vertex>>();
foreach (var _Line in myLines)
{
numberOfLine++;
#region Skip comments
if (IsComment(_Line, comments))
{
continue;
}
#endregion
query += _Line;
var qresult = ExecuteQuery(query, myIGraphDBSession, myGQLQuery);
#region VerbosityTypes.Full: Add result
if (verbosityTypes == VerbosityTypes.Full)
{
aggregatedResults.Add(qresult.Vertices);
}
#endregion
#region !VerbosityTypes.Silent: Add errors and break execution
if (qresult.ResultType == ResultType.Failed)
{
if (qresult.Errors.Any(e => (e is Error_GqlSyntax) && (e as Error_GqlSyntax).SyntaxErrorMessage.Equals("Mal-formed string literal - cannot find termination symbol.")))
{
Debug.WriteLine("Query at line [" + numberOfLine + "] [" + query + "] failed with " + qresult.GetIErrorsAsString() + " add next line...");
continue;
}
if (verbosityTypes != VerbosityTypes.Silent)
{
queryResult1.PushIError(new Error_ImportFailed(query, numberOfLine));
queryResult1.PushIErrors(qresult.Errors);
queryResult1.PushIWarnings(qresult.Warnings);
}
break;
}
else if (qresult.ResultType == ResultType.PartialSuccessful && verbosityTypes != VerbosityTypes.Silent)
{
queryResult1.PushIWarning(new Warning_ImportWarning(query, numberOfLine));
queryResult1.PushIWarnings(qresult.Warnings);
}
#endregion
query = String.Empty;
}
//add the results of each query into the queryResult
queryResult1.Vertices = AggregateListOfListOfVertices(aggregatedResults);
return queryResult1;
}