本文整理汇总了C#中QueryResult.PushIWarnings方法的典型用法代码示例。如果您正苦于以下问题:C# QueryResult.PushIWarnings方法的具体用法?C# QueryResult.PushIWarnings怎么用?C# QueryResult.PushIWarnings使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QueryResult
的用法示例。
在下文中一共展示了QueryResult.PushIWarnings方法的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: Delete
/// <summary>
///
/// </summary>
/// <param name="myWhereExpression"></param>
/// <param name="_dbContext"></param>
/// <param name="myTypeWithUndefAttrs">Type, List of undef attrs</param>
/// <param name="myDBTypeAttributeToDelete">Type, List of attributes</param>
/// <param name="myReferenceTypeLookup">reference, _graphDBType</param>
/// <returns></returns>
public QueryResult Delete(BinaryExpressionDefinition myWhereExpression, Dictionary<GraphDBType, List<string>> myTypeWithUndefAttrs, Dictionary<GraphDBType, List<TypeAttribute>> myDBTypeAttributeToDelete, Dictionary<String, GraphDBType> myReferenceTypeLookup)
{
QueryResult result = new QueryResult();
try
{
#region get UUIDs
if (myWhereExpression != null)
{
#region _WhereExpression
myWhereExpression.Validate(_dbContext);
if (myWhereExpression.ValidateResult.Failed())
{
return new QueryResult(myWhereExpression.ValidateResult);
}
var resultGraph = myWhereExpression.Calculon(_dbContext, new CommonUsageGraph(_dbContext), false);
if (resultGraph.Failed())
{
return new QueryResult(resultGraph.IErrors);
}
IEnumerable<Exceptional<DBObjectStream>> _dbobjects;
#region undefined attributes
foreach (var type in myTypeWithUndefAttrs)
{
_dbobjects = resultGraph.Value.Select(new LevelKey(type.Key, _dbContext.DBTypeManager), null, false);
foreach (var dbObj in _dbobjects)
{
foreach (var undefAttr in type.Value)
{
var removeExcept = _dbContext.DBObjectManager.RemoveUndefinedAttribute(undefAttr, dbObj.Value);
if (removeExcept.Failed())
return new QueryResult(removeExcept.IErrors);
}
}
}
#endregion
#region TypeAttributes to delete
Boolean generateLevel = true;
foreach (var aToBeDeletedAttribute in myDBTypeAttributeToDelete)
{
if (!resultGraph.Value.ContainsRelevantLevelForType(aToBeDeletedAttribute.Key))
{
generateLevel = false;
}
else
{
generateLevel = true;
}
var deleteResult = DeleteDBObjects(aToBeDeletedAttribute.Key, aToBeDeletedAttribute.Value, resultGraph.Value.Select(new LevelKey(aToBeDeletedAttribute.Key, _dbContext.DBTypeManager), null, generateLevel));
if (deleteResult.Failed())
{
return new QueryResult(deleteResult.IErrors);
}
else
{
if (!deleteResult.Success())
{
result.PushIWarnings(deleteResult.IWarnings);
}
result.Vertices = deleteResult.Value;
}
}
#endregion
#region expressionGraph error handling
result.PushIWarnings(resultGraph.Value.GetWarnings());
#endregion
//.........这里部分代码省略.........
示例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;
}