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.Dialect
Assembly: 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)"]

See Also