Classes
Protocols
Constants
Functions
Macros
Types
Variables

### Classes

EOAccessArrayFaultHandler
EOAccessFaultHandler
EOAccessGenericFaultHandler
EOAdaptor
EOAdaptorChannel
EOAdaptorContext
EOAdaptorOperation
EOAttribute
EODatabase
EODatabaseChannel
EODatabaseContext
EODatabaseDataSource
EODatabaseOperation
EOEntity
EOEntityClassDescription
EOJoin
EOLoginPanel
EOModel
EOModelGroup
EORelationship
EOSQLExpression
EOSQLExpressionFactory
EOSQLQualifier
EOStoredProcedure

### Protocols

<EOColumnTypes>
<EOPropertyListEncoding>
<EOQualifierSQLGeneration>
(EOAdaptorChannelDelegation)
(EOAdaptorContextDelegation)
(EOAdaptorDelegate)
(EODatabaseContextDelegation)
(EOModelGroupClassDelegation)
(EOModelGroupDelegation)
(EOSchemaSynchronizationDelegates)

### Constants

### Functions

EODatabaseContext_globalIDForObjectWithImpPtr
EODatabaseContext_snapshotForGlobalIDWithImpPtr
GDL2_EOAccessPrivateInit

### Macros

### Types

EOAdaptorOperator
EODatabaseOperator
EODelegateResponse
EOJoinSemantic
EOUpdateStrategy

### Variables

EOAccessFaultObjectNotAvailableException
EOAdaptorContextBeginTransactionNotification
EOAdaptorContextCommitTransactionNotification
EOAdaptorContextRollbackTransactionNotification
EOAdaptorFailureKey
EOAdaptorKey
EOAdaptorOperationsKey
EOAdaptorOptimisticLockingFailure
EOAdministrativeConnectionDictionaryKey
EOAdministrativeConnectionDictionaryNeededNotification
EOAllowsNullKey
EOBindVariableAttributeKey
EOBindVariableColumnKey
EOBindVariableNameKey
EOBindVariablePlaceHolderKey
EOBindVariableValueKey
EOColumnNameKey
EOConnectionDictionaryKey
EOCreateDatabaseKey
EOCreatePrimaryKeySupportKey
EOCreateTablesKey
EOCustomQueryExpressionHintKey
EODatabaseChannelNeededNotification
EODatabaseContextKey
EODatabaseOperationsKey
EODeleteProcedureOperation
EODistantPastTimeInterval
EODropDatabaseKey
EODropPrimaryKeySupportKey
EODropTablesKey
EOEntityLoadedNotification
EOExternalNameKey
EOExternalTypeKey
EOFailedAdaptorOperationKey
EOFailedDatabaseOperationKey
EOFetchAllProcedureOperation
EOFetchWithPrimaryKeyProcedureOperation
EOForeignKeyConstraintsKey
EOGeneralAdaptorException
EOGeneralDatabaseException
EOInsertProcedureOperation
EOModelAddedNotification
EOModelInvalidatedNotification
EOModelKey
EOMoreThanOneException
EONameKey
EONextPrimaryKeyProcedureOperation
EOPrecisionKey
EOPrimaryKeyConstraintsKey
EORelationshipsKey
EOScaleKey
EOSchemaSynchronizationForeignKeyConstraintsKey
EOSchemaSynchronizationPrimaryKeyConstraintsKey
EOSchemaSynchronizationPrimaryKeySupportKey
EOStoredProcedureNameHintKey
EOWidthKey
GDL2_EOAttributeClass
GDL2_EODatabaseContextClass
GDL2_EODatabaseContext__globalIDForObjectIMP
GDL2_EODatabaseContext_snapshotForGlobalIDIMP
GDL2_EOEntityClass
GDL2_EORelationshipClass
eqSel
struct _EOTransactionScope

Up

# EODatabaseContext Class

### Authors

Mirko Viviani (`mirko.viviani@gmail.com`)
Manuel Guesdon (`mguesdon@orange-concept.com`)

Date: Generated at 2026-02-03 22:13:20 +0000

Copyright: (C) 2000-2002,2003,2004,2005 Free Software Foundation, Inc.

### Contents -

1. Software documentation for the EODatabaseContext class
2. Software documentation for the EODatabaseContext(EOBatchFaulting) category
3. Software documentation for the EODatabaseContext(EOCooperatingObjectStoreSupport) category
4. Software documentation for the EODatabaseContext(EODatabaseSnapshotting) category
5. Software documentation for the EODatabaseContext(EOMultiThreaded) category
6. Software documentation for the EODatabaseContext(EOObjectStoreSupport) category
7. Software documentation for the NSObject(EODatabaseContextDelegation) informal protocol
8. EODatabaseContext types
9. EODatabaseContext variables

# Software documentation for the EODatabaseContext class

## EODatabaseContext : EOCooperatingObjectStore

> Declared in:
>   EOAccess/EODatabaseContext.h

Description forthcoming.

Instance Variables

### Method summary

- -batchFetchRelationship:forSourceObjects:editingContext:
- -commitChanges
- -createAdaptorOperationsForDatabaseOperation:
- -createAdaptorOperationsForDatabaseOperation:attributes:
- -databaseOperationForGlobalID:
- -databaseOperationForObject:
- -entitiesOnWhichThisEntityDepends:
- -entityNameOrderingArrayForEntities:
- -handlesFetchSpecification:
- -insertEntity:intoOrderingArray:withDependencies:processingSet:
- -isValidQualifierTypeForAttribute:
- -lockingAttributesForAttributes:entity:
- -lockingNonQualifiableAttributes:
- -nullifyAttributesInRelationship:sourceObject:destinationObject:
- -nullifyAttributesInRelationship:sourceObject:destinationObjects:
- -orderAdaptorOperations
- -ownsEntityNamed:
- -ownsGlobalID:
- -ownsObject:
- -performChanges
- -prepareForSaveWithCoordinator:editingContext:
- -primaryKeyAttributesForAttributes:entity:
- -processSnapshotForDatabaseOperation:
- -qualifierForLockingAttributes:primaryKeyAttributes:entity:snapshot:
- -recordChangesInEditingContext
- -recordDatabaseOperation:
- -recordDeleteForObject:
- -recordInsertForObject:
- -recordUpdateForObject:changes:
- -relayAttributesInRelationship:sourceObject:destinationObject:
- -relayAttributesInRelationship:sourceObject:destinationObjects:
- -relayPrimaryKey:object:entity:
- -rollbackChanges
- -valuesForKeys:object:
- -valuesToWriteForAttributes:entity:changedValues:
- -_beginTransaction
- -_commitTransaction
- -_forceDisconnect
- -_obtainOpenChannel
- -_openChannelWithLoginPanel:
- -_rollbackTransaction
- -forgetAllLocks
- -forgetLocksForObjectsWithGlobalIDs:
- -forgetSnapshotForGlobalID:
- -forgetSnapshotsForGlobalIDs:
- -initializeObject:row:entity:editingContext:
- -isObjectLockedWithGlobalID:
- -localSnapshotForGlobalID:
- -localSnapshotForSourceGlobalID:relationshipName:
- -recordSnapshot:forGlobalID:
- -recordSnapshot:forSourceGlobalID:relationshipName:
- -recordSnapshots:
- -recordToManySnapshots:
- -registerLockedObjectWithGlobalID:
- -snapshotForGlobalID:
- -snapshotForGlobalID:after:
- -snapshotForSourceGlobalID:relationshipName:
- -lock
- -unlock
- -_registerSnapshot:forSourceGlobalID:relationshipName:editingContext:
- -arrayFaultWithSourceGlobalID:relationshipName:editingContext:
- -clearOriginalSnapshotForObject:sourceGlobalID:relationshipName:editingContext:
- -entityForGlobalID:
- -faultForGlobalID:editingContext:
- -faultForRawRow:entityNamed:editingContext:
- -forgetSnapshotForSourceGlobalID:relationshipName:
- -initializeObject:withGlobalID:editingContext:
- -invalidateAllObjects
- -invalidateObjectsWithGlobalIDs:
- -isObjectLockedWithGlobalID:editingContext:
- -lockObjectWithGlobalID:editingContext:
- -objectsForSourceGlobalID:relationshipName:editingContext:
- -objectsWithFetchSpecification:editingContext:
- -refaultObject:withGlobalID:editingContext:
- -refaultObject:withSourceGlobalID:relationshipName:editingContext:
- -saveChangesInEditingContext:
- +_setUseToManyCaching:
- +contextClassToRegister
- +databaseContextWithDatabase:
- +registeredDatabaseContextForModel:editingContext:
- +setContextClassToRegister:
- -_availableChannelFromRegisteredChannels
- -adaptorContext
- -availableChannel
- -database
- -delegate
- -handleDroppedConnection
- -hasBusyChannels
- -initWithDatabase:
- -missingObjectGlobalIDs
- -registerChannel:
- -registeredChannels
- -setDelegate:
- -setUpdateStrategy:
- -unregisterChannel:
- -updateStrategy

### _setUseToManyCaching:

+ (void) _setUseToManyCaching: (BOOL)yn;
Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.

### contextClassToRegister

+ (Class) contextClassToRegister;
Description forthcoming.

### databaseContextWithDatabase:

+ (EODatabaseContext*) databaseContextWithDatabase: (EODatabase*)database;
Description forthcoming.

### registeredDatabaseContextForModel: editingContext:

+ (EODatabaseContext*) registeredDatabaseContextForModel: (EOModel*)model editingContext: (EOEditingContext*)editingContext;
Description forthcoming.

### setContextClassToRegister:

+ (void) setContextClassToRegister: (Class)contextClass;
Description forthcoming.

### _availableChannelFromRegisteredChannels

- (EODatabaseChannel*) _availableChannelFromRegisteredChannels;
Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.
returns a non busy channel if any, `nil` otherwise

### adaptorContext

- (EOAdaptorContext*) adaptorContext;
returns the adaptor context

### availableChannel

- (EODatabaseChannel*) availableChannel;
return a non busy channel

### database

- (EODatabase*) database;
returns the database

### delegate

- (id) delegate;
Get the delegate

### handleDroppedConnection

- (void) handleDroppedConnection;
Description forthcoming.

### hasBusyChannels

- (BOOL) hasBusyChannels;
Returns `YES` if we have at least one busy channel

### initWithDatabase:

- (id) initWithDatabase: (EODatabase*)database;
Description forthcoming.

### missingObjectGlobalIDs

- (NSArray*) missingObjectGlobalIDs;
Description forthcoming.

### registerChannel:

- (void) registerChannel: (EODatabaseChannel*)channel;
Description forthcoming.

### registeredChannels

- (NSArray*) registeredChannels;
Description forthcoming.

### setDelegate:

- (void) setDelegate: (id)delegate;
Set the delegate

### setUpdateStrategy:

- (void) setUpdateStrategy: (EOUpdateStrategy)strategy;
Set the update strategy to 'strategy' May raise an exception if transaction has began or if you want pessimistic lock when there's already a snapshot recorded

### unregisterChannel:

- (void) unregisterChannel: (EODatabaseChannel*)channel;
Description forthcoming.

### updateStrategy

- (EOUpdateStrategy) updateStrategy;
Get the update strategy

## Instance Variables for EODatabaseContext Class

### _adaptorContext

@protected EOAdaptorContext* _adaptorContext;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _batchFaultBuffer

@protected NSMutableDictionary* _batchFaultBuffer;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _batchToManyFaultBuffer

@protected NSMutableDictionary* _batchToManyFaultBuffer;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _checkPropagatedPKs

@protected NSMutableArray* _checkPropagatedPKs;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _database

@protected EODatabase* _database;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _dbOperationsByGlobalID

@protected NSMapTable* _dbOperationsByGlobalID;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _delegate

@protected id _delegate;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _deleteStack

@protected NSMutableArray* _deleteStack;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _editingContext

@protected EOEditingContext* _editingContext;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _lastEntity

@public EOEntity* _lastEntity;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _lock

@protected NSRecursiveLock* _lock;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _lockedObjects

@protected NSHashTable* _lockedObjects;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _missingObjectGIDs

@protected NSMutableSet* _missingObjectGIDs;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _nonPrimaryKeyGenerators

@protected NSHashTable* _nonPrimaryKeyGenerators;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _registeredChannels

@protected NSMutableArray* _registeredChannels;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _uniqueArrayStack

@protected NSMutableArray* _uniqueArrayStack;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _uniqueStack

@protected NSMutableArray* _uniqueStack;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

### _updateStrategy

@protected EOUpdateStrategy _updateStrategy;
Warning the underscore at the start of the name of this instance variable indicates that, even though it is not technically private, it is intended for internal use within the package, and you should not use the variable in other code.

# Software documentation for the EODatabaseContext(EOBatchFaulting) category

## EODatabaseContext(EOBatchFaulting)

> Declared in:
>   EOAccess/EODatabaseContext.h

Description forthcoming.

### Method summary

- -batchFetchRelationship:forSourceObjects:editingContext:

### batchFetchRelationship: forSourceObjects: editingContext:

- (void) batchFetchRelationship: (EORelationship*)relationship forSourceObjects: (NSArray*)objects editingContext: (EOEditingContext*)editingContext;
Description forthcoming.

# Software documentation for the EODatabaseContext(EOCooperatingObjectStoreSupport) category

## EODatabaseContext(EOCooperatingObjectStoreSupport)

> Declared in:
>   EOAccess/EODatabaseContext.h

Description forthcoming.

### Method summary

- -commitChanges
- -createAdaptorOperationsForDatabaseOperation:
- -createAdaptorOperationsForDatabaseOperation:attributes:
- -databaseOperationForGlobalID:
- -databaseOperationForObject:
- -entitiesOnWhichThisEntityDepends:
- -entityNameOrderingArrayForEntities:
- -handlesFetchSpecification:
- -insertEntity:intoOrderingArray:withDependencies:processingSet:
- -isValidQualifierTypeForAttribute:
- -lockingAttributesForAttributes:entity:
- -lockingNonQualifiableAttributes:
- -nullifyAttributesInRelationship:sourceObject:destinationObject:
- -nullifyAttributesInRelationship:sourceObject:destinationObjects:
- -orderAdaptorOperations
- -ownsEntityNamed:
- -ownsGlobalID:
- -ownsObject:
- -performChanges
- -prepareForSaveWithCoordinator:editingContext:
- -primaryKeyAttributesForAttributes:entity:
- -processSnapshotForDatabaseOperation:
- -qualifierForLockingAttributes:primaryKeyAttributes:entity:snapshot:
- -recordChangesInEditingContext
- -recordDatabaseOperation:
- -recordDeleteForObject:
- -recordInsertForObject:
- -recordUpdateForObject:changes:
- -relayAttributesInRelationship:sourceObject:destinationObject:
- -relayAttributesInRelationship:sourceObject:destinationObjects:
- -relayPrimaryKey:object:entity:
- -rollbackChanges
- -valuesForKeys:object:
- -valuesToWriteForAttributes:entity:changedValues:

### commitChanges

- (void) commitChanges;
Description forthcoming.

### createAdaptorOperationsForDatabaseOperation:

- (void) createAdaptorOperationsForDatabaseOperation: (EODatabaseOperation*)dbOpe;
Description forthcoming.

### createAdaptorOperationsForDatabaseOperation: attributes:

- (void) createAdaptorOperationsForDatabaseOperation: (EODatabaseOperation*)dbOpe attributes: (NSArray*)attributes;
Description forthcoming.

### databaseOperationForGlobalID:

- (EODatabaseOperation*) databaseOperationForGlobalID: (EOGlobalID*)gid;
Description forthcoming.

### databaseOperationForObject:

- (EODatabaseOperation*) databaseOperationForObject: (id)object;
Description forthcoming.

### entitiesOnWhichThisEntityDepends:

- (NSArray*) entitiesOnWhichThisEntityDepends: (EOEntity*)entity;
Description forthcoming.

### entityNameOrderingArrayForEntities:

- (NSArray*) entityNameOrderingArrayForEntities: (NSArray*)entities;
Description forthcoming.

### handlesFetchSpecification:

- (BOOL) handlesFetchSpecification: (EOFetchSpecification*)fetchSpecification;
Description forthcoming.

### insertEntity: intoOrderingArray: withDependencies: processingSet:

- (void) insertEntity: (EOEntity*)entity intoOrderingArray: (NSMutableArray*)orderingArray withDependencies: (NSDictionary*)dependencies processingSet: (NSMutableSet*)processingSet;
Description forthcoming.

### isValidQualifierTypeForAttribute:

- (BOOL) isValidQualifierTypeForAttribute: (EOAttribute*)attribute;
Description forthcoming.

### lockingAttributesForAttributes: entity:

- (NSArray*) lockingAttributesForAttributes: (NSArray*)attributes entity: (EOEntity*)entity;
Description forthcoming.

### lockingNonQualifiableAttributes:

- (NSArray*) lockingNonQualifiableAttributes: (NSArray*)attributes;
Description forthcoming.

### nullifyAttributesInRelationship: sourceObject: destinationObject:

- (void) nullifyAttributesInRelationship: (EORelationship*)relationship sourceObject: (id)sourceObject destinationObject: (id)destinationObject;
Description forthcoming.

### nullifyAttributesInRelationship: sourceObject: destinationObjects:

- (void) nullifyAttributesInRelationship: (EORelationship*)relationship sourceObject: (id)sourceObject destinationObjects: (NSArray*)destinationObjects;
Description forthcoming.

### orderAdaptorOperations

- (NSArray*) orderAdaptorOperations;
Description forthcoming.

### ownsEntityNamed:

- (BOOL) ownsEntityNamed: (NSString*)entityName;
Description forthcoming.

### ownsGlobalID:

- (BOOL) ownsGlobalID: (EOGlobalID*)globalID;
Description forthcoming.

### ownsObject:

- (BOOL) ownsObject: (id)object;
Description forthcoming.

### performChanges

- (void) performChanges;
Constructs EOAdaptorOperations for all EODatabaseOperations constructed in during recordChangesInEditingContext and recordUpdateForObject:changes:. Performs the EOAdaptorOperations on an available adaptor channel. If the save is OK, updates the snapshots in the EODatabaseContext to reflect the new state of the server. Raises an exception is the adaptor is unable to perform the operations.

### prepareForSaveWithCoordinator: editingContext:

- (void) prepareForSaveWithCoordinator: (EOObjectStoreCoordinator*)coordinator editingContext: (EOEditingContext*)context;
Description forthcoming.

### primaryKeyAttributesForAttributes: entity:

- (NSArray*) primaryKeyAttributesForAttributes: (NSArray*)attributes entity: (EOEntity*)entity;
Description forthcoming.

### processSnapshotForDatabaseOperation:

- (void) processSnapshotForDatabaseOperation: (EODatabaseOperation*)dbOpe;
Description forthcoming.

### qualifierForLockingAttributes: primaryKeyAttributes: entity: snapshot:

- (EOQualifier*) qualifierForLockingAttributes: (NSArray*)attributes primaryKeyAttributes: (NSArray*)primaryKeyAttributes entity: (EOEntity*)entity snapshot: (NSDictionary*)snapshot;
Description forthcoming.

### recordChangesInEditingContext

- (void) recordChangesInEditingContext;
The method overrides the inherited implementation to create a list of EODatabaseOperations for EOEditingContext objects changes (only objects owned by the receiver). It forwards any relationship changes found which are not owned by the receiver to the EOObjectStoreCoordinator. It's invoked during EOObjectStoreCoordinator saving changes (saveChangesInEditingContext:) method. It's invoked after prepareForSaveWithCoordinator:editingContext: and before ownsGlobalID:.

### recordDatabaseOperation:

- (void) recordDatabaseOperation: (EODatabaseOperation*)databaseOpe;
Description forthcoming.

### recordDeleteForObject:

- (void) recordDeleteForObject: (id)object;
Description forthcoming.

### recordInsertForObject:

- (void) recordInsertForObject: (id)object;
Description forthcoming.

### recordUpdateForObject: changes:

- (void) recordUpdateForObject: (id)object changes: (NSDictionary*)changes;
Contructs a list of EODatabaseOperations for all changes in the EOEditingContext that are owned by this context. Forward any relationship changes discovered but not owned by this context to the coordinator.

### relayAttributesInRelationship: sourceObject: destinationObject:

- (NSDictionary*) relayAttributesInRelationship: (EORelationship*)relationship sourceObject: (id)sourceObject destinationObject: (id)destinationObject;
Description forthcoming.

### relayAttributesInRelationship: sourceObject: destinationObjects:

- (void) relayAttributesInRelationship: (EORelationship*)relationship sourceObject: (id)sourceObject destinationObjects: (NSArray*)destinationObjects;
Description forthcoming.

### relayPrimaryKey: object: entity:

- (void) relayPrimaryKey: (NSDictionary*)pk object: (id)object entity: (EOEntity*)entity;
Description forthcoming.

### rollbackChanges

- (void) rollbackChanges;
Description forthcoming.

### valuesForKeys: object:

- (NSDictionary*) valuesForKeys: (NSArray*)keys object: (id)object;
Description forthcoming.

### valuesToWriteForAttributes: entity: changedValues:

- (NSDictionary*) valuesToWriteForAttributes: (NSArray*)attributes entity: (EOEntity*)entity changedValues: (NSDictionary*)changedValues;
Description forthcoming.

# Software documentation for the EODatabaseContext(EODatabaseSnapshotting) category

## EODatabaseContext(EODatabaseSnapshotting)

> Declared in:
>   EOAccess/EODatabaseContext.h

Description forthcoming.

### Method summary

- -_beginTransaction
- -_commitTransaction
- -_forceDisconnect
- -_obtainOpenChannel
- -_openChannelWithLoginPanel:
- -_rollbackTransaction
- -forgetAllLocks
- -forgetLocksForObjectsWithGlobalIDs:
- -forgetSnapshotForGlobalID:
- -forgetSnapshotsForGlobalIDs:
- -initializeObject:row:entity:editingContext:
- -isObjectLockedWithGlobalID:
- -localSnapshotForGlobalID:
- -localSnapshotForSourceGlobalID:relationshipName:
- -recordSnapshot:forGlobalID:
- -recordSnapshot:forSourceGlobalID:relationshipName:
- -recordSnapshots:
- -recordToManySnapshots:
- -registerLockedObjectWithGlobalID:
- -snapshotForGlobalID:
- -snapshotForGlobalID:after:
- -snapshotForSourceGlobalID:relationshipName:

### _beginTransaction

- (void) _beginTransaction;
Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.

### _commitTransaction

- (void) _commitTransaction;
Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.

### _forceDisconnect

- (void) _forceDisconnect;
Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.

### _obtainOpenChannel

- (EODatabaseChannel*) _obtainOpenChannel;
Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.

### _openChannelWithLoginPanel:

- (BOOL) _openChannelWithLoginPanel: (EODatabaseChannel*)databaseChannel;
Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.

### _rollbackTransaction

- (void) _rollbackTransaction;
Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.

### forgetAllLocks

- (void) forgetAllLocks;
Description forthcoming.

### forgetLocksForObjectsWithGlobalIDs:

- (void) forgetLocksForObjectsWithGlobalIDs: (NSArray*)gids;
Description forthcoming.

### forgetSnapshotForGlobalID:

- (void) forgetSnapshotForGlobalID: (EOGlobalID*)gid;
Description forthcoming.

### forgetSnapshotsForGlobalIDs:

- (void) forgetSnapshotsForGlobalIDs: (NSArray*)gids;
Description forthcoming.

### initializeObject: row: entity: editingContext:

- (void) initializeObject: (id)object row: (NSDictionary*)row entity: (EOEntity*)entity editingContext: (EOEditingContext*)context;
Description forthcoming.

### isObjectLockedWithGlobalID:

- (BOOL) isObjectLockedWithGlobalID: (EOGlobalID*)globalID;
Description forthcoming.

### localSnapshotForGlobalID:

- (NSDictionary*) localSnapshotForGlobalID: (EOGlobalID*)gid;
Returns the snapshot for the globalID ( `nil` if there's none). Only searches locally (in the transaction scope), not in the EODatabase.

### localSnapshotForSourceGlobalID: relationshipName:

- (NSArray*) localSnapshotForSourceGlobalID: (EOGlobalID*)gid relationshipName: (NSString*)name;
Description forthcoming.

### recordSnapshot: forGlobalID:

- (void) recordSnapshot: (NSDictionary*)snapshot forGlobalID: (EOGlobalID*)gid;
Description forthcoming.

### recordSnapshot: forSourceGlobalID: relationshipName:

- (void) recordSnapshot: (NSArray*)gids forSourceGlobalID: (EOGlobalID*)gid relationshipName: (NSString*)name;
Description forthcoming.

### recordSnapshots:

- (void) recordSnapshots: (NSDictionary*)snapshots;
Description forthcoming.

### recordToManySnapshots:

- (void) recordToManySnapshots: (NSDictionary*)snapshots;
Description forthcoming.

### registerLockedObjectWithGlobalID:

- (void) registerLockedObjectWithGlobalID: (EOGlobalID*)globalID;
Description forthcoming.

### snapshotForGlobalID:

- (NSDictionary*) snapshotForGlobalID: (EOGlobalID*)gid;
Returns snapshot for globalID by calling snapshotForGlobalID:after: with EODistantPastTimeInterval as time interval. Searches first locally (in the transaction scope) and after in the EODatabase.

### snapshotForGlobalID: after:

- (NSDictionary*) snapshotForGlobalID: (EOGlobalID*)gid after: (NSTimeInterval)ti;
Returns snapshot for globalID. (`nil` if there's no snapshot for the globalID or if the corresponding tsimestamp is less than ti). Searches first locally (in the transaction scope) and after in the EODatabase.

### snapshotForSourceGlobalID: relationshipName:

- (NSArray*) snapshotForSourceGlobalID: (EOGlobalID*)gid relationshipName: (NSString*)name;
Description forthcoming.

# Software documentation for the EODatabaseContext(EOMultiThreaded) category

## EODatabaseContext(EOMultiThreaded)

> Declared in:
>   EOAccess/EODatabaseContext.h

> Conforms to:
>   NSLocking

Description forthcoming.

### Method summary

- -lock
- -unlock

### lock

- (void) lock;
Description forthcoming.

### unlock

- (void) unlock;
Description forthcoming.

# Software documentation for the EODatabaseContext(EOObjectStoreSupport) category

## EODatabaseContext(EOObjectStoreSupport)

> Declared in:
>   EOAccess/EODatabaseContext.h

Description forthcoming.

### Method summary

- -_registerSnapshot:forSourceGlobalID:relationshipName:editingContext:
- -arrayFaultWithSourceGlobalID:relationshipName:editingContext:
- -clearOriginalSnapshotForObject:sourceGlobalID:relationshipName:editingContext:
- -entityForGlobalID:
- -faultForGlobalID:editingContext:
- -faultForRawRow:entityNamed:editingContext:
- -forgetSnapshotForSourceGlobalID:relationshipName:
- -initializeObject:withGlobalID:editingContext:
- -invalidateAllObjects
- -invalidateObjectsWithGlobalIDs:
- -isObjectLockedWithGlobalID:editingContext:
- -lockObjectWithGlobalID:editingContext:
- -objectsForSourceGlobalID:relationshipName:editingContext:
- -objectsWithFetchSpecification:editingContext:
- -refaultObject:withGlobalID:editingContext:
- -refaultObject:withSourceGlobalID:relationshipName:editingContext:
- -saveChangesInEditingContext:

### _registerSnapshot: forSourceGlobalID: relationshipName: editingContext:

- (void) _registerSnapshot: (NSArray*)snapshot forSourceGlobalID: (EOGlobalID*)globalID relationshipName: (NSString*)name editingContext: (EOEditingContext*)context;
Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.

### arrayFaultWithSourceGlobalID: relationshipName: editingContext:

- (NSArray*) arrayFaultWithSourceGlobalID: (EOGlobalID*)globalID relationshipName: (NSString*)relationshipName editingContext: (EOEditingContext*)context;
Get an array fault for globalID for relationshipName

### clearOriginalSnapshotForObject: sourceGlobalID: relationshipName: editingContext:

- (void) clearOriginalSnapshotForObject: (NSArray*)object sourceGlobalID: (EOGlobalID*)globalID relationshipName: (NSString*)name editingContext: (EOEditingContext*)context;
Description forthcoming.

### entityForGlobalID:

- (id) entityForGlobalID: (EOGlobalID*)globalID;
return entity corresponding to 'globalID'

### faultForGlobalID: editingContext:

- (id) faultForGlobalID: (EOGlobalID*)globalID editingContext: (EOEditingContext*)context;
Get a fault for 'globalID'

### faultForRawRow: entityNamed: editingContext:

- (id) faultForRawRow: (NSDictionary*)row entityNamed: (NSString*)entityName editingContext: (EOEditingContext*)context;
Return a fault for row 'row'

### forgetSnapshotForSourceGlobalID: relationshipName:

- (void) forgetSnapshotForSourceGlobalID: (EOGlobalID*)globalID relationshipName: (NSString*)name;
Description forthcoming.

### initializeObject: withGlobalID: editingContext:

- (void) initializeObject: (id)object withGlobalID: (EOGlobalID*)globalID editingContext: (EOEditingContext*)context;
Description forthcoming.

### invalidateAllObjects

- (void) invalidateAllObjects;
Description forthcoming.

### invalidateObjectsWithGlobalIDs:

- (void) invalidateObjectsWithGlobalIDs: (NSArray*)globalIDs;
Description forthcoming.

### isObjectLockedWithGlobalID: editingContext:

- (BOOL) isObjectLockedWithGlobalID: (EOGlobalID*)gid editingContext: (EOEditingContext*)context;
Description forthcoming.

### lockObjectWithGlobalID: editingContext:

- (void) lockObjectWithGlobalID: (EOGlobalID*)globalID editingContext: (EOEditingContext*)context;
Description forthcoming.

### objectsForSourceGlobalID: relationshipName: editingContext:

- (NSArray*) objectsForSourceGlobalID: (EOGlobalID*)globalID relationshipName: (NSString*)name editingContext: (EOEditingContext*)context;
Description forthcoming.

### objectsWithFetchSpecification: editingContext:

- (NSArray*) objectsWithFetchSpecification: (EOFetchSpecification*)fetchSpecification editingContext: (EOEditingContext*)context;
Description forthcoming.

### refaultObject: withGlobalID: editingContext:

- (void) refaultObject: (id)object withGlobalID: (EOGlobalID*)globalID editingContext: (EOEditingContext*)context;
Description forthcoming.

### refaultObject: withSourceGlobalID: relationshipName: editingContext:

- (void) refaultObject: (NSArray*)object withSourceGlobalID: (EOGlobalID*)globalID relationshipName: (NSString*)relName editingContext: (EOEditingContext*)context;
Description forthcoming.

### saveChangesInEditingContext:

- (void) saveChangesInEditingContext: (EOEditingContext*)context;
Description forthcoming.

# Software documentation for the NSObject(EODatabaseContextDelegation) informal protocol

## NSObject(EODatabaseContextDelegation)

> Declared in:
>   EOAccess/EODatabaseContext.h

Description forthcoming.

### Method summary

- -databaseContext:didFetchObjects:fetchSpecification:editingContext:
- -databaseContext:didSelectObjectsWithFetchSpecification:databaseChannel:
- -databaseContext:failedToFetchObject:globalID:
- -databaseContext:newPrimaryKeyForObject:entity:
- -databaseContext:shouldFetchArrayFault:
- -databaseContext:shouldFetchObjectFault:
- -databaseContext:shouldFetchObjectsWithFetchSpecification:databaseChannel:
- -databaseContext:shouldFetchObjectsWithFetchSpecification:editingContext:
- -databaseContext:shouldHandleDatabaseException:
- -databaseContext:shouldInvalidateObjectWithGlobalID:snapshot:
- -databaseContext:shouldLockObjectWithGlobalID:snapshot:
- -databaseContext:shouldRaiseExceptionForLockFailure:
- -databaseContext:shouldSelectObjectsWithFetchSpecification:databaseChannel:
- -databaseContext:shouldUpdateCurrentSnapshot:newSnapshot:globalID:databaseChannel:
- -databaseContext:shouldUsePessimisticLockWithFetchSpecification:databaseChannel:
- -databaseContext:willOrderAdaptorOperationsFromDatabaseOperations:
- -databaseContext:willPerformAdaptorOperations:adaptorChannel:
- -databaseContext:willRunLoginPanelToOpenDatabaseChannel:

### databaseContext: didFetchObjects: fetchSpecification: editingContext:

- (void) databaseContext: (EODatabaseContext*)context didFetchObjects: (NSArray*)objects fetchSpecification: (EOFetchSpecification*)fetchSpecification editingContext: (EOEditingContext*)editingContext;
Description forthcoming.

### databaseContext: didSelectObjectsWithFetchSpecification: databaseChannel:

- (void) databaseContext: (EODatabaseContext*)context didSelectObjectsWithFetchSpecification: (EOFetchSpecification*)fetchSpecification databaseChannel: (EODatabaseChannel*)channel;
Description forthcoming.

### databaseContext: failedToFetchObject: globalID:

- (BOOL) databaseContext: (EODatabaseContext*)context failedToFetchObject: (id)object globalID: (EOGlobalID*)gid;
Description forthcoming.

### databaseContext: newPrimaryKeyForObject: entity:

- (NSDictionary*) databaseContext: (EODatabaseContext*)context newPrimaryKeyForObject: (id)object entity: (EOEntity*)entity;
Description forthcoming.

### databaseContext: shouldFetchArrayFault:

- (BOOL) databaseContext: (EODatabaseContext*)databaseContext shouldFetchArrayFault: (id)fault;
Description forthcoming.

### databaseContext: shouldFetchObjectFault:

- (BOOL) databaseContext: (EODatabaseContext*)databaseContext shouldFetchObjectFault: (id)fault;
Description forthcoming.

### databaseContext: shouldFetchObjectsWithFetchSpecification: databaseChannel:

- (BOOL) databaseContext: (EODatabaseContext*)databaseContext shouldFetchObjectsWithFetchSpecification: (EOFetchSpecification*)fetchSpecification databaseChannel: (EODatabaseChannel*)databaseChannel;
Description forthcoming.

### databaseContext: shouldFetchObjectsWithFetchSpecification: editingContext:

- (NSArray*) databaseContext: (EODatabaseContext*)context shouldFetchObjectsWithFetchSpecification: (EOFetchSpecification*)fetchSpecification editingContext: (EOEditingContext*)editingContext;
Description forthcoming.

### databaseContext: shouldHandleDatabaseException:

- (BOOL) databaseContext: (EODatabaseContext*)databaseContext shouldHandleDatabaseException: (NSException*)exception;
If the delegate returns `NO`, it is responsible for doing the right thing This is new in WO 4.5

### databaseContext: shouldInvalidateObjectWithGlobalID: snapshot:

- (BOOL) databaseContext: (EODatabaseContext*)context shouldInvalidateObjectWithGlobalID: (EOGlobalID*)globalId snapshot: (NSDictionary*)snapshot;
Description forthcoming.

### databaseContext: shouldLockObjectWithGlobalID: snapshot:

- (BOOL) databaseContext: (EODatabaseContext*)databaseContext shouldLockObjectWithGlobalID: (EOGlobalID*)globalID snapshot: (NSDictionary*)snapshot;
Description forthcoming.

### databaseContext: shouldRaiseExceptionForLockFailure:

- (BOOL) databaseContext: (EODatabaseContext*)databaseContext shouldRaiseExceptionForLockFailure: (NSException*)exception;
Description forthcoming.

### databaseContext: shouldSelectObjectsWithFetchSpecification: databaseChannel:

- (BOOL) databaseContext: (EODatabaseContext*)context shouldSelectObjectsWithFetchSpecification: (EOFetchSpecification*)fetchSpecification databaseChannel: (EODatabaseChannel*)channel;
Description forthcoming.

### databaseContext: shouldUpdateCurrentSnapshot: newSnapshot: globalID: databaseChannel:

- (NSDictionary*) databaseContext: (EODatabaseContext*)context shouldUpdateCurrentSnapshot: (NSDictionary*)currentSnapshot newSnapshot: (NSDictionary*)newSnapshot globalID: (EOGlobalID*)globalID databaseChannel: (EODatabaseChannel*)channel;
Description forthcoming.

### databaseContext: shouldUsePessimisticLockWithFetchSpecification: databaseChannel:

- (BOOL) databaseContext: (EODatabaseContext*)context shouldUsePessimisticLockWithFetchSpecification: (EOFetchSpecification*)fetchSpecification databaseChannel: (EODatabaseChannel*)channel;
Description forthcoming.

### databaseContext: willOrderAdaptorOperationsFromDatabaseOperations:

- (NSArray*) databaseContext: (EODatabaseContext*)context willOrderAdaptorOperationsFromDatabaseOperations: (NSArray*)databaseOps;
Description forthcoming.

### databaseContext: willPerformAdaptorOperations: adaptorChannel:

- (NSArray*) databaseContext: (EODatabaseContext*)context willPerformAdaptorOperations: (NSArray*)adaptorOps adaptorChannel: (EOAdaptorChannel*)adaptorChannel;
Description forthcoming.

### databaseContext: willRunLoginPanelToOpenDatabaseChannel:

- (BOOL) databaseContext: (EODatabaseContext*)context willRunLoginPanelToOpenDatabaseChannel: (EODatabaseChannel*)channel;
Description forthcoming.

# EODatabaseContext types

### EOUpdateStrategy

typedef enum ... EOUpdateStrategy;
Description forthcoming.

# EODatabaseContext variables

### EOCustomQueryExpressionHintKey

NSString* EOCustomQueryExpressionHintKey;
Description forthcoming.

### EODatabaseChannelNeededNotification

NSString* EODatabaseChannelNeededNotification;
Description forthcoming.

### EODatabaseContextKey

NSString* EODatabaseContextKey;
Description forthcoming.

### EODatabaseOperationsKey

NSString* EODatabaseOperationsKey;
Description forthcoming.

### EOFailedDatabaseOperationKey

NSString* EOFailedDatabaseOperationKey;
Description forthcoming.

### EOStoredProcedureNameHintKey

NSString* EOStoredProcedureNameHintKey;
Description forthcoming.

### struct _EOTransactionScope

struct _EOTransactionScope struct _EOTransactionScope;
Description forthcoming.

Up