public IXmlCursor SelectChildren( IXmlKnownTypeMap knownTypes, IXmlNamespaceSource namespaces, CursorFlags flags ) { throw new NotImplementedException(); }
public IXmlCursor SelectChildren( IXmlKnownTypeMap knownTypes, IXmlNamespaceSource namespaces, CursorFlags flags ) { return(new SysXmlCursor(this, knownTypes, namespaces, flags)); }
protected IXmlCursor Cursor(XPathNavigator parent, string pathText, CursorFlags flags) { var parentNode = new XPathNode(parent, typeof(object), NamespaceSource.Instance); var compiledPath = XPathCompiler.Compile(pathText); compiledPath.SetContext(Context); return(Cursor(parentNode, compiledPath, IncludedTypes, flags)); }
public IXmlCursor Select( CompiledXPath path, IXmlIncludedTypeMap knownTypes, IXmlNamespaceSource namespaces, CursorFlags flags ) { return(node.Select(path, knownTypes, namespaces, flags)); }
public IXmlCursor Select( CompiledXPath path, IXmlIncludedTypeMap includedTypes, IXmlNamespaceSource namespaces, CursorFlags flags ) { throw new NotImplementedException(); }
public IXmlCursor Select( CompiledXPath path, IXmlIncludedTypeMap includedTypes, IXmlNamespaceSource namespaces, CursorFlags flags ) { return(flags.SupportsMutation() ? (IXmlCursor) new XPathMutableCursor(this, path, includedTypes, namespaces, flags) : (IXmlCursor) new XPathReadOnlyCursor(this, path, includedTypes, namespaces, flags)); }
public DeclareCursorStatement(string cursorName, IEnumerable<CursorParameter> parameters, CursorFlags flags, SqlQueryExpression queryExpression) { if (queryExpression == null) throw new ArgumentNullException("queryExpression"); if (String.IsNullOrEmpty(cursorName)) throw new ArgumentNullException("cursorName"); CursorName = cursorName; Parameters = parameters; Flags = flags; QueryExpression = queryExpression; }
/// <summary> /// Initializes a new instance of the <see cref="DBCursorOptions"/> class. /// </summary> /// <param name="collection">The collection to query against.</param> /// <param name="selector">The selector query.</param> /// <param name="returnFields">The fields to be returned.</param> /// <param name="orderBy">The field or fields to order the results by.</param> /// <param name="numberToSkip">The number of results to skip.</param> /// <param name="numberToReturn">The number to return in a given batch.</param> /// <param name="limit">If specified, only this many results are returned.</param> /// <param name="explain">if set to <c>true</c> a query explanation will be included.</param> /// <param name="snapshot">if set to <c>true</c> then execute against a data snapshot.</param> /// <param name="flags">The option flags.</param> /// <param name="explicitIndexHint">The explicit index hint.</param> public DBCursorOptions(IDBCollection collection, DBQuery selector = null, DBFieldSet returnFields = null, DBFieldSet orderBy = null, int? numberToSkip = null, int? numberToReturn = null, int? limit = null, bool explain = false, bool snapshot = false, CursorFlags flags = CursorFlags.None, IDBIndex explicitIndexHint = null) { Condition.Requires(snapshot, "snapshot") .Evaluate(!(snapshot && explicitIndexHint != null), "Snapshot is not allowed when there is an explicit hint") .Evaluate(!(snapshot && orderBy != null), "Snapshot is not allowed when there field set to order by"); Condition.Requires(numberToReturn, "numberToReturn") .Evaluate(!(numberToReturn.HasValue && limit.HasValue), "You may not specify both numberToReturn AND limit. They are ways to set a common property. Choose one to set."); Collection = collection; Selector = selector ?? DBQuery.SelectAll; ReturnFields = returnFields; Explain = explain; Flags = flags; Hint = explicitIndexHint; OrderBy = orderBy; Snapshot = snapshot; if (numberToSkip.HasValue) NumberToSkip = numberToSkip; if (numberToReturn.HasValue) NumberToReturn = numberToReturn.Value; if (limit.HasValue) Limit = limit; //If we have special query details if (OrderBy != null && OrderBy.Keys.Any() || Hint != null || Explain) { //Push everything into a container DBQuery query = Selector; Selector = new DBQuery(); Selector["query"] = query; if (OrderBy != null && OrderBy.Keys.Any()) Selector["orderby"] = OrderBy; if (Hint != null) Selector["$hint"] = Hint.Name; if (Explain) Selector["$explain"] = true; if (Snapshot) Selector["$snapshot"] = true; } }
protected override IXmlCursor Cursor( IXmlNode parent, CompiledXPath path, IXmlIncludedTypeMap includedTypes, CursorFlags flags ) { return(new XPathReadOnlyCursor( parent, path, includedTypes, NamespaceSource.Instance, flags )); }
public XPathReadOnlyCursor(IXmlNode parent, CompiledXPath path, IXmlIncludedTypeMap includedTypes, IXmlNamespaceSource namespaces, CursorFlags flags) : base(path, namespaces, parent) { if (parent == null) throw Error.ArgumentNull("parent"); if (path == null) throw Error.ArgumentNull("path"); if (includedTypes == null) throw Error.ArgumentNull("includedTypes"); this.includedTypes = includedTypes; this.flags = flags; Reset(); }
public DeclareCursorStatement(string cursorName, IEnumerable <CursorParameter> parameters, CursorFlags flags, SqlQueryExpression queryExpression) { if (queryExpression == null) { throw new ArgumentNullException("queryExpression"); } if (String.IsNullOrEmpty(cursorName)) { throw new ArgumentNullException("cursorName"); } CursorName = cursorName; Parameters = parameters; Flags = flags; QueryExpression = queryExpression; }
public SysXmlCursor(IXmlNode parent, IXmlKnownTypeMap knownTypes, IXmlNamespaceSource namespaces, CursorFlags flags) : base(namespaces, parent) { if (null == parent) throw Error.ArgumentNull("parent"); if (null == knownTypes) throw Error.ArgumentNull("knownTypes"); this.knownTypes = knownTypes; this.flags = flags; this.index = -1; var source = parent.RequireRealizable<XmlNode>(); if (source.IsReal) node = source.Value; }
public CursorInfo(string cursorName, CursorFlags flags, SqlQueryExpression queryExpression) { if (cursorName == null) { throw new ArgumentNullException("cursorName"); } if (queryExpression == null) { throw new ArgumentNullException("queryExpression"); } CursorName = cursorName; QueryExpression = queryExpression; Parameters = new ParameterCollection(); Flags = flags; }
protected override void BuildStatement(SqlCodeObjectBuilder builder) { var parameters = new List<CursorParameter>(); if (Parameters != null) { foreach (var parameterNode in Parameters) { var dataType = builder.BuildDataType(parameterNode.ParameterType); parameters.Add(new CursorParameter(parameterNode.ParameterName, dataType)); } } var flags = new CursorFlags(); if (Insensitive) flags |= CursorFlags.Insensitive; if (Scroll) flags |= CursorFlags.Scroll; var queryExpression = (SqlQueryExpression) ExpressionBuilder.Build(QueryExpression); builder.AddObject(new DeclareCursorStatement(CursorName, parameters.ToArray(), flags, queryExpression)); }
public XPathReadOnlyCursor(IXmlNode parent, CompiledXPath path, IXmlIncludedTypeMap includedTypes, IXmlNamespaceSource namespaces, CursorFlags flags) : base(path, namespaces, parent) { if (parent == null) { throw Error.ArgumentNull("parent"); } if (path == null) { throw Error.ArgumentNull("path"); } if (includedTypes == null) { throw Error.ArgumentNull("includedTypes"); } this.includedTypes = includedTypes; this.flags = flags; Reset(); }
public XPathMutableCursor(IXmlNode parent, CompiledXPath path, IXmlIncludedTypeMap knownTypes, IXmlNamespaceSource namespaces, CursorFlags flags) : base(path, namespaces, parent) { if (null == parent) throw Error.ArgumentNull("parent"); if (null == path) throw Error.ArgumentNull("path"); if (null == knownTypes) throw Error.ArgumentNull("knownTypes"); if (!path.IsCreatable) throw Error.XPathNotCreatable(path); this.step = path.FirstStep; this.knownTypes = knownTypes; this.flags = flags; var source = parent.RequireRealizable<XPathNavigator>(); if (source.IsReal) iterator = new XPathBufferedNodeIterator( source.Value.Select(path.FirstStep.Path)); }
public SysXmlCursor(IXmlNode parent, IXmlKnownTypeMap knownTypes, IXmlNamespaceSource namespaces, CursorFlags flags) : base(namespaces, parent) { if (null == parent) { throw Error.ArgumentNull("parent"); } if (null == knownTypes) { throw Error.ArgumentNull("knownTypes"); } this.knownTypes = knownTypes; this.flags = flags; this.index = -1; var source = parent.RequireRealizable <XmlNode>(); if (source.IsReal) { node = source.Value; } }
public XPathMutableCursor( IXmlNode parent, CompiledXPath path, IXmlIncludedTypeMap knownTypes, IXmlNamespaceSource namespaces, CursorFlags flags ) : base(path, namespaces, parent) { if (null == parent) { throw Error.ArgumentNull(nameof(parent)); } if (null == path) { throw Error.ArgumentNull(nameof(path)); } if (null == knownTypes) { throw Error.ArgumentNull(nameof(knownTypes)); } if (!path.IsCreatable) { throw Error.XPathNotCreatable(path); } this.step = path.FirstStep; this.knownTypes = knownTypes; this.flags = flags; var source = parent.RequireRealizable <XPathNavigator>(); if (source.IsReal) { iterator = new XPathBufferedNodeIterator(source.Value.Select(path.FirstStep.Path)); } }
public static bool AllowsMultipleItems(this CursorFlags flags) { return(0 != (flags & CursorFlags.Multiple)); }
public IXmlCursor SelectChildren(IXmlKnownTypeMap knownTypes, IXmlNamespaceSource namespaces, CursorFlags flags) { #if !SILVERLIGHT return(new SysXmlCursor(this, knownTypes, namespaces, flags)); #else // TODO: XNode-based #endif }
public DeclareCursorStatement(string cursorName, CursorFlags flags, SqlQueryExpression queryExpression) : this(cursorName, null, flags, queryExpression) { }
public static bool IncludesAttributes(this CursorFlags flags) { return(0 != (flags & CursorFlags.Attributes)); }
public static bool IncludesElements(this CursorFlags flags) { return(0 != (flags & CursorFlags.Elements)); }
protected static SysXmlCursor Cursor(SysXmlNode node, CursorFlags flags) { return new SysXmlCursor(node, KnownTypes, NamespaceSource.Instance, flags); }
protected abstract IXmlCursor Cursor( IXmlNode parent, CompiledXPath path, IXmlIncludedTypeMap includedTypes, CursorFlags flags );
public static void DeclareCursor(this IRequest request, string cursorName, CursorFlags flags, SqlQueryExpression query) { DeclareCursor(request, cursorName, new CursorParameter[0], flags, query); }
protected abstract IXmlCursor Cursor(IXmlNode parent, CompiledXPath path, IXmlIncludedTypeMap includedTypes, CursorFlags flags);
private void BuildDeclareCursor(DeclareCursorNode node) { var parameters = new List<CursorParameter>(); if (node.Parameters != null) { foreach (var parameterNode in node.Parameters) { var dataType = BuildDataType(parameterNode.ParameterType); parameters.Add(new CursorParameter(parameterNode.ParameterName, dataType)); } } var flags = new CursorFlags(); if (node.Insensitive) flags |= CursorFlags.Insensitive; if (node.Scroll) flags |= CursorFlags.Scroll; var queryExpression = (SqlQueryExpression) ExpressionBuilder.Build(node.QueryExpression); statements.Add(new DeclareCursorStatement(node.CursorName, parameters.ToArray(), flags, queryExpression)); }
public static void DeclareCursor(this IRequest request, string cursorName, CursorParameter[] parameters, CursorFlags flags, SqlQueryExpression query) { request.ExecuteStatement(new DeclareCursorStatement(cursorName, parameters, flags, query)); }
public static void DeclareCursor(this IContext context, string cursorName, CursorFlags flags, SqlQueryExpression query) { context.DeclareCursor(new CursorInfo(cursorName, flags, query)); }
protected static SysXmlCursor Cursor(SysXmlNode node, CursorFlags flags) { return(new SysXmlCursor(node, KnownTypes, NamespaceSource.Instance, flags)); }
protected override IXmlCursor Cursor(IXmlNode parent, CompiledXPath path, IXmlIncludedTypeMap includedTypes, CursorFlags flags) { return new XPathMutableCursor(parent, path, includedTypes, NamespaceSource.Instance, flags); }
public static CursorFlags MutableIf(this CursorFlags flags, bool mutable) { return(mutable ? (flags | CursorFlags.Mutable) : flags); }
public static bool SupportsMutation(this CursorFlags flags) { return(0 != (flags & CursorFlags.Mutable)); }
public static void DeclareCursor(this IRequest context, string cursorName, CursorFlags flags, SqlQueryExpression query) { context.DeclareCursor(new CursorInfo(cursorName, flags, query)); }
protected IXmlCursor Cursor(XPathNavigator parent, string pathText, CursorFlags flags) { var parentNode = new XPathNode(parent, typeof(object), NamespaceSource.Instance); var compiledPath = XPathCompiler.Compile(pathText); compiledPath.SetContext(Context); return Cursor(parentNode, compiledPath, IncludedTypes, flags); }