Add -lgnustep-baseadd as ADDITIONAL_TOOL_LIBS for non-*-gnu-*.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18511 72102866-910b-0410-8b05-ffd578937521
o added -dictionaryForProperties
o added EOEntityClassDescription -dictionaryForProperties
wich use entity -_dictionaryForProperties
* EOControl/EOGenericRecord.m/h:
o use EOClassDescription -dictionaryForProperties
instead of building itself it's dictionary so we can
always use the same EOMKKDInitializer to save (lots of)
memory.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18227 72102866-910b-0410-8b05-ffd578937521
o fix in EOOrQualifier -sqlStringForSQLExpression:
use sqlExpression -sqlStringForDisjoinedQualifiers:
(problem was missing () around expression)
* EOControl/EOAndQualifier.m:
o implemented -_addBindingsToDictionary:
o implemented -qualifierWithBindings:requiresAllVariables:
o implemented -validateKeysWithRootClassDescription:
* EOControl/EOKeyValueQualifier.m:
o implemented -validateKeysWithRootClassDescription:
o implemented -initWithKeyValueUnarchiver:
o removed duplicate -initWithKeyValueUnarchiver: and
-encodeWithKeyValueArchiver
o implemented -_addBindingsToDictionary:
o implemented -qualifierWithBindings:requiresAllVariables:
* EOControl/EOOrQualifier.m:
o implemented -_addBindingsToDictionary:
o implemented -qualifierWithBindings:requiresAllVariables:
o implemented -validateKeysWithRootClassDescription:
* EOControl/EONotQualifier.m:
o implemented -_addBindingsToDictionary:
o implemented -validateKeysWithRootClassDescription:
o implemented -qualifierWithBindings:requiresAllVariables:
* EOControl/EOQualifier.m:
o implemented _validateKey:withRootClassDescription:
o implemented -validateKeysWithRootClassDescription:
o implemented -bindingKeys
o implemented -keyPathForBindingKey:
o added EOQualifierVariableSubstitutionException;
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18226 72102866-910b-0410-8b05-ffd578937521
o renamed _useAliases to _flags.useAliases
o added _flags.hasOuterJoin
o call qualifier -sqlStringForSQLExpression:
instead of switching on qualifier class
in -sqlStringForArrayOfQualifiers:operation:
o asserts
o fill _contextStack
o added outer joins checks in -_flattenRelPath:entity:
(Used in Postgresql)
* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
o subclass joinExpression to avoid building join
expression (it's now build in -tableListWithRootEntity
o sublass -tableListWithRootEntity to add joins in it.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18225 72102866-910b-0410-8b05-ffd578937521
o added _instanceDictionaryInitializer.
Permit to have a restricted dictionary initializer
(i.e. propertyDictionaryInitializer minus instance
object ivars).
o added NSObject
+_instanceDictionaryInitializerExcludedPropertyNames
o more information in log/exception in _parseRelationshipPath
o added -_instanceDictionaryInitializer
o added - _dictionaryForInstanceProperties
o added -_classForInstances
* EOAccess/EOModel.m:
o added asserts
o clean warnings
* EOAccess/EORelationship.m:
o asserts
o fix in -isReciprocalToRelationship:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18224 72102866-910b-0410-8b05-ffd578937521
o in -prepareForSaveWithCoordinator:editingContext:
Try harder to find primary key (for linked objects
with more than one attribute for PK)
* EOAccess/EODatabaseContextPriv.h
o added -_primaryKeyForObject:raiseException:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18223 72102866-910b-0410-8b05-ffd578937521
o introducing new number types:
('u' for long long / int8 and 'U' for unsigned long long)
* EOAdaptors/Postgres95/Postgres95Adaptor.m:
o added int8, bigint
* EOAdaptors/Postgres95/Postgres95Channel.m:
o handling bigint
o fixed types for int2 and int8
* EOAdaptors/Postgres95/Postgres95Values.m:
o added missing number types
o introducing new number types:
('u' for long long / int8 and 'U' for unsigned long long)
* EOControl/EONSAddOns.h/m
o added number accessors for NSString
o added NSObject
-performSelector:withObject:withObject:withObject:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18221 72102866-910b-0410-8b05-ffd578937521
macro.
* EOControl/EOQualifier.m (_isLike): New static function to
implement -isLike: and -isCaseInsensitiveLike:.
(-[NSString isLike:]): Implemented.
(-[NSString isCaseInsensitiveLike:]): Ditto.
(-[NSArray filteredArrayUsingQualifier:]): Adapted to use
experimental GDL2_BUFFER macro.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@17969 72102866-910b-0410-8b05-ffd578937521
(-[EOFetchSpecification fetchSpecificationNamed:entityNamed:]}:
Implemented upon bug report by Philip Moetteli.
* EOAccess/EOAttributePriv.h (-[EOAttribute _valueClass]):
Declare new private method.
* EOAccess/EOAttribute.m: Remove declaration of unsused static
variable. Format documentation.
(-[EOAttribute serverTimeZone]): Remove duplicate
implementation which is always overriden by the category
and correct the category implementation.
(-[EOAttribute valueClassName]): Minor optimisation.
(-[EOAttribute externalType]): Ditto.
(-[EOAttribute valueType]): Ditto.
(-[EOAttribute newValueForBytes:length:]): Use -_valueClass
method to insure correct valueClass usage. Bug reported
by Philip Moetteli.
(-[EOAttribute newValueForBytes:length:encoding:]): Ditto.
(-[EOAttribute adaptorValueType]): Ditto.
(-[EOAttribute validateValue:]): Ditto. Use -width method to
insure correct usage of width with respect to prototypes.
(-[EOAttribute _valueClass]): New private method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@17960 72102866-910b-0410-8b05-ffd578937521
(-[EOFetchSpecification
fetchSpecificationNamed:entityNamed:]}:
Implemented upon bug report by Philip Moetteli.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@17958 72102866-910b-0410-8b05-ffd578937521
(+[EOClassDescription initialize]): Initialize model group
after callback tables are initilized.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@17746 72102866-910b-0410-8b05-ffd578937521
Declared and documented EOKeyValueCoding categories currently
implemented by gnustep-base/Foundation in NSKeyValueCoding.
Removed FOUNDATION_HAS_KVC conditionals as
gnustep-base/Foundation
implement NSKeyValueCoding.
(-[NSObject takeStoredValuesFromDictionary:]): Added
declaration
reportedly missing in Apple's headers to compelte
EOKeyValueCoding
declarations.
Most implementations rewritten.
* EOControl/EONull.h/m: Define EONull to NSNull to allow
pointer
equality checks. Implement EONull as NSNull subclass that
returns
the NSNull instance. Remove old assertions.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@17534 72102866-910b-0410-8b05-ffd578937521
* config.h.in:
o added EMIT_TODO control
* EOAccess/EOAccessFault.m:
o commented debug logs
* EOAccess/EODatabaseContext.m:
o more information in asserts
o asserts
o fix in -relayPrimaryKey:object:entity: for
nil 1:1 relationship value
o add -forgetSnapshotForGlobalID call in -refaultObject:withGlobalID:editingContext:
o add -forgetSnapshotForGlobalID database call in -forgetSnapshotForGlobalID:
* EOAccess/EOEntity.m:
o logs
o fix in -awakeObject:fromInsertionInEditingContext: to avoid
setting already present values
o reverted code in -awakeObject:fromInsertionInEditingContext:
My (old) tests show that we create 1: object not on
mandatory property but on propagatesPrimaryKey one
if someone has an example of EOF creating an object
here without propagatesPrimaryKey, please send it to me.
* EOAccess/EOModelGroup.m:
o don't autorelease return model group in -globalModelGroup as it will crash. I haven't find why :-(
o logs
* EOAccess/EOSQLExpression.m:
o fix bug in -assembleSelectStatementWithAttributes🔒qualifier:
fetchOrder:selectString:columnList:tableList:
whereClause:joinClause:orderByClause:lockClause:
by adding () around where and join clause
o add detail in sqlStringForSelector:value: exception
* EOAdaptors/Postgres95/PostPostgres95Channel.m:
o add more information on exceptions
* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
o fix escaping string in -formatValue:forAttribute:
o fix bug in -assembleSelectStatementWithAttributes🔒qualifier:
fetchOrder:selectString:columnList:tableList:
whereClause:joinClause:orderByClause:lockClause:
by adding () around where and join clause
* EOAdaptors/Postgres95/Postgres95Value.m:
o Change log in +newValueForDateType:length:attribute:
* EOControl/EOCheapArray.m
o removed some logs
* EOAccess/EOClassDescription.m:
o fix in -validateForUpdate
o logs
* EOControl/Debug.h:
o donditional define of NSEmitTODO()
* EOControl/EODetailDataSource.h/.m:
o added -setDetailKey:
* EOControl/EOEditingContext.m
o logs
* EOControl/EOFetchSpecification.m
o logs
* EOControl/EOKeyValueCoding.m:
o fix in computeSum, computeAverage
* EOControl/EOQualifier.m
o logs
* EOControl/EOSortOrdering.m
o use valueForKeyPath: instead of valueForKey: to allow sort on related objects
* EOControl/EOUndoManager.h
o protection of include
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@17037 72102866-910b-0410-8b05-ffd578937521
([NSString -parsedFirstVersionSubstring]): New method.
* EOAdaptors/Postgres95/Postgres95Adaptor.h/m: Added include of
pg_config.h to access PG_VERSION. Added databaseVersion to list
of meaningful connectionDictionary keys.
(postgresClientVersion): New function.
* EOAdaptors/Postgres95/Postgres95Channel.h/m: Added instance
variable to hold the version of the database server.
(pgResultDictionary): New static function for debuging.
([Postgres95Channel -_readServerVersion]): New method to set Server
Version.
([Postgres95Channel -openChannel]): Call _readServerVersion method.
([Postgres95Channel -describeTableNames]): Adapt select statement
according to database version.
* Postgres95/Postgres95SQLExpression.m:
([Postgres95SQLExpression +dropTableStatementsForEntityGroup:]):
Adapt select statement according to database version supplied in
connectionDictionary of the entites model.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@17013 72102866-910b-0410-8b05-ffd578937521
([Postgres95Channel -describeTableNames]): Removed incorrect code
left by copy and paste action. Reported by Markus Hitter.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@17003 72102866-910b-0410-8b05-ffd578937521
add private declaration of GSObjCGetMethod() until the replacement
is in place.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16758 72102866-910b-0410-8b05-ffd578937521
Encode missing aattributes as reported by Dirk Lattermann. Also
corrected encoding of parameterDirection.
([EOAttribute initWithPropertyList:owner:]): Corrected parsing of
parameterDirection to account for WO 4.5 compatibility and
previous encodings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16740 72102866-910b-0410-8b05-ffd578937521
-initWithEditingContext:entityName:fetchSpecificationName:]):
Create default fetch specification if we cannot obtain one from
the entity by name as reported by Dirk Lattermann.
* EOAccess/EOEntity.h/m
([EOEntity -addFetchSpecification:withName:]): Corrected name and
initialization as reported by Dirk Lattermann.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16729 72102866-910b-0410-8b05-ffd578937521
+globalIDWithEntityName:keys:keyCount:zone:]): Use AUTORELEASE
instead of autorelease.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16675 72102866-910b-0410-8b05-ffd578937521
NSUnknownKeyException for EOUnknownKeyException to allow use of
base/Foundation NSKeyValueCoding.
* EOControl/EOKeyValueCoding.m: Add EOTargetObjectUserInfoKey and
EOUnknownUserInfoKey.
([NSObject +flushAllKeyBindings]): Add method.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16602 72102866-910b-0410-8b05-ffd578937521
usage of potential future runtime function name with current
function name.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16301 72102866-910b-0410-8b05-ffd578937521
* *.h/m, *.h/m):
Used #include instead of depricated #import. Avoid including
entire library headers. Use export macro where applicable.
* EOControl/GNUmakefile: Removed EOKeyValueCodingBase.m/h and
EOUndoMananger.h. Added EOArrayDataSource.m/h, EODefines.h
and EODepricated.h.
* EOControl/EODefines.h: Updated for GDL2 & gnustep-make.
* EOControl/EODebug.h: Updated.
* EOControl/EODepricated.h: Updated for current state of GDL2.
([NSObject +flushClassKeyBindings]): Added declaration.
([EOClassDescription +setDelegate:]): Added declaration.
([EOClassDescription +delegate]): Added declaration.
(EOUndoManager): Moved declaration of interface here.
* EOControl/EOKeyValueCoding.m
([EOClassDescription +flushClassKeyBindings]): Added empty
implementation.
([NSObject takeStoredValuesFromDictionary:]): Cache EONull
instance and use it instead of isKindOfClass:.
* EOControl/EOEditingContext.m
([EOEditingContext +initialize]): Tidied.
([EOEditingContest -deleteObject]): Use NSUndoManager instead of
EOUndoManager.
* EOControl/EOQualifier.m
([NSArray -filteredArrayUsingQualifier:]): Added minor
optimization tweak.
* EOControl/EOClassDescription.m: Removed inactive commented
code. Added private declerations of EOAccess methods to avoid
compiler warnings.
([EOClassDescription +initialize]): Tidied.
([EOClassDescription -classDescriptionForClass:]): Use
GSObjCName() instead of objc runtime routines.
* EOControl/EOFault.m: Exchanged direct usages of ObjC runtime
routines with NS/GSObjCRuntime abstraction API.
([EOFault +superclass]): Ditto.
([EOFault +targetClassForFault:]): Ditto.
([EOFault -respondsToSelector:]): Ditto.
([EOFault +initialize]): Cache static class variable.
([EOFault +isKindOfClass]): Use static class variable.
([EOFault +handlerForFault:]): Ditto.
([EOFault +targetClassForFault:]): Ditto.
([EOFault -dealloc]): Ditto.
* EOControl/EOGenericRecord.m:
([EOGenericRecord +initialize]): Tidied.
* EOControl/EOKeyComparisonQualifier.m: Tidied documentation.
* EOControl/EOKeyValueQualifier.m: Ditto.
* EOControl/EONSAddOns.h/m: Added declarations to surpress
compiler warnings.
([NSObject -eoCompareOnName:]): Adjusted casts to surpress
compiler warnings.
(GSUseStrictWO451Compatibility): Added function.
(GDL2GlobalLock, GDL2GlobalRecursive): Ditto.
* EOControl/EONull: Remove implementations for foundation
libraries without key value coding and fully rely on NSNull.
Added assertions in all intance methods as instances should never
be created.
([EONull +allocWithZone:]) Corrected method name so it will
actually be used.
* EOControl/EOSortOrdering.m
([NSArray sortedArrayUsingKeyOrderArray:]): Tidied.
([NSMutableArray sortUsingKeyOrderArray:]): Ditto.
([EONull compareAscending:]): Sync with referencs implementation.
([EONull compareDescending:]): Ditto.
([EONull compareCaseInsensitiveAscending:]): Ditto.
([EONull compareCaseInsensitiveDescending:]): Ditto.
* EOAccess/EOAdaptor.h: Added comment about API compatibility.
* EOAccess/EOAdaptor.m ([EOAdaptor -contexts]): Return array of
adaptor contexts rather tham GC-wrapper objects containing adaptor
contexts.
([EOAdaptor -databaseEncoding]): Use GSEncodingName() instead of
GetEncodingName().
* EOAccess/EODatabaseContext.m
([EODatabaseContext -_turnFault:gid:editingContext:isComplete:]):
Use GSObjCClass() instead of trying to access isa by dereferencing
from id with incorrect member.
* EOAccess/EOModel.m ([EOModel -entityNames]): Sort returned array
to insure comparable output.
* EOAccess/EOSQLExpression.m
([EOSQLExpression sqlStringForArrayOfQualifiers:operation:]):
Added cast to surpress compiler warning.
* EOAccess/EOUtilities.m
([EOObjectStoreCoordinator setModelGroup:]): Ditto.
* EOAccess/EORelationship.h ([EORelationship -docComment]):
Added declaration.
* EOAccess/GNUmakefile: Added EODefines.h and EODepricated.h.
* Tools/*.m: Use RCS_ID macro.
* Tools/EOAttribute+GSDoc.h:
([EOAttribute gsdocContentWithTagName:idPtr:]): Corrected Typo.
* Tools/EOModel+GSDoc.h/m:
([EOModel gsdocContentSplittedByEntities:idPtr:]): Ditto.
* Tools/EORelationship+GSDoc.m:
([EORelationship gsdocContentWithTagName:idPtr:]): Change variable
type to supress compiler warnings.
* Tools/eoutil.m (dump): Initialize variables to supress compiler
warnings.
* Tools/gsdoc-model.m: Include GSCategories.h to supress compiler
warnings.
(main): Added cast to supress compiler warning. Fixed typo in
method invocation.
2003-03-25 Stephane Corthesy <stephane@sente.ch>
* EOControl/EODefines.h: Added new file for export/win32 support.
* EOControl/EODepricated.h: Added new file for depricated features.
* EOControl/EOControl.h: Added EOArrayDataSource.h and EODefines.h.
* EOControl/EOArrayDataSource.h/m: Added new files. Some methods
(<NSCoding> and qualifier bindings) are empty stubs.
* EOControl/EODebug.h: Use export macro instead of explicit extern for
function and symbol declarations.
* EOControl/EOGlobalID.h: Ditto.
* EOControl/EONull.h: Ditto.
* EOControl/EOObjectStore.h: Ditto.
* EOControl/EOOrQualifier.m: Replaced autorelease by AUTORELEASE
and fixed typo.
* EOControl/EOQualifier.m
([NSArray -filteredArrayUsingQualifier:]): Implemented.
* EOControl/EONSAddOns.m: Use volatile in some exception handlers
(man longjmp for more info).
* EOControl/EOSortOrdering.h/m
([EOSortOrdering -copyWithZone:]): Implemented <NSCopying>.
([EOSortOrdering -encodeWithKeyValueArchiver:]): Implemented.
* EOAccess/EODefines.h: Added new file for export/win32 support.
* EOAccess/EODepricated.h: Added new file for depricated features.
* EOAccess/EOAccess.h: Added EODefines.h.
* EOAccess/EOSQLExpression.h/m: Fixed typo for
EOPrimaryKeyConstraintKey.
* EOAccess/EOExpressionArray.h/m: Use volatile for variables usein
in exception handlers. (man longjmp for more info)
* EOAccess/EODatabase.h: Use export macro instead of explicit
extern for function and symbol declarations.
* EOAccess/EOEntity.h: Ditto.
* EOAccess/EOModel.h: Ditto.
* EOAccess/EOSchemaGeneration.h: Ditto.
* EOAccess/EOSQLExpression.h: Ditto.
* EOAccess/EOUtilities.h: Ditto.
* Tools/eoutil.m (dump): Implemented use of -postinstall option.
Corrected bug when getting adaptor's expression class. Renamed
symbol EOPrimaryKeyContraintsKey into EOPrimaryKeyConstraintsKey.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16298 72102866-910b-0410-8b05-ffd578937521
* EOAccess/EODatabaseContext.m:
o added assert in _primaryKeyForObject:
o in -recordChangesInEditingContext test
nil/eonull on relationshipCommitedSnapshotValue and
relationshipSnapshotValue instead of only nil testing
o in -recordChangesInEditingContext fix for value changing
testing when commitedSnapshotValue is nil/EONull
* EOAccess/EOEntity.m:
o logs
o fix in inverseRelationshipClassPropertyNames to test on
destination entity property names
* EOControl/EOClassDescription.m:
o logs
* EOControl/GNUmakefile:
o added EONSAddOns.h
* EOCOntrol/EOKeyValueCoding.m:
o fixes in NSArray -computeXXForKey:
* EOAccess/EOSQLExpression.m:
o assert in -sqlStringForKeyValueQualifier:
o -sqlStringForArrayOfQualifiers:operation:
hanlde different qualifier cases using isKindOfClass:
may probably be improved
o logs
* EOControl/EOEditingContext.m:
o fix in unprocessedInfo (invert/change swap).
* EOControl/EOQualifier.m
o -qualifierWithQualifierFormat:varargList:
raise exception if operator is unknwon
* EOControl/EOMutableKnownKeyDictionary.m:
o add precision in exception message
* EOAccess/EORelationship.m:
o more info in some logs
o fix in -_sourceRowToForeignKeyMapping for foreign keys
which are not in primaryKey.
* EOControl/EODatabaseOperation.m:
o in -setDatabaseOperator: Don't Delete a not inserted object
* EOControl/EOAccessFault.m:
o logs
o EOAccessFaultHandler: -dealloc fix: call super dealloc
o implement faultWillFire: This fix a hard memory problem
* EOControl/EOFault.m:
o -dealloc: fix possible infinite loop
o logs
* EOCheapCopyArray.m:
o ucomment retain/release/...
o fix shallowCopy for memory management.
This was causing hard memory trouble
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16217 72102866-910b-0410-8b05-ffd578937521
initialize (if present) the default model group. This helps
+classDescriptionFor* to work correctly.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16163 72102866-910b-0410-8b05-ffd578937521
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