internal override GraphViewExecutionOperator Compile(QueryCompilationContext context, GraphViewConnection dbConnection) { var nodeIdParameter = Parameters[0] as WColumnReferenceExpression; var nodeIdIndex = context.LocateColumnReference(nodeIdParameter); var dropNodeOp = new DropNodeOperator(context.CurrentExecutionOperator, dbConnection, nodeIdIndex); context.CurrentExecutionOperator = dropNodeOp; return(dropNodeOp); }
private void DropVertex(VertexField vertexField) { RawRecord record = new RawRecord(); record.Append(new StringField(vertexField.VertexId)); // nodeIdIndex DropNodeOperator op = new DropNodeOperator(this.dummyInputOp, this.connection, 0); op.DataModify(record); // Now VertexCacheObject has been updated (in DataModify) }
internal GraphViewExecutionOperator Compile2(QueryCompilationContext context, GraphViewConnection dbConnection) { WColumnReferenceExpression dropTargetParameter = Parameters[0] as WColumnReferenceExpression; Debug.Assert(dropTargetParameter != null, "dropTargetParameter != null"); int dropTargetIndex = context.LocateColumnReference(dropTargetParameter); // // A new DropOperator which drops target based on its runtime type // DropNodeOperator dropOp = new DropNodeOperator(context.CurrentExecutionOperator, dbConnection, dropTargetIndex); context.CurrentExecutionOperator = dropOp; return(dropOp); }