//JAVA TO C# CONVERTER WARNING: Method 'throws' clauses are not available in C#: //ORIGINAL LINE: private void updateReader(org.neo4j.kernel.impl.api.KernelTransactionImplementation kti) throws Exception private void UpdateReader(KernelTransactionImplementation kti) { _modifiedEntityIdsInThisTransaction.clear(); // Clear this so we don't filter out entities who have had their changes reversed since last time. _writer.resetWriterState(); AllStoreHolder read = ( AllStoreHolder )kti.DataRead(); TransactionState transactionState = kti.TxState(); using (NodeCursor nodeCursor = _visitingNodes ? kti.Cursors().allocateNodeCursor() : null, RelationshipScanCursor relationshipCursor = _visitingNodes ? null : kti.Cursors().allocateRelationshipScanCursor(), PropertyCursor propertyCursor = kti.Cursors().allocatePropertyCursor()) { transactionState.Accept(_txStateVisitor.init(read, nodeCursor, relationshipCursor, propertyCursor)); } FulltextIndexReader baseReader = ( FulltextIndexReader )read.IndexReader(_descriptor, false); FulltextIndexReader nearRealTimeReader = _writer.NearRealTimeReader; _currentReader = new TransactionStateFulltextIndexReader(baseReader, nearRealTimeReader, _modifiedEntityIdsInThisTransaction); _lastUpdateRevision = kti.TransactionDataRevision; }
internal virtual FulltextIndexReader GetIndexReader(KernelTransactionImplementation kti) { if (_currentReader == null || _lastUpdateRevision != kti.TransactionDataRevision) { if (_currentReader != null) { _toCloseLater.Add(_currentReader); } try { UpdateReader(kti); } catch (Exception e) { _currentReader = null; throw new Exception("Failed to update the fulltext schema index transaction state.", e); } } return(_currentReader); }
internal TransactionStateFulltextIndexReader(FulltextIndexReader baseReader, FulltextIndexReader nearRealTimeReader, MutableLongSet modifiedEntityIdsInThisTransaction) { this._baseReader = baseReader; this._nearRealTimeReader = nearRealTimeReader; this._modifiedEntityIdsInThisTransaction = modifiedEntityIdsInThisTransaction; }