Read (according to the modifiers) any matching object from the space, returning null if there currently is none.
Equivalent to read, except that blocking is done only if necessary to wait for transactional state to settle.
Declaration Syntax
C# | Visual Basic | Visual C++ | J# |
T ReadIfExists<T>( IQuery<T> query, ITransaction tx, long timeout, ReadModifiers modifiers )
Function ReadIfExists(Of T) ( _ query As IQuery(Of T), _ tx As ITransaction, _ timeout As Long, _ modifiers As ReadModifiers _ ) As T
generic<typename T> T ReadIfExists( IQuery<T>^ query, ITransaction^ tx, long long timeout, ReadModifiers modifiers )
Generic Template Parameters
- T
- Type of object to read.
Parameters
- query (IQuery<(Of <(T>)>))
- The query used for matching.
- tx (ITransaction)
- The transaction (if any) under which to work.
- timeout (Int64)
- How long the client is willing to wait for a transactionally proper matching object.
- modifiers (ReadModifiers)
- The modifier(s) to define behaviour of locks.
Return Value
A copy of the object read from the space (null if no match was found).
Exceptions
Exception | Condition |
---|---|
UnusableEntryException | A serialized field of the object being read cannot be deserialized. |
TransactionException | Transaction error occured. |
InactiveSpaceException | The space is in backup mode and therefore is not active. |
SqlQueryException | The query template is an illegal SqlQuery. |