public override void EndOfEntity() { // Make sure we have an ID if (_nodeRecord.Id == NULL_REFERENCE.longValue()) { _nodeRecord.Id = _nodeIds.next(); } // Compose the labels if (!_hasLabelField) { long[] labelIds = _labelTokenRepository.getOrCreateIds(_labels, _labelsCursor); InlineNodeLabels.putSorted(_nodeRecord, labelIds, null, _nodeStore.DynamicLabelStore); } _labelsCursor = 0; // Write data to stores _nodeRecord.NextProp = CreateAndWritePropertyChain(); _nodeRecord.InUse = true; _nodeStore.updateRecord(_nodeRecord); _nodeCount++; _nodeRecord.clear(); _nodeRecord.Id = NULL_REFERENCE.longValue(); _hasLabelField = false; base.EndOfEntity(); }
private NodeRecord GetNode(int nodeId, bool inUse) { NodeRecord nodeRecord = new NodeRecord(nodeId); nodeRecord = nodeRecord.Initialize(inUse, NO_NEXT_PROPERTY.longValue(), false, NO_NEXT_RELATIONSHIP.longValue(), NO_LABELS_FIELD.longValue()); if (inUse) { InlineNodeLabels labelFieldWriter = new InlineNodeLabels(nodeRecord); labelFieldWriter.Put(new long[] { ENTITY_TOKEN }, null, null); } return(nodeRecord); }