示例#1
0
文件: Read.cs 项目: Neo4Net/Neo4Net
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: public final void nodeIndexSeek(org.neo4j.internal.kernel.api.IndexReference index, org.neo4j.internal.kernel.api.NodeValueIndexCursor cursor, org.neo4j.internal.kernel.api.IndexOrder indexOrder, boolean needsValues, org.neo4j.internal.kernel.api.IndexQuery... query) throws org.neo4j.internal.kernel.api.exceptions.schema.IndexNotApplicableKernelException, org.neo4j.internal.kernel.api.exceptions.schema.IndexNotFoundKernelException
        public override void NodeIndexSeek(IndexReference index, NodeValueIndexCursor cursor, IndexOrder indexOrder, bool needsValues, params IndexQuery[] query)
        {
            Ktx.assertOpen();
            if (HasForbiddenProperties(index))
            {
                cursor.Close();
                return;
            }

            DefaultNodeValueIndexCursor cursorImpl = ( DefaultNodeValueIndexCursor )cursor;
            IndexReader reader = IndexReader(index, false);

            cursorImpl.Read = this;
            Org.Neo4j.Storageengine.Api.schema.IndexProgressor_NodeValueClient withFullPrecision = InjectFullValuePrecision(cursorImpl, query, reader);
            reader.Query(withFullPrecision, indexOrder, needsValues, query);
        }
示例#2
0
文件: Read.cs 项目: Neo4Net/Neo4Net
//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#:
//ORIGINAL LINE: public final void nodeIndexScan(org.neo4j.internal.kernel.api.IndexReference index, org.neo4j.internal.kernel.api.NodeValueIndexCursor cursor, org.neo4j.internal.kernel.api.IndexOrder indexOrder, boolean needsValues) throws org.neo4j.internal.kernel.api.exceptions.KernelException
        public override void NodeIndexScan(IndexReference index, NodeValueIndexCursor cursor, IndexOrder indexOrder, bool needsValues)
        {
            Ktx.assertOpen();
            if (HasForbiddenProperties(index))
            {
                cursor.Close();
                return;
            }

            // for a scan, we simply query for existence of the first property, which covers all entries in an index
            int firstProperty = index.Properties()[0];

            DefaultNodeValueIndexCursor cursorImpl = ( DefaultNodeValueIndexCursor )cursor;

            cursorImpl.Read = this;
            IndexReader(index, false).query(cursorImpl, indexOrder, needsValues, IndexQuery.exists(firstProperty));
        }