private IVertex GetVertex(long myVertexID, IVertexType myVertexType)
 {
     return(_vertexStore.GetVertex(_securityToken,
                                   _transactionToken,
                                   myVertexID,
                                   myVertexType.ID,
                                   VertexEditionFilter,
                                   VertexRevisionFilter));
 }
示例#2
0
        public void RemoveIndexInstance(long myIndexID, Int64 myTransaction, SecurityToken mySecurity)
        {
            var vertex = _vertexStore.GetVertex(mySecurity, myTransaction, myIndexID, (long)BaseTypes.Index, String.Empty);

            if (_vertexStore.RemoveVertex(mySecurity, myTransaction, myIndexID, (long)BaseTypes.Index))
            {
                var def = _baseStorageManager.CreateIndexDefinition(vertex);
                _ownIndex.Remove(def.Name);
                _indices.Remove(myIndexID);
            }
            else
            {
                throw new ArgumentOutOfRangeException("myIndexID", "No index available with that id.");
            }
        }
示例#3
0
        /// <summary>
        /// Executes the query plan recursivly
        /// </summary>
        /// <param name="myVertexType">The starting vertex type</param>
        /// <returns>An enumeration of vertices</returns>
        private IEnumerable <IVertex> Execute_private(IVertexType myVertexType)
        {
            #region current type

            ISonesIndex idx = null;

            if (_expressionIndex != null)
            {
                idx = _indexManager.GetIndex(_expressionIndex, _securityToken, _transactionToken);
            }
            else
            {
                idx = GetBestMatchingIdx(_indexManager.GetIndices(_property.Property, _securityToken, _transactionToken));
            }

            foreach (var aVertex in GetValues(idx, _constant)
                     .Select(aId => _vertexStore.GetVertex(
                                 _securityToken,
                                 _transactionToken,
                                 aId,
                                 myVertexType.ID,
                                 VertexEditionFilter,
                                 VertexRevisionFilter)))
            {
                yield return(aVertex);
            }

            #endregion

            #region child types

            foreach (var aChildVertexType in myVertexType.GetDescendantVertexTypes())
            {
                foreach (var aVertex in Execute_private(aChildVertexType))
                {
                    yield return(aVertex);
                }
            }

            #endregion

            yield break;
        }
示例#4
0
 public bool CheckBaseGraph(IVertexStore myVertexStore)
 {
     return myVertexStore.GetVertex(_security, _transaction, (long)BaseTypes.VertexType, (long)BaseTypes.VertexType, String.Empty) != null;
 }
示例#5
0
 public IVertex GetVertex(SecurityToken mySecurityToken, Int64 myTransactionToken, long myVertexID, long myVertexTypeID, string myEdition = null, Int64 myVertexRevisionID = 0L)
 {
     return(_vertexStore.GetVertex(mySecurityToken, myTransactionToken, myVertexID, myVertexTypeID, myEdition, myVertexRevisionID));
 }
示例#6
0
 public bool CheckBaseGraph(IVertexStore myVertexStore)
 {
     return(myVertexStore.GetVertex(_security, _transaction, (long)BaseTypes.VertexType, (long)BaseTypes.VertexType, String.Empty) != null);
 }