2004-04-17 11:30:47 +00:00
/* -*-objc-*-
2002-11-15 22:57:05 +00:00
EODatabaseContext . h
2005-08-17 08:07:57 +00:00
Copyright ( C ) 2000 , 2002 , 2003 , 2004 , 2005 Free Software Foundation , Inc .
2002-11-15 22:57:05 +00:00
2006-09-14 16:06:21 +00:00
Author : Mirko Viviani < mirko . viviani @ gmail . com >
2002-11-15 22:57:05 +00:00
Date : July 2000
This file is part of the GNUstep Database Library .
This library is free software ; you can redistribute it and / or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation ; either
version 2 of the License , or ( at your option ) any later version .
This library is distributed in the hope that it will be useful ,
but WITHOUT ANY WARRANTY ; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE . See the GNU
Library General Public License for more details .
You should have received a copy of the GNU Library General Public
License along with this library ; see the file COPYING . LIB .
If not , write to the Free Software Foundation ,
2005-08-17 08:07:57 +00:00
51 Franklin Street , Fifth Floor , Boston , MA 02110 - 1301 , USA .
2002-11-15 22:57:05 +00:00
*/
# ifndef __EODatabaseContext_h__
# define __EODatabaseContext_h__
2004-03-19 16:41:21 +00:00
# ifdef GNUSTEP
2003-03-31 00:24:15 +00:00
# include <Foundation/NSObject.h>
# include <Foundation/NSHashTable.h>
# include <Foundation/NSMapTable.h>
# include <Foundation/NSLock.h>
# include <Foundation/NSDate.h>
# else
# include <Foundation/Foundation.h>
# endif
2002-12-30 22:10:43 +00:00
2003-03-31 00:24:15 +00:00
# include <EOControl/EOObjectStoreCoordinator.h>
# include <EOAccess/EODefines.h>
2002-12-30 22:10:43 +00:00
@ class NSMutableSet ;
2002-11-15 22:57:05 +00:00
@ class EOAdaptorContext ;
@ class EOAdaptorChannel ;
@ class EOAdaptorOperation ;
@ class EOEntity ;
@ class EOModel ;
@ class EORelationship ;
@ class EOAttribute ;
@ class EODatabase ;
@ class EODatabaseChannel ;
@ class EODatabaseOperation ;
typedef enum {
EOUpdateWithOptimisticLocking ,
EOUpdateWithPessimisticLocking ,
EOUpdateWithNoLocking
} EOUpdateStrategy ;
struct _EOTransactionScope ;
@ interface EODatabaseContext : EOCooperatingObjectStore
{
EODatabase * _database ;
EOAdaptorContext * _adaptorContext ;
EOUpdateStrategy _updateStrategy ;
2005-02-03 17:13:16 +00:00
NSMutableArray * _uniqueStack ; /* simple snapshots */
NSMutableArray * _deleteStack ;
2002-11-15 22:57:05 +00:00
NSMutableArray * _registeredChannels ;
NSMapTable * _dbOperationsByGlobalID ;
2004-04-17 11:30:47 +00:00
EOObjectStoreCoordinator * _coordinator ; /* unretained */
EOEditingContext * _editingContext ; /* unretained */
2005-02-03 17:13:16 +00:00
NSHashTable * _lockedObjects ; //void*
2002-11-15 22:57:05 +00:00
/*TO ADD unsigned int _currentGeneration;
unsigned int _concurentFetches ;
*/
NSMutableDictionary * _batchFaultBuffer ;
NSMutableDictionary * _batchToManyFaultBuffer ;
EOEntity * _lastEntity ;
/*TOADD
EOGlobalID * _currentGlobalID ;
NSDictionary * _currentSnapshot ;
objc_object * _currentBatch ;
*/
2005-02-03 17:13:16 +00:00
NSMutableArray * _uniqueArrayStack ; /* to-many snapshots */
2002-12-30 22:10:43 +00:00
NSHashTable * _nonPrimaryKeyGenerators ;
2002-11-15 22:57:05 +00:00
struct {
unsigned int preparingForSave : 1 ;
unsigned int beganTransaction : 1 ;
unsigned int ignoreEntityCaching : 1 ;
unsigned int _reserved : 29 ;
} _flags ;
2004-04-17 11:30:47 +00:00
id _delegate ; /* unretained */
2002-11-15 22:57:05 +00:00
struct {
unsigned int willRunLoginPanelToOpenDatabaseChannel : 1 ;
unsigned int newPrimaryKey : 1 ;
unsigned int willPerformAdaptorOperations : 1 ;
unsigned int shouldInvalidateObject : 1 ;
unsigned int willOrderAdaptorOperations : 1 ;
unsigned int shouldLockObject : 1 ;
unsigned int shouldRaiseForLockFailure : 1 ;
unsigned int shouldFetchObjects : 1 ;
unsigned int didFetchObjects : 1 ;
unsigned int shouldFetchObjectFault : 1 ;
unsigned int shouldFetchArrayFault : 1 ;
unsigned int _reserved : 21 ;
} _delegateRespondsTo ;
NSRecursiveLock * _lock ; //TODO: not lock object !
}
+ ( EODatabaseContext * ) databaseContextWithDatabase : ( EODatabase * ) database ;
2004-04-17 11:30:47 +00:00
- ( id ) initWithDatabase : ( EODatabase * ) database ;
2002-11-15 22:57:05 +00:00
+ ( EODatabaseContext * ) registeredDatabaseContextForModel : ( EOModel * ) model
editingContext : ( EOEditingContext * ) editingContext ;
+ ( Class ) contextClassToRegister ;
+ ( void ) setContextClassToRegister : ( Class ) contextClass ;
- ( BOOL ) hasBusyChannels ;
- ( NSArray * ) registeredChannels ;
- ( void ) registerChannel : ( EODatabaseChannel * ) channel ;
- ( void ) unregisterChannel : ( EODatabaseChannel * ) channel ;
- ( EODatabaseChannel * ) _availableChannelFromRegisteredChannels ;
- ( EODatabaseChannel * ) availableChannel ;
- ( EODatabase * ) database ;
- ( EOObjectStoreCoordinator * ) coordinator ;
- ( EOAdaptorContext * ) adaptorContext ;
- ( void ) setUpdateStrategy : ( EOUpdateStrategy ) strategy ;
- ( EOUpdateStrategy ) updateStrategy ;
- ( id ) delegate ;
- ( void ) setDelegate : ( id ) delegate ;
- ( void ) handleDroppedConnection ;
@ end /* EODatabaseContext */
2002-12-30 22:10:43 +00:00
@ interface EODatabaseContext ( EOObjectStoreSupport )
2002-11-15 22:57:05 +00:00
- ( id ) faultForRawRow : ( NSDictionary * ) row
entityNamed : ( NSString * ) entityName
editingContext : ( EOEditingContext * ) editingContext ;
2004-04-17 11:30:47 +00:00
- ( id ) entityForGlobalID : ( EOGlobalID * ) globalID ;
2002-12-30 22:10:43 +00:00
2002-11-15 22:57:05 +00:00
- ( id ) faultForGlobalID : ( EOGlobalID * ) globalID
editingContext : ( EOEditingContext * ) context ;
- ( NSArray * ) arrayFaultWithSourceGlobalID : ( EOGlobalID * ) globalID
relationshipName : ( NSString * ) name
editingContext : ( EOEditingContext * ) context ;
- ( void ) initializeObject : ( id ) object
withGlobalID : ( EOGlobalID * ) globalID
editingContext : ( EOEditingContext * ) context ;
- ( NSArray * ) objectsForSourceGlobalID : ( EOGlobalID * ) globalID
relationshipName : ( NSString * ) name
editingContext : ( EOEditingContext * ) context ;
2004-04-17 11:30:47 +00:00
- ( void ) _registerSnapshot : ( NSArray * ) snapshot
forSourceGlobalID : ( EOGlobalID * ) globalID
relationshipName : ( NSString * ) name
editingContext : ( EOEditingContext * ) context ;
2002-11-15 22:57:05 +00:00
2004-04-17 11:30:47 +00:00
- ( void ) refaultObject : ( id ) object
2002-11-15 22:57:05 +00:00
withGlobalID : ( EOGlobalID * ) globalID
editingContext : ( EOEditingContext * ) context ;
- ( void ) saveChangesInEditingContext : ( EOEditingContext * ) context ;
- ( NSArray * ) objectsWithFetchSpecification : ( EOFetchSpecification * ) fetchSpecification
2004-04-17 11:30:47 +00:00
editingContext : ( EOEditingContext * ) context ;
2002-11-15 22:57:05 +00:00
- ( BOOL ) isObjectLockedWithGlobalID : ( EOGlobalID * ) gid
editingContext : ( EOEditingContext * ) context ;
- ( void ) lockObjectWithGlobalID : ( EOGlobalID * ) gid
editingContext : ( EOEditingContext * ) context ;
- ( void ) invalidateAllObjects ;
- ( void ) invalidateObjectsWithGlobalIDs : ( NSArray * ) globalIDs ;
@ end
2002-12-30 22:10:43 +00:00
@ interface EODatabaseContext ( EOCooperatingObjectStoreSupport )
2002-11-15 22:57:05 +00:00
2004-04-17 11:30:47 +00:00
- ( BOOL ) ownsGlobalID : ( EOGlobalID * ) globalID ;
2002-11-15 22:57:05 +00:00
- ( BOOL ) ownsObject : ( id ) object ;
- ( BOOL ) ownsEntityNamed : ( NSString * ) entityName ;
- ( BOOL ) handlesFetchSpecification : ( EOFetchSpecification * ) fetchSpecification ;
- ( void ) prepareForSaveWithCoordinator : ( EOObjectStoreCoordinator * ) coordinator
editingContext : ( EOEditingContext * ) context ;
/** 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 : .
* */
- ( void ) recordChangesInEditingContext ;
2004-04-17 11:30:47 +00:00
- ( void ) recordUpdateForObject : ( id ) object
2002-11-15 22:57:05 +00:00
changes : ( NSDictionary * ) changes ;
- ( void ) performChanges ;
- ( void ) commitChanges ;
- ( void ) rollbackChanges ;
2004-04-17 11:30:47 +00:00
- ( NSDictionary * ) valuesForKeys : ( NSArray * ) keys object : ( id ) object ;
2002-11-15 22:57:05 +00:00
2004-04-17 11:30:47 +00:00
- ( void ) relayPrimaryKey : ( NSDictionary * ) pk
2002-11-15 22:57:05 +00:00
object : ( id ) object
2004-04-17 11:30:47 +00:00
entity : ( EOEntity * ) entity ;
2002-11-15 22:57:05 +00:00
2004-04-17 11:30:47 +00:00
- ( void ) nullifyAttributesInRelationship : ( EORelationship * ) relationship
2002-11-15 22:57:05 +00:00
sourceObject : ( id ) sourceObject
2004-04-17 11:30:47 +00:00
destinationObjects : ( NSArray * ) destinationObjects ;
- ( void ) nullifyAttributesInRelationship : ( EORelationship * ) relationship
2002-11-15 22:57:05 +00:00
sourceObject : ( id ) sourceObject
destinationObject : ( id ) destinationObject ;
2004-04-17 11:30:47 +00:00
- ( void ) relayAttributesInRelationship : ( EORelationship * ) relationship
2002-11-15 22:57:05 +00:00
sourceObject : ( id ) sourceObject
2004-04-17 11:30:47 +00:00
destinationObjects : ( NSArray * ) destinationObjects ;
- ( NSDictionary * ) relayAttributesInRelationship : ( EORelationship * ) relationship
sourceObject : ( id ) sourceObject
destinationObject : ( id ) destinationObject ;
* EOAccess/EOSQLExpression.h (deleteStatementWithQualifier:entity:)
* EOAccess/EOSQLExpressionPriv.h (_aliasForRelationshipPath:)
(_flattenRelPath:entity:, _aliasForRelatedAttribute:relationshipPath:)
* EOAccess/EOSQLExpression.m (insertStatementForRow:entity:)
(updateStatementForRow:qualifier:entity:)
(deleteStatementWithQualifier:entity:)
(selectStatementForAttributes:lock:fetchSpecification:entity:)
(_aliasForRelationshipPath:)
* EOAccess/EORelationship.h (intermediateEntity)
(_foreignKeyForSourceRow:)
* EOAccess/EORelationship.m (_foreignKeyForSourceRow:, _leftSideKeyMap)
* EOAccess/EODatabaseContext.h (databaseOperationForObject:)
(databaseOperationForGlobalID:, recordDatabaseOperation:)
(_openChannelWithLoginPanel:)
* EOAccess/EODatabaseContextPriv.h (primaryKeyForObject:)
(_currentCommittedSnapshotForObject:)
* EOAccess/EOEntityPriv.h (_keyMapForRelationshipPath:)
(_keyMapForIdenticalKeyRelationshipPath:, _mapAttribute:)
(_relationshipPathIsToMany: valueForSQLExpression:)
(_parsePropertyName:, classPropertyAttributeNames)
(classPropertyToManyRelationshipNames)
(classPropertyToOneRelationshipNames, dbSnapshotKeys)
* EOAccess/EOUtilities.m (rawRowsForEntityNamed:qualifierFormat:)
(rawRowsMatchingValue:forKey:entityNamed:)
(rawRowsMatchingValues:entityNamed:, rawRowsWithSQL:modelNamed:)
(rawRowsWithStoredProcedureNamed:arguments:)
(executeStoredProcedureNamed:arguments:, databaseContextForModelNamed:)
(primaryKeyForObject:)
(destinationKeyForSourceObject:relationshipNamed:)
* EOAccess/EOEntity.m
(_mapAttribute:toDestinationAttributeInLastComponentOfRelationshipPath:)
* EOAccess/EOAdaptor.h (adaptorWithModel:,adaptorWithName:)
* EOAccess/EOModel.h (_classDescriptionNeeded:,_entityForClass:)
(_addEntityWithPropertyList:)
* EOAdaptors/Postgres95/Postgres95Channel.h
(_evaluateExpression:withAttributes:)
* EOControl/EOMutableKnownKeyDictionary.h/m (arrayMappingForKeys:)
(subsetMappingForSourceDictionaryInitializer:sourceKeys:destinationKeys:)
(subsetMappingForSourceDictionaryInitializer:)
(setObject:forKey:, removeObjectForKey:, indexForKey:, objectForKey:)
* EOControl/EOEditingContext.m (handleErrors:,setSharedEditingContext:)
(faultForRawRow:entityNamed:)
* GDL2Palette/KeyWrapper.h (setKey:, _key):
* EOModeler/EOModelerEditor.h (selectionWithinViewedObject)
* EOModeler/EOModelerEditor.m (initWithDocument:)
(initWithParentEditor:)
Correct method signatures. Add necessary forward @class declations.
* EOInterface/EOMasterDetailAssociation.m (establishConnection):
* DBModeler/ModelerTableEmbedibleEditor.m
(addDefaultTableColumnsForTableView:displayGroup:)
* DBModeler/DefaultColumnProvider.m (setupTitleForColumn:named:)
Cast types to avoid compiler warnings.
* EOControl/EOCheapArray.m (dealloc): Supress compiler warning.
* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m (dealloc)
* EOModeler/EOModelerEditor.m (dealloc):
* DBModeler/ModelerAttributeEditor.m (dealloc): Add missing call
to super.
* DBModeler/Preferences.m (sharedPreferences): Fix implementation for
new compiler semantics.
* EOControl/EOMultiReaderLock.m (init): Correct NSConditionLock
initialization.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23472 72102866-910b-0410-8b05-ffd578937521
2006-09-12 19:36:24 +00:00
- ( EODatabaseOperation * ) databaseOperationForObject : ( id ) object ;
- ( EODatabaseOperation * ) databaseOperationForGlobalID : ( EOGlobalID * ) gid ;
- ( void ) recordDatabaseOperation : ( EODatabaseOperation * ) databaseOpe ;
2004-04-17 11:30:47 +00:00
- ( void ) recordDeleteForObject : ( id ) param0 ;
- ( void ) recordInsertForObject : ( id ) param0 ;
- ( void ) createAdaptorOperationsForDatabaseOperation : ( EODatabaseOperation * ) dbOpe
attributes : ( NSArray * ) attributes ;
- ( void ) createAdaptorOperationsForDatabaseOperation : ( EODatabaseOperation * ) dbOpe ;
- ( NSArray * ) orderAdaptorOperations ;
- ( NSArray * ) entitiesOnWhichThisEntityDepends : ( EOEntity * ) entity ;
- ( NSArray * ) entityNameOrderingArrayForEntities : ( NSArray * ) entities ;
- ( BOOL ) isValidQualifierTypeForAttribute : ( EOAttribute * ) attribute ;
- ( id ) lockingNonQualifiableAttributes : ( NSArray * ) attributes ;
- ( NSArray * ) lockingAttributesForAttributes : ( NSArray * ) attributes
entity : ( EOEntity * ) enity ;
- ( NSArray * ) primaryKeyAttributesForAttributes : ( NSArray * ) attributes
entity : ( EOEntity * ) entity ;
- ( EOQualifier * ) qualifierForLockingAttributes : ( NSArray * ) attributes
primaryKeyAttributes : ( NSArray * ) primaryKeyAttributes
entity : ( EOEntity * ) entity
snapshot : ( NSDictionary * ) snapshot ;
- ( void ) insertEntity : ( EOEntity * ) entity
intoOrderingArray : ( NSMutableArray * ) orderingArray
withDependencies : ( NSDictionary * ) dependencies
processingSet : ( NSMutableSet * ) processingSet ;
- ( void ) processSnapshotForDatabaseOperation : ( EODatabaseOperation * ) dbOpe ;
- ( NSDictionary * ) valuesToWriteForAttributes : ( NSArray * ) attributes
entity : ( EOEntity * ) entity
changedValues : ( NSDictionary * ) changedValues ;
2002-11-15 22:57:05 +00:00
@ end
@ interface EODatabaseContext ( EOBatchFaulting )
- ( void ) batchFetchRelationship : ( EORelationship * ) relationship
forSourceObjects : ( NSArray * ) objects
editingContext : ( EOEditingContext * ) editingContext ;
@ end
@ interface EODatabaseContext ( EODatabaseSnapshotting )
- ( void ) recordSnapshot : ( NSDictionary * ) snapshot
forGlobalID : ( EOGlobalID * ) gid ;
/** 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 . * */
- ( NSDictionary * ) snapshotForGlobalID : ( EOGlobalID * ) gid
after : ( NSTimeInterval ) ti ;
/** 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 . * */
- ( NSDictionary * ) snapshotForGlobalID : ( EOGlobalID * ) gid ;
- ( void ) recordSnapshot : ( NSArray * ) gids
forSourceGlobalID : ( EOGlobalID * ) gid
relationshipName : ( NSString * ) name ;
- ( NSArray * ) snapshotForSourceGlobalID : ( EOGlobalID * ) gid
relationshipName : ( NSString * ) name ;
/** Returns the snapshot for the globalID (nil if there's none).
Only searches locally ( in the transaction scope ) , not in the EODatabase . * */
- ( NSDictionary * ) localSnapshotForGlobalID : ( EOGlobalID * ) gid ;
- ( NSArray * ) localSnapshotForSourceGlobalID : ( EOGlobalID * ) gid
2004-04-17 11:30:47 +00:00
relationshipName : ( NSString * ) name ;
2002-11-15 22:57:05 +00:00
- ( void ) forgetSnapshotForGlobalID : ( EOGlobalID * ) gid ;
- ( void ) forgetSnapshotsForGlobalIDs : ( NSArray * ) gids ;
- ( void ) recordSnapshots : ( NSDictionary * ) snapshots ;
- ( void ) recordToManySnapshots : ( NSDictionary * ) snapshots ;
- ( void ) registerLockedObjectWithGlobalID : ( EOGlobalID * ) globalID ;
- ( BOOL ) isObjectLockedWithGlobalID : ( EOGlobalID * ) globalID ;
- ( void ) forgetAllLocks ;
- ( void ) forgetLocksForObjectsWithGlobalIDs : ( NSArray * ) gids ;
2004-04-17 11:30:47 +00:00
- ( void ) _rollbackTransaction ;
- ( void ) _commitTransaction ;
- ( void ) _beginTransaction ;
- ( EODatabaseChannel * ) _obtainOpenChannel ;
* EOAccess/EOSQLExpression.h (deleteStatementWithQualifier:entity:)
* EOAccess/EOSQLExpressionPriv.h (_aliasForRelationshipPath:)
(_flattenRelPath:entity:, _aliasForRelatedAttribute:relationshipPath:)
* EOAccess/EOSQLExpression.m (insertStatementForRow:entity:)
(updateStatementForRow:qualifier:entity:)
(deleteStatementWithQualifier:entity:)
(selectStatementForAttributes:lock:fetchSpecification:entity:)
(_aliasForRelationshipPath:)
* EOAccess/EORelationship.h (intermediateEntity)
(_foreignKeyForSourceRow:)
* EOAccess/EORelationship.m (_foreignKeyForSourceRow:, _leftSideKeyMap)
* EOAccess/EODatabaseContext.h (databaseOperationForObject:)
(databaseOperationForGlobalID:, recordDatabaseOperation:)
(_openChannelWithLoginPanel:)
* EOAccess/EODatabaseContextPriv.h (primaryKeyForObject:)
(_currentCommittedSnapshotForObject:)
* EOAccess/EOEntityPriv.h (_keyMapForRelationshipPath:)
(_keyMapForIdenticalKeyRelationshipPath:, _mapAttribute:)
(_relationshipPathIsToMany: valueForSQLExpression:)
(_parsePropertyName:, classPropertyAttributeNames)
(classPropertyToManyRelationshipNames)
(classPropertyToOneRelationshipNames, dbSnapshotKeys)
* EOAccess/EOUtilities.m (rawRowsForEntityNamed:qualifierFormat:)
(rawRowsMatchingValue:forKey:entityNamed:)
(rawRowsMatchingValues:entityNamed:, rawRowsWithSQL:modelNamed:)
(rawRowsWithStoredProcedureNamed:arguments:)
(executeStoredProcedureNamed:arguments:, databaseContextForModelNamed:)
(primaryKeyForObject:)
(destinationKeyForSourceObject:relationshipNamed:)
* EOAccess/EOEntity.m
(_mapAttribute:toDestinationAttributeInLastComponentOfRelationshipPath:)
* EOAccess/EOAdaptor.h (adaptorWithModel:,adaptorWithName:)
* EOAccess/EOModel.h (_classDescriptionNeeded:,_entityForClass:)
(_addEntityWithPropertyList:)
* EOAdaptors/Postgres95/Postgres95Channel.h
(_evaluateExpression:withAttributes:)
* EOControl/EOMutableKnownKeyDictionary.h/m (arrayMappingForKeys:)
(subsetMappingForSourceDictionaryInitializer:sourceKeys:destinationKeys:)
(subsetMappingForSourceDictionaryInitializer:)
(setObject:forKey:, removeObjectForKey:, indexForKey:, objectForKey:)
* EOControl/EOEditingContext.m (handleErrors:,setSharedEditingContext:)
(faultForRawRow:entityNamed:)
* GDL2Palette/KeyWrapper.h (setKey:, _key):
* EOModeler/EOModelerEditor.h (selectionWithinViewedObject)
* EOModeler/EOModelerEditor.m (initWithDocument:)
(initWithParentEditor:)
Correct method signatures. Add necessary forward @class declations.
* EOInterface/EOMasterDetailAssociation.m (establishConnection):
* DBModeler/ModelerTableEmbedibleEditor.m
(addDefaultTableColumnsForTableView:displayGroup:)
* DBModeler/DefaultColumnProvider.m (setupTitleForColumn:named:)
Cast types to avoid compiler warnings.
* EOControl/EOCheapArray.m (dealloc): Supress compiler warning.
* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m (dealloc)
* EOModeler/EOModelerEditor.m (dealloc):
* DBModeler/ModelerAttributeEditor.m (dealloc): Add missing call
to super.
* DBModeler/Preferences.m (sharedPreferences): Fix implementation for
new compiler semantics.
* EOControl/EOMultiReaderLock.m (init): Correct NSConditionLock
initialization.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23472 72102866-910b-0410-8b05-ffd578937521
2006-09-12 19:36:24 +00:00
- ( BOOL ) _openChannelWithLoginPanel : ( EODatabaseChannel * ) databaseChannel ;
2004-04-17 11:30:47 +00:00
- ( void ) _forceDisconnect ;
- ( void ) initializeObject : ( id ) object
row : ( NSDictionary * ) row
entity : ( EOEntity * ) entity
editingContext : ( EOEditingContext * ) context ;
2002-11-15 22:57:05 +00:00
@ end
@ interface EODatabaseContext ( EOMultiThreaded ) < NSLocking >
- ( void ) lock ;
- ( void ) unlock ;
@ end
2003-03-31 00:24:15 +00:00
GDL2ACCESS_EXPORT NSString * EODatabaseChannelNeededNotification ;
2002-11-15 22:57:05 +00:00
@ interface NSObject ( EODatabaseContextDelegation )
- ( BOOL ) databaseContext : ( EODatabaseContext * ) context
willRunLoginPanelToOpenDatabaseChannel : ( EODatabaseChannel * ) channel ;
- ( NSDictionary * ) databaseContext : ( EODatabaseContext * ) context
newPrimaryKeyForObject : ( id ) object
entity : ( EOEntity * ) entity ;
- ( BOOL ) databaseContext : ( EODatabaseContext * ) context
failedToFetchObject : ( id ) object
globalID : ( EOGlobalID * ) gid ;
- ( NSArray * ) databaseContext : ( EODatabaseContext * ) context
willOrderAdaptorOperationsFromDatabaseOperations : ( NSArray * ) databaseOps ;
- ( NSArray * ) databaseContext : ( EODatabaseContext * ) context
willPerformAdaptorOperations : ( NSArray * ) adaptorOps
adaptorChannel : ( EOAdaptorChannel * ) adaptorChannel ;
- ( BOOL ) databaseContext : ( EODatabaseContext * ) context
shouldInvalidateObjectWithGlobalID : ( EOGlobalID * ) globalId
snapshot : ( NSDictionary * ) snapshot ;
- ( NSArray * ) databaseContext : ( EODatabaseContext * ) context
shouldFetchObjectsWithFetchSpecification : ( EOFetchSpecification * ) fetchSpecification
editingContext : ( EOEditingContext * ) editingContext ;
- ( void ) databaseContext : ( EODatabaseContext * ) context
didFetchObjects : ( NSArray * ) objects
fetchSpecification : ( EOFetchSpecification * ) fetchSpecification
editingContext : ( EOEditingContext * ) editingContext ;
- ( BOOL ) databaseContext : ( EODatabaseContext * ) context
shouldSelectObjectsWithFetchSpecification : ( EOFetchSpecification * ) fetchSpecification
databaseChannel : ( EODatabaseChannel * ) channel ;
- ( BOOL ) databaseContext : ( EODatabaseContext * ) context
shouldUsePessimisticLockWithFetchSpecification : ( EOFetchSpecification * ) fetchSpecification
databaseChannel : ( EODatabaseChannel * ) channel ;
- ( void ) databaseContext : ( EODatabaseContext * ) context
didSelectObjectsWithFetchSpecification : ( EOFetchSpecification * ) fetchSpecification
databaseChannel : ( EODatabaseChannel * ) channel ;
- ( NSDictionary * ) databaseContext : ( EODatabaseContext * ) context
shouldUpdateCurrentSnapshot : ( NSDictionary * ) currentSnapshot
newSnapshot : ( NSDictionary * ) newSnapshot
globalID : ( EOGlobalID * ) globalID
databaseChannel : ( EODatabaseChannel * ) channel ;
- ( BOOL ) databaseContext : ( EODatabaseContext * ) databaseContext
shouldLockObjectWithGlobalID : ( EOGlobalID * ) globalID
snapshot : ( NSDictionary * ) snapshot ;
- ( BOOL ) databaseContext : ( EODatabaseContext * ) databaseContext
shouldRaiseExceptionForLockFailure : ( NSException * ) exception ;
- ( BOOL ) databaseContext : ( EODatabaseContext * ) databaseContext
shouldFetchObjectFault : ( id ) fault ;
- ( BOOL ) databaseContext : ( EODatabaseContext * ) databaseContext
shouldFetchArrayFault : ( id ) fault ;
@ end
2003-03-31 00:24:15 +00:00
GDL2ACCESS_EXPORT NSString * EOCustomQueryExpressionHintKey ;
2004-11-02 10:43:58 +00:00
GDL2ACCESS_EXPORT NSString * EOStoredProcedureNameHintKey ;
2002-11-15 22:57:05 +00:00
2003-03-31 00:24:15 +00:00
GDL2ACCESS_EXPORT NSString * EODatabaseContextKey ;
GDL2ACCESS_EXPORT NSString * EODatabaseOperationsKey ;
GDL2ACCESS_EXPORT NSString * EOFailedDatabaseOperationKey ;
2002-11-15 22:57:05 +00:00
# endif /* __EODatabaseContext_h__ */