Commit graph

290 commits

Author SHA1 Message Date
David Ayers
f62dee1f23 * GNUmakefile: Build EOControl before EOAccess.
* EOAccess/GNUmakefile: Remove LIBRARIES_DEPEND_UPON handling.
        * EOControl/GNUmakefile: Ditto.
        * EOModeler/GNUmakefile: Ditto.
        * Tools/GNUmakefile: Ditto.
        * EOAccess/Makefile.preamble: Correct LIBRARIES_DEPEND_UPON
        handling.
        * EOControl/Makefile.preamble: Ditto.
        * EOModeler/Makefile.preamble: Ditto.
        * Tools/Makefile.preamble: Ditto.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18509 72102866-910b-0410-8b05-ffd578937521
2004-01-30 14:02:24 +00:00
David Ayers
dbab457576 * EOAccess/GNUmakefile: Fix whitespace.
* Tools/GNUmakefile: Ditto.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18501 72102866-910b-0410-8b05-ffd578937521
2004-01-29 13:37:33 +00:00
David Ayers
53d93cb550 * EOAccess/EOAdaptor.m: Include GNUstep-specific headers for
non-GNUstep systems.
        * EOAccess/EOAdaptorChannel.m: Ditto.
        * EOAccess/EOAdaptorContext.m: Ditto.
        * EOAccess/EOAttribute.m: Ditto.
        * EOAccess/EODatabaseChannel.m: Ditto.
        * EOAccess/EODatabaseDataSource.m: Ditto.
        * EOAccess/EOEntity.m: Ditto.
        * EOAccess/EOModel.m: Ditto.
        * EOAccess/EOModelGroup.m: Ditto.
        * EOAccess/EORelationship.m: Ditto.
        * EOAccess/EOSQLQualifier.m: Ditto.
        * EOAccess/EOUtilities.m: Ditto.
        * EOControl/EOAndQualifier.m: Ditto.
        * EOControl/EOClassDescription.m: Ditto.
        * EOControl/EODataSource.m: Ditto.
        * EOControl/EOEditingContext.m: Ditto.
        * EOControl/EOFault.m: Ditto.
        * EOControl/EOFaultHandler.m: Ditto.
        * EOControl/EOFetchSpecification.m: Ditto.
        * EOControl/EOKeyValueArchiver.m: Ditto.
        * EOControl/EOKeyValueQualifier.m: Ditto.
        * EOControl/EOMutableKnownKeyDictionary.m: Ditto.
        * EOControl/EONSAddOns.m: Ditto.
        * EOControl/EOObjectStore.m: Ditto.
        * EOControl/EOObjectStoreCoordinator.m: Ditto.
        * EOControl/EOObserver.m: Ditto.
        * EOControl/EOOrQualifier.m: Ditto.
        * EOControl/EOQualifier.m: Ditto.
        * EOControl/EOUndoManager.m: Ditto.
        * EOModeler/EOModelExtensions.m: Ditto.

        * EOAccess/EOModel.h/m (+/-[EOModel version]) Remove.
        ([EOModel init]): Handle version internally.
        ([EOModel encodeTableOfContentsIntoPropertyList:]): Ditto.
        ([EOModel encodeIntoPropertyList:]): Ditto.
        * EOAccess/EODatabaseContext.m ([EODatabaseContext dealloc]):
        Use NSCountHashTable instead of NSCountMapTable on hash table.
        * EOAccess/EOAttribute.m ([EOAttribute
        newValueForBytes:length:]):
        Added casts to avoid warnings.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18500 72102866-910b-0410-8b05-ffd578937521
2004-01-29 13:23:22 +00:00
David Ayers
bf26078ed5 * EOAccess/GNUmakefile: Test FOUNDATION_LIB to determine
whether
        to link -base or -baseadd.
        * EOControl/GNUmakefile: Ditto.
        * EOModeler/GNUmakefile: Ditto.
        * Tools/GNUmakefile: Ditto.  Update title.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18499 72102866-910b-0410-8b05-ffd578937521
2004-01-29 09:26:40 +00:00
David Ayers
5e36abd7d9 * EOControl/EOEditingContext.m/.h:
o added -setLevelsOfUndo: (for GNustepWeb)
	* EOControl/EOFetchSpecification.m/.h:
	  o implemented -encodeWithKeyValueArchiver:
	* EOControl/EOKeyValueArchiver.m:
	  o cleaned


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@18228 72102866-910b-0410-8b05-ffd578937521
2003-11-28 23:02:20 +00:00
David Ayers
93e970430f * EOControl/EOClassDescription.m/h:
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
2003-11-28 23:00:05 +00:00
David Ayers
ce6dc1bf92 * EOAccess/EOSQLQualifier.m
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
2003-11-28 22:56:06 +00:00
David Ayers
565696cba9 * EOAccess/EOSQLExpression.m/.h:
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
2003-11-28 22:50:52 +00:00
David Ayers
5f1314ddfc * EOAccess/EOEntity.m/.h:
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
2003-11-28 22:47:32 +00:00
David Ayers
ff38b6fc00 * EOAccess/EODatabaseContext.m:
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
2003-11-28 22:41:42 +00:00
David Ayers
1035b7a2ed * EOAccess/EOAttribute.m:
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
2003-11-28 22:30:57 +00:00
David Ayers
b536cbb410 * EOControl/EONSAddOns.h (GDL2_BUFFER): Added experimental
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
2003-10-24 16:30:49 +00:00
David Ayers
6b82f558c1 * EOControl/EOFetchSpecification.m
(-[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
2003-10-23 15:06:51 +00:00
David Ayers
6b282e94ae * EOControl/EOFetchSpecification.m
(-[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
2003-10-23 10:51:49 +00:00
David Ayers
b858144228 * EOControl/EOClassDescription.m
(+[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
2003-09-29 19:23:58 +00:00
David Ayers
283db56349 * EOControl/EOFault.m
(+[EOFault respondsToSelector:]): Use GSObjCRuntime functions
        and
        correct casts.
        (-[EOFault respondsToSelector:]): Correct casts.

        * EOControl/EOKeyComparisonQualifier.m
        * EOControl/EOKeyValueCoding.m
        * EOControl/EOKeyValueQualifier.m
        * EOControl/EOQualifier.m
        * EOControl/EOSortOrdering.m
        (-[NSObject compare:]): Add declaration to prepare for removal
        of declaration from -base.
        (-[EOKeyComparisonQualifier evaluateWithObject:]): Adapt
        * vraiables
        and casts to use correct prototype.
        (-[EOKeyValueQualifier evaluateWithObject:]): Ditto
        (-[NSArray computeMaxForKey:]): Ditto.
        (-[NSArray computeMinForKey:]): Ditto.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@17651 72102866-910b-0410-8b05-ffd578937521
2003-09-10 13:35:32 +00:00
David Ayers
0135ad09da * *.h/m: Updated to new header layout.
* Tools/eoutil.m:  Added missing include.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@17539 72102866-910b-0410-8b05-ffd578937521
2003-08-25 20:01:59 +00:00
David Ayers
894f3554ac * EOControl/EOKeyValueCoding.h/m: Rewritten and documented.
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
2003-08-24 23:28:26 +00:00
David Ayers
9238fc1a32 * *.m: Include GNUstep.h if GNUSTEP is not defined for OS X.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@17191 72102866-910b-0410-8b05-ffd578937521
2003-07-11 19:04:05 +00:00
Manuel Guesdon
cca381a47b 2003-06-26 Manuel Guesdon <mguesdon@orange-concept.com>
* 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
2003-06-26 08:20:30 +00:00
David Ayers
0dadfc5e25 * EOControl/EONSAddOns.h/m:
([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
2003-06-24 16:27:01 +00:00
David Ayers
760c71a9b4 * EOAdaptors/Postgres95/Postgres95Channel.m
([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
2003-06-22 16:36:40 +00:00
David Ayers
f96edf1405 * EOControl/EOFault.m ([EOFault -respondsToSelector:]): Adapt to
current GSObjCRuntime API.
	* EOControl/EOUndoManager.h: Correct includes.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16998 72102866-910b-0410-8b05-ffd578937521
2003-06-22 08:47:24 +00:00
David Ayers
9b3d313aa6 Corrected define.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16848 72102866-910b-0410-8b05-ffd578937521
2003-06-01 17:41:07 +00:00
David Ayers
f56bc2c7b9 * gdl2.make.in: Set GDL2 as auxiliary preprocessor flag.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16847 72102866-910b-0410-8b05-ffd578937521
2003-06-01 17:28:00 +00:00
David Ayers
071b6ccf72 * config/postgres.m4: Added /usr/include/postgresql to include
search path.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16771 72102866-910b-0410-8b05-ffd578937521
2003-05-22 15:35:15 +00:00
David Ayers
1da527de90 * EOControl/EOClassDescription.m
([EOClassDescription +classDescriptionForClass:): Replaced
        deprecated GSObjCName() with GSNameFromClass().


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16770 72102866-910b-0410-8b05-ffd578937521
2003-05-22 14:13:24 +00:00
David Ayers
7218919f2d * EOControl/EOClassDescription.m
([EOClassDescription +classDescriptionForClass:): Replaced
        deprecated GSObjCName() with GSNameFromClass().
        * EOControl/EOQualifier.m
        ([EOQualifier +qualifierWithQualifierFormat:varargList:]): Replaced
        deprecated GSObjCSelectorName() with GSNameFromSelector().


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16769 72102866-910b-0410-8b05-ffd578937521
2003-05-22 14:06:35 +00:00
David Ayers
fa68770b33 * EOControl/EOFault.m ([EOFault respondsToSelector:]): Temporarily
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
2003-05-20 14:58:19 +00:00
David Ayers
341fc72ae8 * EOAccess/EOAttribute.m ([EOAttribute -encodeIntoPropertyList:]):
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
2003-05-16 20:21:56 +00:00
David Ayers
89d7e88574 * EOAccess/EODatabaseDataSource.m ([EODatabaseDataSource
-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
2003-05-14 21:33:01 +00:00
David Ayers
0b467c7502 * EOControl/EOObjectStoreCoordinator.m ([EOObjectStoreCoordinator
+initialize]): Insure EODatabaseContext is setup to receive
        notifications.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16676 72102866-910b-0410-8b05-ffd578937521
2003-05-08 13:06:34 +00:00
David Ayers
04ce0c31d2 * EOControl/EOKeyGlobalID.m ([EOKeyGlobalID
+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
2003-05-08 12:52:45 +00:00
David Ayers
def6e601e7 * EOControl/EOFault.m ([EOFault +initialize]): Fix initialization
of cached class variable.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16674 72102866-910b-0410-8b05-ffd578937521
2003-05-08 11:55:23 +00:00
David Ayers
d0da1840a1 * EOAccess/EODatabaseContext.m
([EODatabaseContext -dealloc]): Corrected debug logs.
        ([EODatabaseContext +databaseContextWithDatabase:]): Use
        AUTORELEASE instead of autorelease.
        ([EODatabaseContext -initWithDatabase:]): Ditto.
        ([EODatabaseContext
        -objectsWithFetchSpecification:editingContext:]): Ditto.
        ([EODatabaseContext
        -_dbOperationWithGlobalID:object:entity:operator:]): Ditto.
        ([EODatabaseContext -recordChangesInEditingContext]): Ditto.
        ([EODatabaseContext
        -relayAttributesInRelationship:sourceObject:destinationObject:]):
        Ditto.
        ([EODatabaseContext
        -createAdaptorOperationsForDatabaseOperation:attributes:]):
        Ditto.
        ([EODatabaseContext -_fireFault:]): Ditto.
        ([EODatabaseContext -_batchToOne:withHandler:]): Ditto.
        ([EODatabaseContext -_commitTransaction]): Ditto.
        ([EODatabaseContext -handleDroppedConnection]): Use
        RELEASE instead of release.
        ([EODatabaseContext -databaseOperationForObject:]): Ditto.
        ([EODatabaseContext -_fireArrayFault:]): Ditto.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16673 72102866-910b-0410-8b05-ffd578937521
2003-05-08 11:44:45 +00:00
David Ayers
1838637ee3 * EOAccess/EOEntity.m: Replaced autorelease with AUTORELEASE.
([EOEntity -addRelationship:]): Update _relationshipByName cache.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16638 72102866-910b-0410-8b05-ffd578937521
2003-05-05 16:24:17 +00:00
David Ayers
566354cac6 * EOAccess/EODatabaseContext.m ([EODatabaseContext -setDelegate:]):
Fixed assignment in while loop as reported by Stephane Corthesy.
	* EOControl/EOAndQualifier.m
	([EOAndQualifier +qualifierWithQualifiers:]),
	([EOAndQualifier -initWithQualifiers:]): Use GS_USEIDLIST to
	optimize vararg list to array conversion.
	* EOControl/EOOrQualifier.m
	([EOOrQualifier +qualifierWithQualifiers:]),
	([EOOrQualifier -initWithQualifiers:]): Ditto.
	* EOControl/EOClassDescription.m
	([EOClassDescription +classDelegate]): Make access to static
	variable thread safe.
	* EOControl/EOEdtitingContext.m: Added declarations to avoid
	compiler warnings.

2003-05-02  Stephane Corthesy  <stephane at sente dot ch>

	* EOControl/EOControl.h: Added inclusion of EOArrayDataSource.h.
	* EOControl/EOEdtitingContext.m: Added declaration of
	+[EOEditingContext(EOEditingContextPrivate)
	_observeUndoManagerNotifications] to avoid compiler warnings.
	* EOControl/EONSAddOns.m ([NSObject
	-resultsOfPerformingSelector:withEachObjectInArray:defaultResult:]):
	Added cast to avoid compiler warning.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16613 72102866-910b-0410-8b05-ffd578937521
2003-05-02 17:00:23 +00:00
David Ayers
ab880caf05 * EOAccess/EOSQLExpression.m: Import GSCategories.h only for
NeXT_Foundation_Library.
	* EOControl/EOKeyValueCoding.m: Ditto.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16612 72102866-910b-0410-8b05-ffd578937521
2003-05-02 13:53:05 +00:00
David Ayers
94b2abaf0e * GNUmakefile: Remove setting of GNUSTEP_MAKEFILES.
* EOAccess/GNUmakefile: Ditto.
	* EOAdaptors/GNUmakefile.in: Ditto.
	* EOAdaptors/Postgres95/GNUmakefile.in: Ditto.
	* EOControl/GNUmakefile: Ditto.
	* EOModeler/GNUmakefile: Ditto.
	* Tools/GNUmakefile: Ditto.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16606 72102866-910b-0410-8b05-ffd578937521
2003-05-02 12:23:27 +00:00
David Ayers
e7bb687ecf * EOControl/EOKeyValueCoding.h: Use base/Foundation
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
2003-05-02 10:06:06 +00:00
Mirko Viviani
19ea7ea1fc * EOAccess/EOAttribute.m ([EOAttribute -awakeWithPropertyList:]): set
the prototype.
([EOAttribute -encodeIntoPropertyList:]): likewise.
([EOAttribute -serverTimeZone]): return the value from the prototype.
([EOAttribute -columnName]): likewise.
([EOAttribute -readFormat]): likewise.
([EOAttribute -writeFormat]): likewise.
([EOAttribute -scale]): likewise.
([EOAttribute -precision]): likewise.
([EOAttribute -width]): likewise.
([EOAttribute -allowsNull]): likewise.
([EOAttribute -isReadOnly]): likewise.
([EOAttribute -valueClassName]): likewise.
([EOAttribute -externalType]): likewise.
([EOAttribute -valueType]): likewise.

* EOAccess/EOAttribute.h: removed ivar _prototypeName.

* EOAccess/EOModel.m ([EOModel -prototypeAttributeNamed:]): implemented.

* EOAccess/EOAdaptor.m|.h ([EOAdaptor -prototypeAttributes]): renamed
from +prototypes and implemented.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16483 72102866-910b-0410-8b05-ffd578937521
2003-04-18 19:01:06 +00:00
Mirko Viviani
1443198f62 * EOAccess/EOAdaptorContext.h: include EODefines.h and NSString.h
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16475 72102866-910b-0410-8b05-ffd578937521
2003-04-15 16:25:20 +00:00
David Ayers
f12819aa9b * EOControl/EODeprecated.h: Replaces EODepricated.h.
The original post was correct.  Sorry!
	* EOAccess/EODeprecated.h:  Ditto.
	* EOAccess/GNUmakefile: Ditto.
	* EOControl/EOUndoManager: Ditto.

	* EOControl/EOClassDescription: Added some comments.  Tidied line
	breakage.
	([EOClassDescription +delegete]): Moved to category named Deprecated.
	([EOClassDescription +setDelegate:]): Ditto.
	([EOClassDescription -displayNameForKey:]): Use AUTORELEASE macro.
	([NSObject -snapshot]): Ditto.
	([NSObject -updateFromSnapshot]): Ditto.
	([NSObject -addObject:toPropertyWithKey:]): Ditto.
	([NSObject -removeObject:fromPropertyWithKey:]): Ditto.
	([NSException +validateExceptionWithFormat:]): Ditto.
	([NSException +aggregateExceptionWithExceptions:]): Ditto.
	([NSException -exceptionAddingEntriesToUserInfo:]): Ditto.
	* EOControl/EOKeyValueCoding.h/m:
	([NSObject unableToSetNullForKey:]): Implemented.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16321 72102866-910b-0410-8b05-ffd578937521
2003-04-01 21:40:14 +00:00
David Ayers
6ef9cc7dee * EOControl/EOFault.m ([EOFault respondsToSelector:]): Replaced
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
2003-03-31 16:02:46 +00:00
David Ayers
f3e520ee9a 2003-03-30 David Ayers <d.ayers@inode.at>
* *.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
2003-03-31 00:24:15 +00:00
Manuel Guesdon
613ff0a827 2003-03-21 Manuel Guesdon <mguesdon@orange-concept.com>
* 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
2003-03-21 20:41:07 +00:00
Mirko Viviani
91ccffa864 * EOControl/EOClassDescription.m ([EOClassDescription +initialize]):
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
2003-03-12 21:35:20 +00:00
David Ayers
04b282d802 * config/postgres.m4: Updated CPPFLAGS and LIBS to account for
distributions default installations.
	* configure: Regenerated.

	* Tools/EOAttribute+GSDoc.m ([EOAttribute -gsdocContentWithPtr:]):
	Removed superfluous semicolon in method definition.

	* EOAccess/EODatabaseContext.m: Fixed minor typo in comment.

	* EOAccess/EOEntity.m ([EOEntity -description]): Return the
	description of the encoded property list.
	([EOEntity -debugDescription]): Implements original description
	method.
	([EOEntity -classProperties]): Added cast to supress compiler
	warning.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16142 72102866-910b-0410-8b05-ffd578937521
2003-03-06 22:26:45 +00:00
Mirko Viviani
7401bb52f9 * EOAccess/EOUtilities.h: added EOObjectStoreCoordinator.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@16065 72102866-910b-0410-8b05-ffd578937521
2003-02-24 18:21:45 +00:00
David Ayers
73411a9860 * EOControl/EOSortOrdering.m: Added documentation.
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
2003-02-20 13:58:43 +00:00