SQL Anywhere 10 supports READ, WRITE, and INTENT row
locks. INTENT locks are sufficient to ensure that other
concurrent connections cannot modify a row (though other
connections can still read that row). SQL Anywhere also
supports 3 modes of snapshot isolation (multi-version
concurrency control (MVCC).
SQL Anywhere's FOR UPDATE clause supports
FOR UPDATE BY [ LOCK | VALUES ]FOR UPDATE OF ( COLUMN LIST )
though they cannot be specified at the same time. BY LOCK is
the syntax that acquires INTENT locks. FOR UPDATE BY VALUES
forces the use of the KEYSET cursor, which returns a warning to
the application when a row in the cursor has been subsequently
modified by another connection, and an error if the row has
been deleted.
SQL Anywhere does not support the FOR UPDATE NOWAIT syntax of
Oracle on a statement-by-statement basis. However, the
identical functionality is provided by setting the connection
option BLOCKING to "OFF", or setting an appropriate timeout
period through the connection option BLOCKING_TIMEOUT.
Namespace: NHibernate.DialectAssembly: NHibernate (in NHibernate.dll) Version: 3.2.0.4000 (3.2.0.4000)
Syntax
C# |
---|
public override string GetForUpdateString( LockMode lockMode ) |
Visual Basic |
---|
Public Overrides Function GetForUpdateString ( _ lockMode As LockMode _ ) As String |
Visual C++ |
---|
public: virtual String^ GetForUpdateString( LockMode^ lockMode ) override |
Parameters
- lockMode
- Type: NHibernate..::..LockMode
[Missing <param name="lockMode"/> documentation for "M:NHibernate.Dialect.SybaseSQLAnywhere10Dialect.GetForUpdateString(NHibernate.LockMode)"]
Return Value
[Missing <returns> documentation for "M:NHibernate.Dialect.SybaseSQLAnywhere10Dialect.GetForUpdateString(NHibernate.LockMode)"]