Реферат: Блокировки в MS SQL Server 2000
};
class CObject
{
friend class CProxy;
public:
enum {
#ifdef MSSQL
READ_UNCOMMITTED,
#elif defined ORACLE
SNAP_SHOT,
#endif
READ_COMMITTED,REPEATABLE_READ,UPDLOCK,XLOCK};
static CProxy& GetObject(int level = -1);
~CObject()
{
DeleteCriticalSection(&exclusive);
DeleteCriticalSection(&update);
if (hShared) CloseHandle(hShared);
if (hMutex) CloseHandle(hMutex);
}
protected:
CProxy& BeginTran(int level)
{
return *(new CProxy(this,level));
}
void RequestExclusive(int level)
{
ATLASSERT(level <= REPEATABLE_READ);
#ifdef MSSQL