public virtual void Accept(DefaultNodeLabelIndexCursor cursor) { if (_nodeLabelIndexCursor != null) { _nodeLabelIndexCursor.release(); } _nodeLabelIndexCursor = cursor; }
public override void NodeLabelIntersectionScan(NodeLabelIndexCursor cursor, params int[] labels) { Ktx.assertOpen(); DefaultNodeLabelIndexCursor client = ( DefaultNodeLabelIndexCursor )cursor; client.Read = this; client.IntersectionScan(new NodeLabelIndexProgressor(LabelScanReader().nodesWithAllLabels(labels), client), false, labels); }
public override void NodeLabelScan(int label, NodeLabelIndexCursor cursor) { Ktx.assertOpen(); DefaultNodeLabelIndexCursor indexCursor = ( DefaultNodeLabelIndexCursor )cursor; indexCursor.Read = this; LabelScanReader().nodesWithLabel(indexCursor, label); }
public virtual void Release() { if (_nodeCursor != null) { _nodeCursor.release(); _nodeCursor = null; } if (_relationshipScanCursor != null) { _relationshipScanCursor.release(); _relationshipScanCursor = null; } if (_relationshipTraversalCursor != null) { _relationshipTraversalCursor.release(); _relationshipTraversalCursor = null; } if (_propertyCursor != null) { _propertyCursor.release(); _propertyCursor = null; } if (_relationshipGroupCursor != null) { _relationshipGroupCursor.release(); _relationshipGroupCursor = null; } if (_nodeValueIndexCursor != null) { _nodeValueIndexCursor.release(); _nodeValueIndexCursor = null; } if (_nodeLabelIndexCursor != null) { _nodeLabelIndexCursor.release(); _nodeLabelIndexCursor = null; } if (_nodeExplicitIndexCursor != null) { _nodeExplicitIndexCursor.release(); _nodeExplicitIndexCursor = null; } if (_relationshipExplicitIndexCursor != null) { _relationshipExplicitIndexCursor.release(); _relationshipExplicitIndexCursor = null; } }
public override DefaultNodeLabelIndexCursor AllocateNodeLabelIndexCursor() { if (_nodeLabelIndexCursor == null) { return(Trace(new DefaultNodeLabelIndexCursor(this))); } try { return(_nodeLabelIndexCursor); } finally { _nodeLabelIndexCursor = null; } }