Check FOUNDATION_HAS_KVC to determine whether EONull categories
should be applied to NSNull instead.
([EOSortOrdering +sortOrderingWithKey:selector:]): Use AUTORELEASE
instead of -autorelease.
([EOSortOrdering -initWithKey:selector:]): Use ASSIGNCOPY instead
of ASSIGN to set key to insure immutability.
([EOSortOrdering -description]): Implemented.
([NSArray (EOKeyBasedSorting) compareUsingSortOrderings()): New
function.
([NSArray (EOKeyBasedSorting) -sortedArrayUsingKeyOrderArray:]):
Reimplemented using [NSArray -sortedArrayUsingFunction:context:]
with new compareUsingSortOrderings() function.
([NSMutableArray (EOKeyBasedSorting) -sortUsingKeyOrderArray:]):
Reimplemented using [NSMutableArray -sortUsingFunction:context:]
with new compareUsingSortOrderings() function.
([NSMutableArray -_sortUsingKeyOrder:fromIndex:count:]): Removed.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16023 72102866-910b-0410-8b05-ffd578937521
([EOAndQualifier +qualifierWithQualifiers:]),
([EOAndQualifier -initWithQualifiers:]): Synchronize implementation.
([EOAndQualifier -initWithQualifierArray:]): Change ASSIGN to
ASSIGNCOPY when setting qualifier array (insuring immutability).
([EOAndQualifier -copyWithZone:]): remove (use implementation from
superclass).
* EOControl/EOKeyComparisonQualifier.m: Added documentation.
([EOKeyComparisonQualifier
+qualifierWithLeftKey:operatorSelector:rightKey:]): Use
AUTORELEASE() instead of -autorelease.
([EOKeyComparisonQualifier
-initWithLeftKey:operatorSelector:rightKey:]): Use ASSIGNCOPY
instead of ASSIGN to insure immutable keys. Added comment about
possible selector assertion.
([EOKeyComparisonQualifier -copyWithZone:]): remove (use
implementation from superclass).
([EOKeyComparisonQualifier -evaluateWithObject:]): Try to call the
receivers selector before attempting to fallback on other
mechanisms to evaluate the object. Adjusted local variable names
and fixed fallback Equal, NotEqual and Contains comparisons.
([EOKeyComparisonQualifier -description]): Fall back to
NSStringFromSelector() if +stringForOperatorSelector returns nil.
* EOControl/EOKeyValueQualifier.m: Added documentation
([EOKeyValueQualifier +qualifierWithKey:operatorSelector:value:]): Use
AUTORELEASE() instead of -autorelease.
([EOKeyValueQualifier -initWithKey:operatorSelector:value:]): Use
ASSIGNCOPY instead of ASSIGN to insure immutable key. Added
comment about possible selector assertion.
([EOKeyValueQualifier -copyWithZone:]): remove (use implementation
from superclass).
([EOKeyValueQualifier -evaluateWithObject:]): Try to call the
receivers selector before attempting to fallback on other
mechanisms to evaluate the object. Adjusted local variable names
and fixed fallback Equal, NotEqual and Contains comparisons.
([EOKeyValueQualifier -description]): Fall back to
NSStringFromSelector() if +stringForOperatorSelector returns nil.
* EOControl/EONotQualifier.m: Added documentation.
([EONotQualifier -copyWithZone:]): remove (use implementation from
superclass).
([EONotQualifier -evaluateWithObject:]): Implemented.
* EOControl/EOOrQualifier.m: Added documentation.
([EOOrQualifier +qualifierWithQualifiers:]),
([EOORQualifier -initWithQualifiers:]): Synchronize implementation.
([EOOrQualifier -copyWithZone:]): remove (use implementation from
superclass).
([EOOrQualifier -evaluateWithObject:]): Corrected implementation.
* EOControl/EOQualifier.m: Added documentation
([EOQualifier +initialize]), (getKey()): Replace autorelease with
AUTORELEASE().
([EOQualifier -copyWithZone:]): RETAIN() instead of NSCopyObject().
([EOQualifier +variableWithKey:]): Corrected implementation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15952 72102866-910b-0410-8b05-ffd578937521
NSAutoreleasePool.
* EOControl/EOGlobalID.m ([EOGlobalID +initialize]): removed dependency
from EOAccess.
* EOControl/EOFetchSpecification.m ([EOFetchSpecification
+initialize]): likewise.
([EOFetchSpecification +fetchSpecificationNamed:entityNamed:]): readded
since it is replaced by the category in EOUtilitites !
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15856 72102866-910b-0410-8b05-ffd578937521
* EOAccess/EOAdaptorChannel.m:
o replaced NSDebugMLLog by EOFLOGObjectLevel/EOFLOGObjectLevelArgs
* EOAccess/EOAttribute.m:
o replaced NSDebugMLLog by EOFLOGObjectLevel/EOFLOGObjectLevelArgs
* EOAccess/EODatabaseChannel.m:
o replaced NSDebugMLLog by EOFLOGObjectLevel/EOFLOGObjectLevelArgs
o Move registration for EODatabaseChannelNeddedNotification
from +load to +initialize. (David Ayers <d.ayers@inode.at>)
* EOAccess/EODatabaseContext.m:
o Move registration for EODatabaseChannelNeddedNotification
from +load to +initialize. (David Ayers <d.ayers@inode.at>)
* EOAccess/EOEntity.m:
o in - (void) _setIsEdited, autorelease instead of destroy
* EOAccess/EORelationship.m
o -validateValue: don't raise not implemented exception
o initialize variables in -foreignKeyInDestination
* EOAccess/EOSQLExpression.m:
o added NSAsserts
o use anyRelationshipNamed: instead of relationshipNamed: to
find hidden relationships
* EOControl/EOClassDescription.m
o -displayNameForKey: use -stringWithCapacity instead
of +alloc -initWithCapacity (missing autorelease)
o -validationExceptionWithFormat: initialize variables
o -aggregateExceptionWithExceptions: initialize variables
o -aggregateExceptionWithExceptions: autorelease copied value
o -exceptionAddingEntriesToUserInfo: initialize variables
o -exceptionAddingEntriesToUserInfo: autorelease copied userInfo
o -snapshot autorelease copied value
o -updateFromSnapshot: autorelease copied value
* EOControl/EOFetchSpecification.h:
o added +fetchSpecificationWithEntityName:qualifier:sortOrderings:usesDistinct:isDeep:hints:
o added +fetchSpecificationWithEntityName:qualifier:sortOrderings:usesDistinct:
* EOControl/EOFetchSpecification.m:
o added +fetchSpecificationWithEntityName:qualifier:sortOrderings:usesDistinct:isDeep:hints:
o added +fetchSpecificationWithEntityName:qualifier:sortOrderings:usesDistinct:
o removed +fetchSpecificationNamed:entityNamed: (implemented in EOUtilities)
o Insure that EODatabaseContext is initialized early. (David Ayers <d.ayers@inode.at>)
* EOControl/EOGenericRecord.m
o in -eoFormatSizeDictionary: handle /0
o in +eoCalculateAllSizeWith: don't de-fault objects
o in +eoCalculateAllSizeWith: manage a local autorelease pool
* EOControl/EOKeyValueCoding.h:
o added -smartTakeValue:forKey:
o -smartTakeValue:forKeyPath:
o -storedValuesForKeyPaths:
* EOControl/EOGlobalID.m:
o Insure that EODatabaseContext is initialized early. (David Ayers <d.ayers@inode.at>)
* EOControl/EOQualifier.m:
o +operatorSelectorForString:]): Parse 'doesContain' instead of
'contains' (David Ayers <d.ayers@inode.at>)
* EOControl/EODebug.m:
o include NSDebug.h
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15845 72102866-910b-0410-8b05-ffd578937521
row:entity:editingContext:]): set nil instead of EONull
* EOControl/EONull.m: included config.h
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15370 72102866-910b-0410-8b05-ffd578937521
-inverseForRelationshipKey:]): Fixed to return a relationship name that
is a class property.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15308 72102866-910b-0410-8b05-ffd578937521
-foreignKeyInDestination]): use destinationEntity to search for pk.
* EOAccess/EODatabaseContext.m ([EODatabaseContext
-_buildPrimaryKeyGeneratorListForEditingContext:]): check if the
relationship propagates the pk to an entity pk.
([EODatabaseContext -relayAttributesInRelationship:sourceObject:
destinationObject:]): record updates for relationship with fk and the
ones that propatates pk.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15295 72102866-910b-0410-8b05-ffd578937521
+_registerDatabaseContext:]): added a warning if the specified model
is not found.
* EOAdaptors/Postgres95/Makefile.preamble.in (LIBRARIES_DEPEND_UPON):
added postgres libs here.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15258 72102866-910b-0410-8b05-ffd578937521
implemented the case of invoking an aggregate function using a simple
key.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15242 72102866-910b-0410-8b05-ffd578937521
* EOAccess/EODatabase.m
o in -entityForObject: test for EONull or nil instead of just nil
* EOAccess/EODatabaseContext.m:
o in -valuesForKeys:object: test for EONull or nil instead of just nil
* EOControl/EOGenericRecord.m:
o replaced GSObjCFindVariable by GSObjCFindInstanceVariable
o replaced GSObjCGetValue by GSGetValue
o replaced GSObjCSetValue by GSSetValue
* EOAccess/EOSQLExpression.m:
o changed assertion message in -sqlStringForAttributeNamed:
* EOAccess/EOSQLQualifier.m:
o finished EOAndQualifier -schemaBasedQualifierWithRootEntity implementation
o done EOOrQualifier -schemaBasedQualifierWithRootEntity implementation
o modified EOKeyValueQualifier -schemaBasedQualifierWithRootEntity:
to use EONull for EONull value relationship attribute value
so it will make sql like is null instead of = NULL which
doesn't work on Postgresql.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15189 72102866-910b-0410-8b05-ffd578937521
* EOAccess/EODatabaseContext.m
o logs
o changes in _primaryKeyForObject: to handle
inserted "child" of already existing object case
* EOControl/EODetailDataSource.m:
o implemented -description
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15187 72102866-910b-0410-8b05-ffd578937521
* EOAccess/EOModel.m:
o fixed typo in -entityNamed:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15138 72102866-910b-0410-8b05-ffd578937521
* EOAccess/EOEntity.m:
o implemented flattened relationship handling in
-EOEntity _parseRelationshipPath:
* EOAccess/EOAccessFault.m:
o fixed logs in -EOAccesFaultHandler dealloc
o added [super dealloc] in -EOAccesFaultHandler dealloc
o added logs in -EOAccessArrayFaultHandler dealloc
* EOAdaptors/Postgres95/Postgres95Channel.m:
o removed log
* EOAccess/EOAdaptorChannel.m
o Handle direct SQL query case in
-dictionaryWithObjects:forAttributes:zone:
* EOAccess/EOClassDescription.m
o implement some cases in -addObject:toBothSidesOfRelationshipWithKey:
* EOControl/EOGenericRecord.m:
o avoid infinit loop in -description
* EOAccess/EODatabaseContext.m
o implement some cases in -entitiesOnWhichThisEntityDepends:
o changed return type of -entitiesOnWhichThisEntityDepends:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@15108 72102866-910b-0410-8b05-ffd578937521