Esempio n. 1
0
        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();
        }
Esempio n. 2
0
        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);
        }