2using System.Threading.Tasks;
90 if (!(this.name is
null))
92 b = !Callback(this.name, out NewNode, State);
93 if (!(NewNode is
null))
99 if (b || (Order ==
SearchMethod.TreeOrder && !
this.name.ForAllChildNodes(Callback, State, Order)))
103 if (!(this.source is
null))
105 b = !Callback(this.source, out NewNode, State);
108 this.source = Source2;
112 if (b || (Order ==
SearchMethod.TreeOrder && !
this.source.ForAllChildNodes(Callback, State, Order)))
140 int Result = base.GetHashCode();
Script runtime exception.
Class managing a script expression.
Base class for all nodes in a parsed script tree.
int Length
Length of expression covered by node.
static bool AreEqual(ScriptNode S1, ScriptNode S2)
Compares if two script nodes are equal.
int Start
Start position in script expression.
void SetParent(ScriptNode Parent)
Sets the parent node. Can only be used when expression is being parsed.
Executes an DROP INDEX ... ON ... statement against the object database.
override IElement Evaluate(Variables Variables)
Evaluates the node, using the variables provided in the Variables collection.
override bool ForAllChildNodes(ScriptNodeEventHandler Callback, object State, SearchMethod Order)
Calls the callback method for all child nodes.
override bool Equals(object obj)
DropIndex(ScriptNode Name, SourceDefinition Source, int Start, int Length, Expression Expression)
Executes an DROP INDEX ... ON ... statement against the object database.
override int GetHashCode()
override async Task< IElement > EvaluateAsync(Variables Variables)
Evaluates the node asynchronously, using the variables provided in the Variables collection.
override bool IsAsynchronous
If the node (or its decendants) include asynchronous evaluation. Asynchronous nodes should be evaluat...
Executes an INSERT ... VALUES ... statement against the object database.
static async Task< string > GetNameAsync(ScriptNode Node, Variables Variables)
Gets a name from a script node, either by using the name of a variable reference, or evaluating the n...
Abstract base class for source definitions
abstract Task< IDataSource > GetSource(Variables Variables)
Gets the actual data source, from its definition.
Basic interface for all types of elements.
Interface for script nodes with asynchronous evaluation
Interface for data sources that can be used in SQL statements.
Task< bool > DropIndex(string Name)
Drops an index from the source.
delegate bool ScriptNodeEventHandler(ScriptNode Node, out ScriptNode NewNode, object State)
Delegate for ScriptNode callback methods.
SearchMethod
Method to traverse the expression structure