2004-04-21  David Ayers  <d.ayers@inode.at>

	* README: New file.
	* INSTALL: New file.
	* NEWS: New file.
	* Version: Update to 0.9.1.

2004-04-20  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/LoginPanel/GNUmakefile
	* EOAdaptors/Postgres95/LoginPanel/Makefile.postamble: Allow clean
	and distclean targets when -gui is not available.

2004-04-18  David Ayers  <d.ayers@inode.at>

	* EOControl/EOGlobalID.h: Correct size of _bytes.
	* EOControl/EOGlobalID.m: Update includes.
	(sequence): Define plattform independently.
	(sequenceRev): Remove.
	([EOGlobalID isEqual:]): Fix declaration.
	([EOTemporaryGlobalID init]): Ditto.
	([EOTemporaryGlobalID isEqual:]): Ditto.  Remove access 
	instance variable directly instead of relying on superflous 
	accessor method.
	([EOTemporaryGlobalID assignGloballyUniqueBytes]): Rewrite and 
	document.
	([EOTemporaryGlobalID _bytes]): Remove.
	([EOTemporaryGlobalID encodeWithCoder:]): Encode contents of
	bytes instead of pointer value.
	([EOTemporaryGlobalID decodeWithCoder:]): Decode contents of
	bytes instead of pointer value.
	
2004-04-17  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m
	(vfmaxf) Make static.  Reformat.
	([Postgres95LoginPanel dealloc]): Use DESTROY in favor of
	RELEASE.
	([Postgres95LoginPanel init]): Minor reformatting and more
	tempRect usage.

	* EOAccess/EODatabase.m ([EODatabase dealloc]): Use DESTROY
	in favor of release.
	* EOAccess/EOExpressionArray.m ([EOExpressionArray dealloc]):
	Ditto.
	* EOAdaptors/Postgres95/Postgres95Adaptor.m
	([Postgres95Adaptor dealloc]): Ditto.

	* EOControl/EOCheapArray.h ([EOCheapArray dealloc]) Remove
	declaration.
	* EOControl/EOKeyValueArchiver.m
	([EOKeyValueArchivingContainer dealloc]): Ditto.
	* EOControl/EOMutableKnownKeyDictionary.h
	([EOMKKDInitializer dealloc]),
	([EOMKKDKeyEnumerator dealloc]),
	([EOMKKDSubsetMapping dealloc]),
	([EOMKKDArrayMapping dealloc]),
	([EOMutableKnownKeyDictionary dealloc]) Ditto.

2004-04-17  Matt Rice  <ratmice@yahoo.com>

	* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m
	(vfmaxf) New function.
	([Postgres95LoginPanel init]): Redo UI layout.
	([Postgres95LoginPanel _databaseNames]): Reformat.
	
2004-04-17  David Ayers  <d.ayers@inode.at>

	* */*.h: Format declarations consistently.  Add -*-objc-*
	shabang line.  Replace remaining extern declarations with
	GDL2*_EXPORT.
	
2004-04-16  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOModel.m ([EOModel writeToFile:]) Set path (and
	name implicitly) of the receiver.  Create backup file when
	necessary after removing the potentially existing backup file.
	Raise NSInvalidArgumentExceptions upon failures.  Add support
	for .eomodel files.  Document.
	([EOModel _verifyBuiltEntityObject:named:]): Add support for
	.eomodel files.
	
2004-04-15  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/Makefile.preamble: Add link flags
	for Darwin.
	* EOAdaptors/Postgres95/LoginPanel/GNUmakefile: Ditto.

	* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m:
	Include GNUstep headers for non-*-gnu-* configurations.

	* config/postgres.m4: Generalize test for PostgreSQL.
	* configure: Regenerated.
	
	* Makefile.postamble: Remove autom4te.cache on distclean.

	* TODO: Start tracking major TODO's until formal auditing is
	available.

	* EOAccess/EODatabase.m
	* EOControl/EOGlobalID.h: Added documentation about
	EOGlobalIDChangedNotification semantics.

	* EOControl/EOSortOrdering.m: Removed superfluous define.
	
2004-04-12  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/LoginPanel/Makefile.postamble:
	Create symlink before building.  Error reported by Ludovic
	Marcotte <ludovic@Sophos.ca> and Matt Rice
	<ratmice@yahoo.com>.

2004-03-29  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/Postgres95SQLExpression.m
	([Postgres95SQLExpression columnTypeStringForAttribute:]):
	Implement special handling for text types to ignore precision 
	and width as suggested by Matt Rice <ratmice@yahoo.com>.

	* EOAccess/EOModelGroup.m ([EOModelGroup globalModelGroup]):
	Create single global model group and cache it to allow persistant
	manual adding of models.
	
2004-03-19  David Ayers  <d.ayers@inode.at>

	* *.[hm] Use GNUSTEP in favor of NeXT_Foundation_LIBRARY
	as requested by Marcus Mueller <znek@mulle-kybernetik.com>.
	
2004-03-10  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/LoginPanel/Makefile.postamble:
	Don't remove GNUmakefile on distclean.
	* EOAdaptors/Postgres95/LoginPanel/GNUmakefile: Add include
	directive for local GDL2 headers.

2004-03-08  Matt Rice  <ratmice@yahoo.com>

	* EOAdaptors/Postgres95/Postgres95Channel.h
	([Postgres95Channel describeDatabaseNames]): Declare method.
	([Postgres95Channel userNameIsAdministrative:]): Ditto.

	* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m
	([Postgres95LoginPanel init]): Added parentheses to assignment
	to quiet compiler warning.
	
2004-03-08  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/Postgres95Adaptor.m
	([Postgres95Adaptor createPGconn]): Insure cleanup code gets 
	executed before exception is raised.

	* EOAdaptors/Postgres95/LoginPanel/Makefile.postamble: New file
	to create symlink to be able to include local adaptor headers.

2004-03-06  David Ayers  <d.ayers@inode.at>

	* configure.ac: Replace generation of
	EOAdaptors/Postgres95/Makefile.preamble with
	EOAdaptors/Postgres95/config.mak.
	* configure: Regenerate.
	* EOAdaptors/Postgres95/Makefile.postamble: Replace removal of
	EOAdaptors/Postgres95/Makefile.preamble with
	EOAdaptors/Postgres95/config.mak.
	* EOAdaptors/Postgres95/Makefile.preamble: New file replacing...
	* EOAdaptors/Postgres95/Makefile.preamble.in: ...this file.
	* EOAdaptors/Postgres95/config.mak.in: New file.

	* EOAdaptors/Postgres95/LoginPanel/GNUmakefile: Correct comment
	identifier.  Include config.mak and other potential makefiles.

	* EOAdaptors/Postgres95/Postgres95SQLExpression.m
	([Postgres95SQLExpression 
	dropDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary:]): Remove excess quotes.

2004-03-06  Matt Rice  <ratmice@yahoo.com>

	* EOAccess/EOAdaptor.m
	([EOAdaptor dropDatabaseWithAdministrativeConnectionDictionary:
	administrativeConnectionDictionary:]): Correct documentation.
	([EOAdaptor administrativeConnectionDictionaryForAdaptor:]):
	Documented.
	
	* EOAdaptors/Postgres95/GNUmakefile.in: Added LoginPanel subproject.
	* EOAdaptors/Postgres95/Postgres95Adaptor.m
	([Postgres95Adaptor assertConnectionDictionaryIsValid]): Added
	test to insure channel is open befor attempting to close.
	([Postgres95Adaptor createPGconn]): Added exception to raise.
	* EOAdaptors/Postgres95/Postgres95Channel.m
	([Postgres95/Postgres95Channel describeDatabaseNames]): Implemented
	new method.
	([Postgres95 userNameIsAdministrative]): Ditto.

	* EOAdaptors/Postgres95/LoginPanel/GNUmakefile: New file.
	* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.h/m: Ditto.

2004-03-06  David Ayers  <d.ayers@inode.at>

	* EOControl/Makefile.preamble:  Fix --disable-flattend.

2004-02-26  David Ayers  <d.ayers@inode.at>

	* EOControl/EODebug.h: Include missing header for non-*-gnu-*.
	* EOAccess/EOAdaptor
	([EOAdaptor _performAdministativeStatementsForSelect:
	connectionDictionary:administrativeConnectionDictionary]):
	Add cast to silence warning.
	* EOControl/EOCheapArray.m ([EOCheapArray autorelease]):
	Replace objc_thread_id with GSCurrentThread.
	([EOCheapArray release]): Ditto.
	([EOCheapArray retainCount]): Ditto.
	([EOCheapArray retain]): Ditto.
	([EOCheapArray dealloc]): Ditto.
	([EOCheapArray shallowCopy]): Ditto.
	* EOControl/EOFault.m: Include missing header.
	([EOFault dealloc]): Replace objc_thread_id with GSCurrentThread.

	* Tools/EOModel+GSDoc.m: Fix include.

2004-02-26  Matt Rice  <ratmice@yahoo.com>

	* EOAdaptors/Postgres95/Postgres95Channel.m: Added missing 
	include.
	([Postgres95Channel _describeForeignKeysForEntity:forModel:]):
	Fix typo to unsure using correct entity.

2004-02-25  David Ayers  <d.ayers@inode.at>

	* EOControl/EOCheapArray.m ([EOCheapArray dealloc]): Replace
	usage of objc_thread_id with GSCurrentThread.
	* EOControl/EODebug.m: Include headers for non *-gnu-*.
	Format function headers according to GNU standards.
	(objectDescription): Make static and return something meaningfull
	on failure.
	(IVarInString, TypeToNSString, DumpIVar): Make static and format
	function headers according to GNU standards.
	(EOFLogDumpObject_, EOFLogAssertGood_): Format function headers 
	according to GNU standards.
	
	* EOAccess/EOSQLExpression.m
	([EOSQLExpression foreignKeyConstraintStatementsForRelationship:]):
	Create constraint even though no inversRelationship exists.
	([EOSQLExpression foreignKeyConstraintStatementsForEntityGroup:]):
	Create constraints for all entities in the group which have no
	parent entity.
	([EOSQLExpression foreignKeyConstraintStatementsForEntityGroups:]):
	Reformat for source level debuging.
	([EOSQLExpression tableListWithRootEntity:]): Honor 
	EOAdaptorQuotesExternalNames.
	([EOSQLExpression createTableStatementsForEntityGroup:]): Ditto.
	([EOSQLExpression dropTableStatementsForEntityGroup:]): Ditto.
	([EOSQLExpression primaryKeyConstraintStatementsForEntityGroup:]): 
	Ditto.
	([EOSQLExpression primaryKeySupportStatementsForEntityGroup]): 
	Ditto.
	([EOSQLExpression dropPrimaryKeySupportStatementsForEntityGroup:]): 
	Ditto.
	([EOSQLExpression prepareConstraintStatementForRelationship:
	sourceColumns:destinationColumns:]): Ditto.
	* EOAdaptors/Postgres95/Postgres95SQLExpression.h/m
	([Postgres95SQLExpression externalNameQuoteCharacter]): Remove.
	([Postgres95SQLExpression 
	createDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary]): Honor 
	EOAdaptorQuotesExternalNames.
	([Postgres95SQLExpression 
	dropDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary:]): Ditto.
	([Postgres95SQLExpression dropTableStatementsForEntityGroup:]): 
	Ditto.
	([Postgres95SQLExpression tableListWithRootEntity:]): Ditto.

	* EOAdaptors/Postgres95/Postgres95Channel.m: Define 
	EOAdaptorDebugLog convinience macro and use it throughout the file.
	([Postgres95Channel _describeResults]): Rename externalName to 
	externalType. Avoid nested messages for source level debugging.
	([Postgres95Channel _describeBasicEntityWithName:forModel:]):
	New support method derived from describeModelWithEntityNames:.
	([Postgres95Channel _describeForeignKeysForEntity:forModel:]):
	Ditto.
	([Postgres95Channel describeModelWithEntityNames:]): Use new
	support methods in an autotelease pool.
	([Postgres95Channel primaryKeyForNewRowWithEntity:]): Honor 
	EOAdaptorQuotesExternalNames.
	
	* EOAdaptors/Postgres95/Postgres95Adaptor.m: Reorder external
	type mappings to correspond to EOAdaptorValueTypes.
	
	* EOAccess/EOModel.m ([EOModel beautifyNames]): Remove log and 
	reformat comments. 

2004-02-23  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAdaptor.m ([EOAdaptor sharedLoginPanelInstance]):
	Maintain instances on a per class basis as reported by Matt Rice.

2004-02-22  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAdaptor.h/m: New globals for GDL2 specific
	administrative key handling.
	([EOAdaptor sharedLoginPanelInstance]): Implemented.
	* EOAccess/EOSQLExpression.m ([EOSQLExpression
	_administrativeDatabaseStatementsForSelector:forEntityGroup:],
	[EOSQLExpression _dropDatabaseStatementsForEntityGroups:],
	[EOSQLExpression _createDatabaseStatementsForEntityGroups:]):
	Implemented new private support methods.
	([EOSQLExpression schemaCreationStatementsForEntities:options:]):
	Added support for EODropDatabaseKey and EOCreateDatabaseKey.

2004-02-19  David Ayers  <d.ayers@inode.at>

	* EOControl/Makefile.postamble: Remove obsolete dependency and
	target.  Add dependancy and targets for target specific config.h
	file.
	* EOAccess/Makefile.preamble: Add include option for target
	specific config.h file.
	* EOAdaptors/Postgres95/Makefile.preamble.in: Ditto.
	* EOModeler/Makefile.preamble: Ditto.
	* Tools/Makefile.preamble: Ditto.
	* EOAccess/Makefile.postamble: Comment empty target.
	
	* EOControl/EODebug.m (EOFLogC_): Log thread in a portable
	fashion.

2004-02-14  Matt Rice  <ratmice@yahoo.com>

	* EOAdaptors/Postgres95/Postgres95Channel.m
	([Postgres95Channel describeModelWithTableNames:]): Implemented.

2004-02-12  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAdaptor.h
	([EOLoginPanel administrativeConnectionDictionaryForAdaptor]):
	Correct spelling.
	([EOLoginPanel runPanelForAdaptor:validate:]): Move to
	EODeprecated.h.
	([EOLoginPanel runPanelForAdaptor:validate:allowsCreation:]):
	Declared.
	* EOAccess/EOAdaptor.m:
	([EOAdaptor adaptorWithModel:]): Reformat.
	([EOAdaptor adaptorWithName:]): Do not append EOAdaptor
	redundantly.
	([EOAdaptor _performAdministativeStatementsForSelector:
	connectionDictionary:administrativeConnectionDictionary:]):
	Implemented.
	([EOAdaptor createDatabaseWithAdministrativeConnectionDictionary:]):
	Documented and implemented.
	([EOAdaptor dropDatabaseWithAdministrativeConnectionDictionary]):
	Ditto.
	([EOAdaptor runLoginPanelAndValidateConnectionDictionary]):
	Ditto.
	([EOAdaptor runLoginPanel]): Ditto.
	([EOAdaptor assignExternalInfoForAttribute:]): Ditto.
	([EOAdaptor assignExternalInfoForEntity]): Ditto.
	([EOAdaptor assignExternalInfoForEntireModel:]): Ditto.
	([EOAdaptor internalTypeForExternalType:model:]): Documented.
	([EOAdaptor externalTypesWithModel]): Ditto.
	([EOAdaptor assignExternalTypeForAttribute]): Ditto.
	([EOLoginPanel runPanelForAdaptor:validate:allowsCreation:]):
	Implemented.
	([EOLoginPanel runPanelForAdaptor:validate:]): Deprecated.
	* EOAccess/EODeprecated.h
	([EOLoginPanel runPanelForAdaptor:validate:]): Deprecated.
	* EOAdaptors/Postgres95/Postgres95Adaptor.m
	([Postgres95Adaptor
	createDatabaseWithAdministrativeConnectionDictionary:]): Removed.
	([Postgres95Adaptor
	dropDatabaseWithAdministrativeConnectionDictionary:]): Ditto.
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m
	([Postgres95SQLExpression
	createDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary:]): Implemented.
	([Postgres95SQLExpression
	dropDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary:]): Ditto.
	
	* EOControl/EOClassDescription.m
	([EOClassDescription initialize]): Use local 
	GSLazyRecursiveLock instead of old locking mechanism.
	([EOClassDescription classDelegate]): Ditto.
	* EOControl/EOGenericRecord.m:  Use GSLazyRecursiveLock
	instead	of NSRecursiveLock.
	* EOControl/EONSAddOns.h/m (GDL2GlobalLock, 
	GDL2GlobalRecursiveLock) Remove.
	(GDL2GlobalLockVendor) Ditto.
	(GSUseStrictWO451Compatibility): Use local GSLazyRecursiveLock
	instead of old locking mechanism.
	* EOControl/EOFault.m: Remove superfluous include.
	
	* EOControl/EOKeyValueQualifier.m
	([EOKeyValueQualifier initWithKey:operatorSelector:value:]):
	Use EONull instance if value is nil.
	([EOKeyValueQualifier evaluateWithObject:]): Use EONull
	instance if object is nil.
	* EOControl/EOQualifier.m (getKey): Always interpret 
	'attName = nil' qualifiers as EOKeyValueQualifiers.
	
	* EOControl/EODebug.h/m(EOFLogAssertGood_): Remove dependancy 
	on superfluous category.
	([NSObject isa]): Remove category.
	
2004-02-01  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAdaptor.m ([EOAdaptor adaptorWithName:]): Use
	NSSearchPathForDirectoriesInDomains() instead of GNUstep
	specific environment variable.

2004-01-31  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOAccessFault.m: Add #includes for non *-gnu-*.
	* EOAccess/EOAdaptorOperation.m: Ditto.
	* EOAccess/EOAttribute.m: Ditto.
	* EOAccess/EODatabaseDataSource.m: Ditto.
	* EOAccess/EODatabaseOperation.m: Ditto.
	* EOAccess/EOEntity.m: Ditto.
	* EOAccess/EOExpressionArray.m: Ditto.
	* EOAccess/EOJoin.m: Ditto.
	* EOAccess/EORelationship.m: Ditto.
	* EOAccess/EOSQLExpression.m: Ditto.
	* EOAdaptors/Postgres95/Postgres95Adaptor.m: Ditto.
	* EOAdaptors/Postgres95/Postgres95Channel.m: Ditto.
	* EOAdaptors/Postgres95/Postgres95Context.m: Ditto.
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m: Ditto.
	* EOAdaptors/Postgres95/Postgres95Values.m: Ditto.
	* EOControl/EOCheapArray.m: Ditto.
	* EOControl/EODetailDataSource.m: Ditto.
	* EOControl/EOGenericRecord.m: Ditto.
	* EOControl/EOKeyComparisonQualifier.m: Ditto.
	* EOControl/EOKeyGlobalID.m: Ditto.
	* EOControl/EOKeyValueQualifier.m: Ditto.
	* EOControl/EOMutableKnownKeyDictionary.m: Ditto.
	* EOControl/EONSAddOns.m: Ditto.
	
	* Tools/EOModel+GSDoc.m: Remove usage of -version.

2004-01-30  David Ayers  <d.ayers@inode.at>

	* 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.
	Add -lgnustep-baseadd as ADDITIONAL_TOOL_LIBS for non-*-gnu-*.
	
2004-01-29  David Ayers  <d.ayers@inode.at>

	* EOAccess/GNUmakefile:  Test FOUNDATION_LIB to determine whether
	to link -base or -baseadd.
	* EOControl/GNUmakefile: Ditto.
	* EOModeler/GNUmakefile: Ditto.
	* Tools/GNUmakefile: Ditto.  Update title.
	
	* 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.

2003-11-28  Manuel Guesdon  <mguesdon@orange-concept.com>
	
	* 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.m/.h
		o added number accessors for NSString
		o added NSObject
		  -performSelector:withObject:withObject:withObject:
	* 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:
	* 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:
	* 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.
	* 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;
	* 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.
	* EOControl/EOEditingContext.m/.h:
		o added -setLevelsOfUndo: (for GNustepWeb)
	* EOControl/EOFetchSpecification.m/.h:
		o implemented -encodeWithKeyValueArchiver:
	* EOControl/EOKeyValueArchiver.m:
		o cleaned
	
2003-10-24  David Ayers  <d.ayers@inode.at>

	* 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.

2003-10-23  David Ayers  <d.ayers@inode.at>

	* 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.

2003-09-29  Philip Moetteli  <Philip.Moetteli@tele2.ch>

	* EOControl/EOClassDescription.m
	(+[EOClassDescription initialize]): Initialize model group
	after callback tables are initilized.

2003-09-10  David Ayers  <d.ayers@inode.at>

	* 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.

2003-08-25  Matt Rice  <ratmice@yahoo.com>

	* *.h/m:  Updated to new header layout.
	* Tools/eoutil.m:  Added missing include.

2003-08-23  David Ayers  <d.ayers@inode.at>

	* 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.

2003-07-11  David Ayers  <d.ayers@inode.at>

	* *.m: Include GNUstep.h if GNUSTEP is not defined for OS X.

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:lock: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:lock: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

2003-06-23  David Ayers  <d.ayers@inode.at>

	* 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.

2003-06-22  David Ayers  <d.ayers@inode.at>

	* EOControl/EOFault.m ([EOFault -respondsToSelector:]): Adapt to
	current GSObjCRuntime API.
	* EOControl/EOUndoManager.h: Correct includes.
	* EOAdaptors/Postgres95/Postgres95Channel.m
	([Postgres95Channel -describeTableNames]): Removed incorrect code
	left by copy and paste action.  Reported by Markus Hitter
	<mah@jumping.de>.

2003-06-01  David Ayers  <d.ayers@inode.at>

	* gdl2.make.in:  Set GDL2 as auxiliary preprocessor flag.

2003-05-22  David Ayers  <d.ayers@inode.at>

	* config/postgres.m4: Added /usr/include/postgresql to include
	search path.
	* EOControl/EOClassDescription.m
	([EOClassDescription +classDescriptionForClass:): Replaced
	deprecated GSObjCName() with GSNameFromClass().
	* EOControl/EOQualifier.m
	([EOQualifier +qualifierWithQualifierFormat:varargList:]): Replaced
	deprecated GSObjCSelectorName() with GSNameFromSelector().

2003-05-20  David Ayers  <d.ayers@inode.at>

	* EOControl/EOFault.m ([EOFault respondsToSelector:]): Temporarily
	add private declaration of GSObjCGetMethod() until the replacement
	is in place. 

2003-05-16  David Ayers  <d.ayers@inode.at>

	* 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.
	
2003-05-14  David Ayers  <d.ayers@inode.at>

	* 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.
	
2003-05-08  David Ayers  <d.ayers@inode.at>

	* EOControl/EOObjectStoreCoordinator.m ([EOObjectStoreCoordinator
	+initialize]): Insure EODatabaseContext is setup to receive
	notifications.
	* EOControl/EOKeyGlobalID.m ([EOKeyGlobalID
	+globalIDWithEntityName:keys:keyCount:zone:]): Use AUTORELEASE
	instead of autorelease.
	* EOControl/EOFault.m ([EOFault +initialize]): Fix initialization
	of cached class variable.
	* 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.
	
2003-05-05  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOEntity.m: Replaced autorelease with AUTORELEASE.
	([EOEntity -addRelationship:]): Update _relationshipByName cache.

2003-05-02  David Ayers  <d.ayers@inode.at>

	* 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.
	* 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.
	* EOAccess/EOSQLExpression.m: Import GSCategories.h only for
	NeXT_Foundation_Library.
	* EOControl/EOKeyValueCoding.m: Ditto.
	* 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@sente.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.

2003-04-18  Mirko Viviani  <mirko@objectlab.org>

	* 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.

2003-04-15  Mirko Viviani  <mirko@objectlab.org>

	* EOAccess/EOAdaptorContext.h: include EODefines.h and NSString.h

2003-04-01  David Ayers  <d.ayers@inode.at>

	* 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.
	

2003-03-31  David Ayers  <d.ayers@inode.at>

	* EOControl/EOFault.m ([EOFault respondsToSelector:]): Replaced
	usage of potential future runtime function name with current
	function name.
	
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.
	
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
	
2003-03-12  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOClassDescription.m ([EOClassDescription +initialize]):
	initialize (if present) the default model group. This helps
	+classDescriptionFor* to work correctly.

2003-03-06  David Ayers  <d.ayers@inode.at>

	* 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.
	
2003-02-24  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOUtilities.h: added EOObjectStoreCoordinator.

2003-02-17  David Ayers  <d.ayers@inode.at>

	* 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.
	

2003-02-13  David Ayers  <d.ayers@inode.at>

	* EOControl/EOAndQualifier.m: Added documentation.
	([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.

2003-02-06  David Ayers  <d.ayers@inode.at>

	* EOAccess/EOModel.m
	([EOModel -encodeTableOfContentsIntoPropertyList:]),
	([EOModel -initWithPropertyList:owner:]),
	([EOModel -encodeIntoPropertyList:]), ([EOModel -addEntity:]),
	([EOModel -removeEntity:]), ([EOModel -beautifyNames]),
	([EOModel -setCreateMutableObjects:]):
	Do not access _entities until cache is triggered. 
	* EOAccess/EOModel.m
	([EOModel +findPathForModelNamed:]),
	([EOModel -gcDecrementRefCountOfContainedObjects]),
	([EOModel -storedProcedures]), ([EOModel -initWithContentsOfFile:]),
	([EOModel -initWithTableOfContentsPropertyList:path:]),
	([EOModel -initWithPropertyList:owner:]),
	([EOModel -_classDescriptionNeeded:]), ([EOModel -_entityForClass:]),
	([EOModel -_addEntityWithPropertyList:]), ([EOModel -_addEntity:]),
	([EOModel -_verifyBuiltEntityObject:named:]):
	replaced NSDebugMLLog with EOFLOGObject/ClassLevelArgs. 
	* EOAccess/EOModel.m ([EOModel -description]), ([EOModel
	-addEntity]), ([EOModel removeEntity]): Make temporary objects
	autoreleased versions instead explicit release handling.  
	
	* EOAccess/EOAdaptor.m ([EOAdaptor +adaptorWithName:]):
	reinserted accessing adaptor class by principal class of bundle as
	fallback in case EOAdaptorClassName isn't found.  Raise an
	exception if the provided class is not a subclass of EOAdaptor.  
	* EOAccess/EOAdaptor.m ([EOAdaptor +adaptorWithName:]),
	([EOAdaptor -fetchedValueForValue:attribute]),
	([EOAdaptor -fetchedValueForStringValue:attribute]):
	replaced NSLog/NSDebugMLLog with EOFLOGObject/ClassLevelArgs. 
	* EOAccess/EOAdaptor.m ([EOAdaptor +adaptorWithModel:]),
	([EOAdaptor +adaptorWithName:]),
	([EOAdaptor +availableAdaptorNames]):
	replaced autorelease with AUTORELEASE(). 

	* EOAdaptors/Postgres95Adaptor/Info.plist: Added
	EOAdaptorClassName entry.
	

2003-02-04  Stephane Corthesy  <stephane@sente.ch>

	* Tools/eoutil.m: implemented.

	* EOAndQualifier.m: replaced autorelease by AUTORELEASE
	* EOClassDescription.m: added #include <gnustep/base/objc-gnu2next.h>
	and note about subclassing NSClassDescription
	* EOEditingContext.m: removed EOAccess inclusion; note that we need to
	rewrite -faultForRawRow:entityNamed:editingContext: to break dependency
	to EOAccess
	* EOFault.m: implemented +doesNotRecognizeSelector:
	* EOFaultHandler.m: added #include <objc/objc-class.h> and #include
	<objc/Protocol.h>
	* EOFetchSpecification.m: added #import <Foundation/NSDictionary.h>
	* EOGenericRecord.h: declaration of -valueForKey: and
	-takeValue:forKey: needs to be done only when !FOUNDATION_HAS_KVC
	* EOGenericRecord.m: removed #import <EOAccess/EOEntity.h> and #import
	<EOAccess/EORelationship.h>; added #include <objc/objc-class.h>;
	declared +eoCalculateSizeWith:forArray:; corrected +initialize (doesn't
	return a value); renamed +removeDestoyedObject: to
	+removeDestroyedObject:; modified
	-initWithEditingContext:classDescription:globalID: to no longer depend
	on EOAccess via EOEntity; some methods need to be implemented only when
	!FOUNDATION_HAS_KVC (else they are already correctly implemented in
	NSObject), some others only when FOUNDATION_HAS_KVC
	(-handleQueryWithUnboundKey: and handleTakeValue:forUnboundKey:); in
	-smartTakeValue:forKey:, removed dependency to EOAccess via
	EORelationship; corrected problem with macro NSDebugMLog, which should
	be replaced by other macro anyway; modified -eoCalculateSizeWith: to no
	longer depend on EOAccess via EOEntity
	* EOGlobalID.m: added #include <stdio.h> and #include <string.h>; added
	cast in +assignGloballyUniqueBytes:
	* EOKeyComparisonQualifier.m: added casts
	* EOKeyGlobalID.m: replaced retain by RETAIN
	* EOKeyValueCoding.h: removed #import
	<EOControl/EOKeyValueCodingBase.h>; added - (id)storedValueForKeyPath:
	(NSString *)key; declared some methods only when !FOUNDATION_HAS_KVC;
	declared hidden methods for MacOS X.
	* EOKeyValueCoding.m: added #include <ctype.h>; implemented some
	methods only when !FOUNDATION_HAS_KVC; corrected problem with macros
	NSDebugMLog/NSWarnLog, which should be replaced by other macro anyway;
	declared -[NSMutableDictionary(EOKeyValueCodingPrivate)
	takeValue:forKeyPath:isSmart:]; corrected zombie in
	-[NSMutableDictionary(EOKeyValueCoding) takeValue:forKeyPath:isSmart:]
	* EOKeyValueQualifier: added casts
	* EOMutableKnownKeyDictionary.m: added #warning about missing method;
	moved method implementation to avoid warning
	* EONSAddOns.m: added casts
	* EOObjectStoreCoordinator.m: corrected problem with macro NSDebugMLog,
	which should be replaced by other macro anyway
	* EOQualifier.m: added #include <gnustep/base/GSObjCRuntime.h>;
	corrected problem with macro NSDebugLog, which should be replaced by
	other macro anyway; replaced retain by RETAIN; in -doesContain:, no
	need to test against NSMutableArray class
	* EOSortOrdering.m: replaced retain by RETAIN; avoid autoreleased
	objects; replaced mutableCopy by initWithArray:copyItems:

2003-02-03  Stephane Corthesy  <stephane@sente.ch>

	* Postgres95Adaptor.m: made some changes to externalTypeNames (needs
	to be reviewed completely!); avoided needless autoreleased object
	* Postgres95Channel.m: avoided needless autoreleased object ; added
	arg to NSDebugMLLog (should be replaced by other log macro); use
	macros RETAIN, AUTORELASE; when invoking PQexec, added ending ";" to
	statement (necessary for inserts, at least)
	* Postgres95SQLExpression.m: replaced #import <EOAccess/EOAccess.h> by
	smaller #imports; commented out use of external type 'datetime'
	(obsolete?); corrected bug in +formatValue:forAttribute: (error when
	escaping special characters); overloaded
	+dropTableStatementsForEntityGroup: to append CASCADE (maybe this
	should be done in EOSQLExpression class?), else it is not possible to
	drop tables which contain foreign key constraints; overloaded
	+prepareConstraintStatementForRelationship:sourceColumns:
	destinationColumns: to append DEFERRABLE INITIALLY DEFERRED (maybe this
	should be done in EOSQLExpression class?)
	* Postgres95Values.h: made Postgres95Values inherit from NSObject, else
	ObjC runtime doesn't like it and crashes!

	* EOAdaptor.m: added #import <Foundation/NSData.h>; corrected bug when
	instantiating adaptor: class name needs to be taken exclusively from
	infoDictionary, because a framework's principalClass is indeterminate
	(is it?); corrected var type; added empty implementation of
	EOLoginPanel class (is the method named
	"administraticeConnectionDictionaryForAdaptor:" correct? Shouldn't it
	be "administrativeConnectionDictionaryForAdaptor:" ??)
	* EOAttribute.m: added #include <string.h>; use -[NSTimeZone name]
	instead of -[NSTimeZone timeZoneName] (also on GNUstep?)
	* EODatabaseChannel.m: corrected bug with macro NSDebugMLog (which
	should be replaced by other macro...); in -fetchObject, added support
	for raw rows (works for me, but I'm not sure whether it is totally
	correct: _fetchSpecifications ivar is used nowhere!); avoided use of
	autoreleased objects; in
	-_selectWithFetchSpecification:editingContext:, uncommented last part
	to allow support for raw rows.
	* EODatabaseContext.h: added #import <Foundation/NSDate.h>
	* EODatabaseContext.m: #import <Foundation/NSKeyValueCoding.h> only
	when FOUNDATION_HAS_KVC? ; added declaration of -entityForGlobalID:;
	replaced some retain by RETAIN; in
	objectsWithFetchSpecification:editingContext:, added support for raw
	rows (adapted code of non raw rows => needs refactoring); added missing
	cast; corrected bug with macro NSDebugMLog (which should be replaced by
	other macro...)
	* EODatabaseDatasource.m: added #import <Foundation/NSEnumerator.h>;
	added declaration of
	-_partialInitWithEditingContext:entityName:fetchSpecificationName:
	* EOEntity.m: corrected bugs with lazy loading of ivars by using
	_flags.updating, in -initWithPropertyList:owner:, and by using methods
	instead of direct access to ivars; in -classProperties, corrected
	problem with vars containing sometimes strings, sometimes
	EOAttribute/EORelationship! (very weird way of lazy initialization...
	Should be reviewed); added use of _flags.updating in -relationships and
	-attributes; in -isPrimaryKeyValidInObject:, no longer tests against
	[NSNull null], because [EONull null] == [NSNull null]; replaced some
	retain by RETAIN; in -addAttribute:, -removeAttribute:,
	-addRelationship: and  -removeRelationship:, corrected nasty bug due to
	mutableCopy: now we are independant of mutableCopy implementation (deep
	or shallow copy), as implementation changed these last days and might
	change again. Added -_setClassName: to allow modification without
	calling willChange, when necessary (init); modified _setIsEdited to
	test _flags.updating; in -awakeObject:fromInsertionInEditingContext:,
	corrected conditions to create relationship (propagatesPrimaryKey has
	nothing to do with it, whereas isMandatory is important)
	* EOModel.m: added #include <gnustep/base/GSObjCRuntime.h> and #import
	<Foundation/NSPathUtilities.h>; changed search strategy for models by
	using NSSearchPathForDirectoriesInDomains(); replaced some retain by
	RETAIN; avoided use of mutableCopy and copy
	* EORelationship.m: replaced some retain by RETAIN; avoided use of
	mutableCopy and copy
	* EOSQLExpression.m: added declaration of +sqlExpressionWithEntity:;
	added +foreignKeyConstraintStatementsForEntityGroup: and
	+foreignKeyConstraintStatementsForEntityGroups:; in
	+createTableStatementsForEntityGroup:, corrected call to listString; in
	+schemaCreationStatementsForEntities:options:, reordered defaults[] to
	allow correct SQL generation (you drop first, then create) and
	corrected method to invoke for EOForeignKeyConstraintsKey; corrected
	-columnTypeStringForAttribute: and -addCreateClauseForAttribute:
	* EOSchemaGeneration.h: corrected documentation
	* EOStoredProcedure.m: added #import <Foundation/NSEnumerator.h>
	* EOUtilities.h: removed duplicate delcaration of -objectsOfClass:
	* EOUtilities.m: added #import <EOControl/EOGenericRecord.h>; corrected
	bug with macro NSDebugMLog (which should be replaced by other
	macro...); corrected type casting; added type casting.

2003-02-02  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOGenericRecord.m ([EOGenericRecord +initialize]): import
	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 !

2003-01-31  Manuel Guesdon  <mguesdon@orange-concept.com>
	* 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
	
2003-01-21  David Ayers  <d.ayers@inode.at>

	* EOControl/EOQualifier.m ([EOQualifier +allQualifierOperators]): 
	([EOQualifier +relationalQualifierOperators]): 
	([EOQualifier +stringForOperatorSelector:]): fixed array
	initialization and renamed 'contains' to 'doesContain'.

2003-01-16  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOObserver.m: Added implementation for EODelayedObserver
	and EODelayedObserverQueue.

2003-01-16  David Ayers  <d.ayers@inode.at>

	* EOAdaptors/Postgres95/Postgres95Adaptor.m:
	Added import of NSDebug.h/EODebug.h
	Removed NSLog of connection information

	* EOAdaptors/Postgres95/Postgres95Channel.m
	* EOAdaptors/Postgres95/Postgres95Context.m
	* EOAdaptors/Postgres95/Postgres95Expression.m
	* EOAdaptors/Postgres95/Postgres95Value.m:
	Added import of NSDebug.h/EODebug.h

	* EOControl/EOControl.h:
	Added import of EOUndoManager.h

	* EOControl/EOObserver.m:
	Added empty implementation for EOObserverProxy

2002-12-31  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOFault.m ([EOFault -editingContext]): simplified.
	Converted NSDebug* to EOFLOGObjectLevel.

	* EOAccess/EOUtilities.m|.h ([EOObjectStoreCoordinator -modelGroup]),
	([EOObjectStoreCoordinator -setModelGroup:]): moved from EOControl/
	EOObjectStoreCoordinator.m

	* EOAccess/EOUtilities.m|.h ([EOFetchSpecification
	+fetchSpecificationNamed:entityNamed:]): moved from EOControl/
	EOFetchSpecification.m

	* EOControl/EOFetchSpecification.m ([EOFetchSpecification
	+fetchSpecificationNamed:entityNamed:]): return nil.

	* EOAccess/EOAccessFault.m|.h ([EOFault -databaseContext]): moved from
	EOControl/EOFault.m

	* added missing include, include config.h in all .m files.

	* EOControl/EOEditingContext.m ([EOEditingContext -tryToSaveChanges]),
	([EOEditingContext -saveChanges:]): use respondsToSelector:

2002-12-30  Markus Hitter <mah@jump-ing.de>

	* EOAdaptors/Postgres95/Postgres95Channel.m ([Postgres95Channel
	-describeTableNames]): implemented.

2002-12-30  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOSQLExpression.h: added missing declaration.

	* EOAccess/EORelationship.m ([EORelationship -removeJoin:]): added cast.

	* EOAccess/EOModel.m ([EOModel -dealloc]): removes observer correctly.

	* EOAccess/EODatabaseContext.h: added missing declaration.

	* EOControl/EOFetchSpecification.m ([EOFetchSpecification
	-copyWithZone:]): fixed cast.
	([EOFetchSpecification -hints]): added cast.

	* EOControl/EOClassDescription.m  ([NSException
	+validationExceptionWithFormat:]), ([NSException
	+aggregateExceptionWithExceptions:]),
	([NSException -exceptionAddingEntriesToUserInfo:]): renamed local
	variables.

	* rearranged header inclusion in all sources.

2002-12-29  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext -initializeObject:
	row:entity:editingContext:]): set nil instead of EONull

	* EOControl/EONull.m: included config.h

2002-12-17  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOEntity.m ([EOEntityClassDescription
	-inverseForRelationshipKey:]): Fixed to return a relationship name that
	is a class property.

2002-12-14  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EORelationship.m ([EORelationship
	-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.

2002-12-08  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOEntity.m ([EOEntity -classDescriptionForInstances]):
	retain newly created classDescription.

	* EOAccess/EOAdaptor.m ([EOAdaptor -isValidQualifierType:model:]):
	implemented.

	* EOControl/GNUmakefile (libgnustep-db2control_HEADER_FILES): removed
	GCObject.h

	* EOAccess/EODatabaseContext.m: 
	* EOAccess/EORelationship.m:
	* EOAccess/EOEntity.m:
	* EOControl/EOMutableKnownKeyDictionary.m:
	* EOControl/EOEditingContext.m: replaced EOFLOGObjectLevelArgs with
	EOFLOGObjectLevel in absence of args. (fixed problems with gcc 2.95)

2002-12-07  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOEntity.m ([EOEntity -isPrimaryKeyValidInObject:]): check
	for NSNull objects.

2002-12-06  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOUtilities.h: added prototype.

2002-12-05  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	+_registerDatabaseContext:]): added a warning  if the specified model
	is not found.
	* EOAdaptors/Postgres95/Makefile.preamble.in (LIBRARIES_DEPEND_UPON):
	added postgres libs here.

2002-12-04  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOModeler/EOModelExtensions.m ([EOEntity -classAttributes]): 
	([EOEntity -classScalarAttributes]): 
	([EOEntity -classNonScalarAttributes]): 
	([EOEntity -classToManyRelationships]): 
	([EOEntity -classToOneRelationships]): fixed to use class properties.

	* EOAccess/EOEntity.m ([EOEntity -initWithPropertyList:owner:]): read
	<entityName>.fspec only if exists.

	* EOControl/EOKeyValueCoding.m ([NSArray -valueForKeyPath:]): 
	implemented the case of invoking an aggregate function using a simple
	key.

	* EOControl/EOGenericRecord.m ([EOGenericRecord
	-_infoForInstanceVariableNamed:retType:retSize:retOffset:]): renamed
	GSObjCFindInstanceVariable in GSFindInstanceVariable

	* config/postgres.m4: check in /usr/local/include and /usr/local/lib
	* EOModeler/GNUmakefile: install headers in EOModeler/

2002-12-01  Manuel Guesdon  <mguesdon@orange-concept.com>
	* 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.

2002-11-30  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EODatabaseContext.m
		o logs
		o changes in _primaryKeyForObject: to handle 
		inserted "child" of already existing object case
	* EOControl/EODetailDataSource.m:
		o implemented -description

2002-11-28  Richard Frith-Macdonald <rfm@gnu.org>

	* EOAccess/EOEntity.m:  Patch by David Ayers.
	* EOAccess/EOExpressionArray.m: Update for latest GSObjCRuntime stuff.
	* EOControl/EOGenericRecord.m: ditto
	* Tools/Makefile.preamble: Fix library lookup for link


2002-11-27  Richard Frith-Macdonald <rfm@gnu.org>

	* gdl2.make.in: simplify libraries ... let which_lib sort them out.
	* Tools/GNUmakefile.preamble: ditto

2002-11-27  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EOModel.m: 
		o fixed typo in -entityNamed:
	
2002-11-27  Richard Frith-Macdonald <rfm@gnu.org>

	* EOAccess/EOModel.h:
	* EOAccess/EOModel.m:  Appplied David Ayers patch for programmatic
	model manipulation.  Fixed typo. Use NSFileManager rather than
	mkdir(). Tidied some use of autorelease for memory efficiency etc.
	* EOControl/EOGenericRecord.m: update to use GSFindInstanceVariable()

2002-11-26  Manuel Guesdon  <mguesdon@orange-concept.com>

	* 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:

2002-11-25  Richard Frith-Macdonald <rfm@gnu.org>

	Tagged all files as 'with-extensions'
	Committed new versions of very many files with dependency on the
	obsolete extensions library removed.  gdl2 should now only need
	the base library (or perhaps MacOS-X foundation plus a port of the
	Additions library from the base library package, when someone wants
	to do the port).

2002-11-24  Richard Frith-Macdonald <rfm@gnu.org>

	* EOAdaptors/Makefile.postamble: New file to clean configure
	generated files.
	* EOAdaptors/Postgres95/Makefile.postamble: New file to clean configure
	generated files.
	* EOAdaptors/Postgres95/Makefile.preamble: remove .. generated
	automatically.
	Fixes suggested by David Ayers

2002-11-18  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOKeyValueQualifier.m:
	* EOControl/EOAndQualifier.m:
	* EOControl/EOKeyComparisonQualifier.m:
	* EOControl/EONotQualifier.m:
	* EOControl/EOOrQualifier.m: remove references to EOAccess.

2002-11-16  Richard Frith-Macdonald <rfm@gnu.org>

	* EOAccess/EOExpressionArray.m: Correct reference to obsolete
	behavior function call (removed from public api a few years back
	and recently removed from internal code too).
	* EOControl/EOFault.m: Remove GNU property list method no longer
	used/nneeded.

2002-11-14  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOAcces/EODatabaseDataSource.m:
		o corrected bug in -description
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m
		o change in +formatValue:forAttribute: to handle string value for dates

2002-11-14  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAdaptors/*, EOAccess/*, EOControl/*: removed some warnings.

2002-11-13  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAcces/EODatabaseContext.m:
		o corrected bug
		o logs
	* EOAccess/EODatabaseOperation.m:
		o -setDatabaseOperator: change to not update deleted objetcs
	* EOAccess/EOEntity.m: 
		o -_attributesToFetch added exception handling
	* EOAccess/EOSQLExpression:
		o use sqlExpressionWithEntity instead of alloc/init
	* EOControl/EOEditingContext.m:
		o _processOwnedObjectsUsingChangeTable:deleteTable:
			bug correction in new/existing value handling
		o doc
	* EOControl/EOGenericRecord.m:
		o log changes
	* EOControl/EOKeyValueCoding.m:
		o added -takeStoredValue:forKeyPath:
		o added -storedValuesForKeyPaths:
		o corrected bug in NSArray -valueForKey:
		o corrected bugs in NSArray -valueForKeyPath:
	* EOAccess/EOUtilities.m
		o handle nil value in rawRowsMatchingValue:forKey:entityNamed:
		o handle nil value in objectsMatchingValue:forKey:entityNamed:
		o handle nil value in objectWithPrimaryKeyValue:entityNamed:
	* EOAccess/EOAttribute.m
		o destroy docComment in -dealloc
	* EOAdaptors/Postgres98/Postgres95Values.m:
		o comment
		o use stringWithCString.. instead of alloc/init/release
	* EOControl/EOMultipleKnownKeyDictionary.h
		o added -debugDescription
	* EOControl/EONull.m:
		o added -NSNull -valueForKey:
	* EOAccess/EOQualifier.m:
		o in getKey: autorelease key
		o in -qualifierWithQualifierFormat:varargList:
			user [NSMutableArray array] instead [NSMutableArray new]/DESTROY 
			to avoid memory leak if an exception is raised
	
2002-11-04  David Ayers  <d.ayers@inode.at>

	* EOControl/EOSortOrdering.m:
		o changed -sortedArrayUsingKeyOrderArray:
	* EOControl/EOQualifier.m: 
		o improved -qualifierWithQualifierFormat: parsing

2002-10-31  David Ayers  <d.ayers@inode.at>
	
	* EOControl/EOQualifier.m: 
		o improved -qualifierWithQualifierFormat: parsing
		o added NSNumber -initWithString as EOQualiferExtra
	* EOControl/EOKeyValueQualifier.m:
		o changed -description
	* EOControl/EOKeyComparisonQualifier.m:
		o changed -description

2002-09-22  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* Makefile.postamble: install gdl2.make.

2002-09-22  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* configure.ac: added adaptors configuration.
	* config/postgres.m4: check for postgres db.
	* EOAdaptors/Postgres95/GNUmakefile.in: new file.
	* EOAdaptors/Postgres95/Makefile.preamble.in: new file.

2002-09-20  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* configure.ac: new file.
	* gdl2.make.in: new file.
	* config.h.in: new file.

2002-09-20  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* Indented all the sources and removed many warnings.
	* Moved EOCheapArray.m|h, EONSAddOns.m|h and EODebug.m|h to EOControl.
	* Moved EOUtilities.m|h to EOAccess.
	* Moved EOQualifierSQLGeneration in EOAccess/EOSQLQualifier

2002-06-03  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
		o NSWarn -> NSWarnLog
	* EOControl/EOKeyValueArchiver.m:
		o added -isThereValueForKey: in EOKeyValueUnarchiver
	* EOControl/EOKeyValueArchiver.h:
		o added -isThereValueForKey: in EOKeyValueUnarchiver
	* EOControl/EOSQLExpression.m:
		o changes for usesDistincts
		o logs
	* EOAccess/EODatabaseChannel.m:
		o fix for refetched objects
	* EOAccess/EODatabaseContext.m:
		o fixes in recordChangesInEditingContext
	* EOAccess/EODatabaseDataSource.m:
		o logs
	* EOAccess/EONSAddOns.h/.m
		o added NSArray -arrayExcludingObject: 
		o added NSArray -containsIdenticalObjectsWithArray:
	* EOAccess/EORelationship.h/.m:
		o added isBidirectional: and associated methods (for use with smartTakeValue:forKey:)
	* EOControl/EOClassDescription.h/.m:
		o added -relationshipNamed:
		o added -anyRelationshipNamed:
	* EOControl/EOGenericRecord.m:
		o added -smartTakeValue:forKey:
	* EOControl/EOObjectStoreCoordinator.m:
		o logs
	
2002-05-14  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOControl/EOEditingContext.m:
		o changes in -saveChangesInEditingContext: to avoid return in the middle of the method
		o logs
	* EOAccess/EODatabaseContext.m:
		o add rollbackChanges on exception in -saveChangesInEditingContext:
		o corrected bug in initializeObject:row:entity:editingContext:
		o logs
	* EOControl/EOKeyValueQualifier.m:
		o implementation of flatten case in -schemaBasedQualifierWithRootEntity:
		o logs
	* EOControl/EODetailDataSource.m
		o correct bugs by using -decodeObjectForKey: in -initWithKeyValueUnarchiver:
		o changed _masterEntityName to _masterClassDescriptionName
		o added -classDescriptionForObjects
		o logs
	* EOControl/EODetailDataSource.h:
		o changed _masterEntityName to _masterClassDescriptionName
		o added -classDescriptionForObjects
	* EOControl/EODataSource.m:
		o logs
	* EOControl/EOGenericRecord.m:
		o added -willChange call in _setValueForKey:object:selector:type:size:offset:
	* EOControl/EOMutableKnownKeyDictionary.m:
		o corrected bug in -containsObjectsNotIdenticalTo:
		o logs
	* EOAccess/EOSQLExpression.m:
		o logs
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
		o logs
		o corrected bugs for empty strings in +formatValue:forAttribute:
	* EOAccess/EODatabaseDataSource.m
		o logs
	* EOAccess/EOEntity.m
		o logs
	* EOControl/EOQualifier.m:
		o logs
	* EOControl/EOOrQualifier.m:
		o logs
	* EOControl/EOAndQualifier.m:
		o logs
	* EOControl/EOObserver.m:
		o logs
	* EOAccess/EODatabase.m:
		o logs
		o avoid fault access in -entityForObject:

2002-04-15  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EOFetchSpecification.m:
		o changed  -fetchSpecification into +fetchSpecification
	* EOAccess/EOKeyValueCoding.m:
		o logs
		o corrected bug: added special case "count" in NSArray -valueForKeyPath:
	* EOAccess/EOGenericRecord.m:
		o logs
	* EOControl/EODetailDataSource.h:
		o added -initWithKeyValueUnarchiver:
	* EOControl/EODetailDataSource.m:
		o added -initWithKeyValueUnarchiver:
	* EOControl/EOKeyValueArcher.m:
		o added EOKeyValueArchivingContainer +keyValueArchivingContainer
		o corrected not autorelease bug in -_objectForPropertyList:
		o logs
	* EOControl/EODatabaseDataSource.m:
		o logs

2002-04-01  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EOModel.h:
		o added +version
	* EOAccess/EOStoredProcedure.h:
		o added +storedProcedureWithPropertyList:owner:
	* EOAccess/EOEntity.h:
		o added +entityWithPropertyList:owner:
		o added -setDocComment:
		o added +entityClassDescriptionWithEntity:
	* EOAccess/EOEntity.m:
		o corrected bug in _keyMapForIdenticalKeyRelationshipPath: (dictionary construction)
	* EOAccess/EOEntityPriv.h:
		o retyped -_parseDescription:isFormat:arguments:;
	* EOAccess/EORelationship.h:
		o added +relationshipWithPropertyList:owner:
	* EOAccess/EOAttribute.h:
		o added +attributeWithPropertyList:owner:
		o added -setInternalInfo:
		o added -_normalizeDefinition:path:

	* EOAccess/EOAttribute.m:
		o use an id instead of a string for userInfo,...
		o added -setInternalInfo:
	* EOAccess/EOExpressionArray.h:
		o added -valueForSQLExpression:

2002-04-01  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOControl/EODetailDataSource.h/.m:
		o added +detailDataSourceWithMasterDataSource:detailKey:
	* EOAccess/EODatbaseDataSource.m:
		o changed allocations
	* EOAccess/EODatabase.m:
		o changed allocations
	* EOAccess/EOEntity.m:
		o changed allocations
		o corrected not autorelease bug in EOEntity -classDescriptionForInstances
	* EOControl/EOGlobalID.h/.m:
		o added EOTemporaryGlobalID +temporaryGlobalID
	* EOControl/EIEditingContext.m:
		o changed allocations
	* EOControl/EOKeyValueQualifier.m:
		o changed allocations
	* EOControl/EOObjectStoreCoordinator.m:
		o changed allocations
	* EOKeyComparisonQualifier.m:
		o added +qualifierWithLeftKey:operatorSelector:rightKey:
	* EONotQualifier.m:
		o added +qualifierWithQualifier:
	* EOQualifier.m:
		o changed allocations
	* EOAccess/EOAdaptorContext.h/.m:
		o added +adaptorContextWithAdaptor:
	* EOAdaptors/Postgres95/Postgres9Adaptor.m:
		o changed allocations
	* EOAdaptors/Postgres95/Postgres9Channel.m:
		o changed allocations
	* EOAdaptors/Postgres95/Postgres9Context.m:
		o changed allocations
	* EOAccess/EOModel.h/.m:
		o added +model
	* EOAccess/EOAdaptorChannel.h/.m
		o added +adaptorChannelWithAdaptorContext:
	* EOAdaptors/Postgres95/Postgres9Values.m:
		o changed allocations

2002-03-29  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EODatabaseOperation.m
		o logs
	* EOAccess/EODatabaseContext.h/.m
		o logs	
		o added +databaseContextWithDatabase:
		o change allocations
	* EOAccess/EORelationship.m
		o logs
		o corrected not autorelease bug in _foreignKeyForSourceRow:
		o added +relationshipWithPropertyList:owner:
	* EOAccess/EOJoin.h/.m:
		o added +joinWithSourceAttribute:destinationAttribute:

	* EOAccess/EOSQLExpression.m:
		o added +sqlExpressionWithEntity:
	* EOAccess/EOAttribute.m:
		o added +attributeWithPropertyList:owner:

	* EOAdaptors/Postgres95/Postgres95Channel.m
		o logs
	* EOAccess/EODatabaseChannel.m
		o logs
		o added +databaseChannelWithDatabaseContext:
	* EOAccess/EOFault.m:
		o logs
	* EOAccess/EOFetchSpecification.m/.h
		o added +fetchSpecification
	* EOControl/EOUtilities.m:
		o corrected not autorelease bug in -objectsMatchingValues:entityNamed:
		o change qualifiers allocations
	* EOAccess/EOAndQualifier.m:
		o added EOAndQualifier +qualifierWithQualifierArray:
		o added EOAndQualifier +qualifierWithQualifiers:
	* EOAccess/EOOrQualifier.m:
		o added EOOrQualifier +qualifierWithQualifierArray:
	* EOAccess/EOQualifier.h
		o added EOAndQualifier +qualifierWithQualifierArray:
		o added EOOrQualifier +qualifierWithQualifierArray:
	* EOAccess/EOEntity.m:
		o changed EOMutableKnownKeyDictionary allocation in -_dictionaryForProperties 
	* EOAccess/EOMutableKnownKeyDictionary.h/.m:
		o added +dictionaryFromDictionary:subsetMapping:
	* EOAccess/EOModel.h/.m
		o added +modelWithContentsOfFile:
		o corrected not autorelease bug
		o allocation changes
	* EOAccess/EOModelGroup.m:
		o Changed EOModel allocation
	* EOAccess/EODatabase.h/.m:
		o added +databaseWithModel:
	* EOAccess/EOAccessFault.h/.m
		o added EOAccessFaultHandler +accessFaultHandlerWithGlobalID:databaseContext:editingContext:
		o added EOAccessArrayFaultHandler 
			+accessArrayFaultHandlerWithSourceGlobalID:relationshipName:databaseContext:editingContext:
	* EOAccess/EODatabaseOperation.h/.m:
		o added EODatabaseOperation +databaseOperationWithGlobalID:object:entity:
	* EOAccess/EOAdaptorOperation.h/.m:
		o added EOAdaptorOperation +adaptorOperationWithEntity:
	* EOAccess/EODatabaseDataSource.m:
		o allocation changes
	* EOAccess/EOStoredProcedure.m:
		o corrected not autorelease bug in -initWithPropertyList:owner:


2002-03-28  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/EODatabaseChannel.m
		o removed logs
		o changed logs
	* EOAdaptors/Postgres95/Postgres95Channel.m
		o removed logs
	* EOAccess/EORelationship.m:
		o NSAssert
		o added _docComment and associated methods
	* EOAccess/EORelationship.h:
		o added _docComment and associated methods
	* EOAccess/EOSQLExpression.m:
		o NSAssert
		o logs	
	* EOAccess/EOEntity.m:
		o doc
		o logs
		o added _docComment and associated methods
	* EOAccess/EOEntity.h:
		o added _docComment and associated methods

	* EOAccess/EOModel.h/.m:
		o added -adaptorClassname
		o added _version and -version
		o added _docComment and associated methods
	* EOAccess/EOAttribute.h/.m:
		o added _docComment and associated methods

	* EOAccess/EOAdaptorChannel.m
		o logs
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
		o corrected bug in formatValue:forAttribute:
	* added Tools/

2002-03-25  Manuel Guesdon  <mguesdon@orange-concept.com>
	* EOAccess/GNUmakefile:
		o removed -SystemProjects System
		o added -Declared EOAccess
	* EOControl/GNUmakefile:
		o removed -SystemProjects System
		o added -Declared EOControl
	* EOAdaptors/Postgres95/GNUmakefile:
		o removed -SystemProjects System
		o added -Declared EOAdaptors/PostgreSQL
	* EOControl/EOGenericRecord.m: logs
	* EOAccess/EODebug.h: added EOFLOGClassFnStartCond EOFLOGClassFnStopCond
	* EOAccess/EODatabaseChannel.m: logs
	* EOAccess/EORelationship.m: 
		o setDefinition
		o corrected bug in _makeFlattenedInverseRelationship
	* EOAccess/EOEntity.m 
		o logs
	* EOControl/EOQualifier.h
	 	o added qualifierWithKey:operatorSelector:value:
	* EOControl/EOKeyValueQualifier.m:
	 	o added qualifierWithKey:operatorSelector:value:
	* EOAccess/EOModel.m:
		o removed assert for non EOGenericRecord class in -_classDescriptionNeeded:
	
2002-03-07  Manuel Guesdon  <mguesdon@orange-concept.com>
	Too much changes

2001-04-10  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOSQLExpression.m ([EOSQLExpression
	+foreignKeyConstraintStatementsForRelationship:]): implemented.

2001-04-07  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOKeyValueCoding.m: import EOControl.h
	* EOControl/EONull.m: likewise.
	* EOAccess/EOModel.m ([EOModel -writeToFile:]): implemented.
	([EOModel -encodeTableOfContentsInfoPropertyList:]): implemented.
	* EOAccess/EORelationship.m ([EORelationship -setEntity:]): remove self
	from previous entity.
	([EORelationship -setDefinition:]): remove joins.

2001-01-12  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOModeler: new library.
	* EOModeler/EOModelExtensions.m/.h: EOModeler categories needed by
	eogenerator.
	* EOControl/EOKeyValueCoding.m ([NSArray -valueForKey:]): fixed @x key.

2001-01-06  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOControl.h: defined FOUNDATION_HAS_KVC to use Foundation
	key value coding.
	* EOAccess/EOAttribute.m ([EOAttribute
	-adaptorValueByConvertingAttributeValue:]): use EONull null object.
	* EOAccess/EOSQLExpression.m ([EOSQLExpression -sqlStringForSelector:
	value:]): likewise.
	* EOControl/EOKeyValueCoding.m ([NSObject -takeValuesFromDictionary:]):
	([NSObject -takeStoredValuesFromDictionary:]): likewise.
	defined FOUNDATION_HAS_KVC to use Foundation key value coding.

2001-01-03  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-faultForGlobalID:editingContext:]): use the correct class property
	array.

2000-12-23  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOEntity.m ([EOEntity -isPrimaryKeyValidInObject:]): fixed.
	Do not returns from inside an exception handler.
	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-prepareForSaveWithCoordinator:editingContext:]): bug fix. Do not
	release an autoreleased object.
	* EOAccess/EODatabaseDataSource.m ([EODatabaseDataSource
	-fetchSpecificationForFetch]): fixed fetch qualifier.
	* EOControl/EOKeyValueQualifier.m ([EOKeyValueQualifier
	-copyWithZone:]): do not copy _value.
	* EOControl/EOAndQualifier.m ([EOAndQualifier -copyWithZone:]): use
	correct zone.
	* EOControl/EOOrQualifier.m ([EOOrQualifier -copyWithZone:]): likewise.
	* EOControl/EOKeyComparisonQualifier.m ([EOKeyComparisonQualifier
	-copyWithZone:]): likewise.

2000-12-20  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-_recordChangesForObjects:operator:]): create dbOperation with the
	correct entity for to-many relationship objects.

2000-12-11  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOModel.m ([EOModel -_registerClassDescForClass:]): 
	check for NULL _entitiesByClass
	([EOModel -dealloc]): release _entitiesByClass
	([EOModel -removeEntity:]): bug fix.

	* EOAdaptors/Postgres95/Postgres95Channel.m ([Postgres
	-_evaluateCommandsUntilAFetch]): raise an exception on error.

2000-12-10  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOKeyValueCoding.m (newGetStoredBinding): fixed value of
	class variable.

2000-12-09  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOModel.m ([EOModel -_registerClassDescForClass:]): fixed
	class description registration.
	([EOModel -_registerClassDescForEntityName:]): likewise.
	([EOModel -addEntity:]), ([EOModel -removeEntity:]): save EOEntity in
	_entitiesByClass.

2000-12-08  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-prepareForSaveWithCoordinator:editingContext:]): get the object value
	if the key is a class property.
	Added code to handle propagatesPrimaryKey for to many relationships.
	Fixed code that merges pk values.
	* EOControl/EOClassDescription.m ([EOClassDescription -awakeObject:
	fromInsertionInEditingContext:]): use NSMutableArray for to many
	relationships.

2000-12-08  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext -faultForGlobalID:
	editingContext:]): set only class property's object values.
	([EODatabaseContext -faultForRawRow:entityNamed:editingContext:]):
	likewise.
	([EODatabaseContext -_recordChangesForObjects:operator:]): likewise.
	([EODatabaseContext -batchFetchRelationship:forSourceObjects:
	editingContext:]): get key value from snapshot rather than in the
	object.

2000-12-06  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOKeyValueCoding.m ([NSObject
	-handleQueryWithUnboundKey:]): raise an EOUnknownKeyException with
	the correct userInfo.
	([NSObject -handleTakeValue:forUnboundKey:]): likewise.
	* EOAccess/EOEntity.m ([EOEntity -isPrimaryKeyValidInObject:]):
	check valueForKey: exception.
	* EOControl/EOClassDescription.m ([NSObject -changesFromSnapshot:]):
	check for EONull values as toMany relationship array.
	* EOControl/EOEditingContext.m ([EOEditingContext
	-processRecentChanges]): check for EONull values in dictionary.
	* EOAccess/EOModel.m ([EOModel -initWithPropertyList:owner:]): check
	for an exception in the entity awakeWithPropertyList method.
	* EOAccess/EOJoin.m ([EOJoin -initWithSourceAttribute:
	destinationAttribute:]): raise exception if source or destination is
	nil.

2000-12-05  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseChannel.m ([EODatabaseChannel -fetchObject]):
	fixed refreshing objects.
	* EOControl/EOKeyValueCoding.m ([NSArray -valueForKey:]): fixed array
	and string selector.
	* EOAccess/EOUtilities.m ([EOEditingContext -objectsForEntityNamed:]):
	([EOEditingContext -primaryKeyForObject:]), ([EOEditingContext
	-entityForObject:]): implemented.
	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-prepareForSaveWithCoordinator:editingContext:]): lock the database
	context.
	([EODatabaseContext -commitChanges]), ([EODatabaseContext
	-rollbackChanges]): unlock the database context
	([EODatabaseContext -registerLockedObjectWithGlobalID:]): fixed zone
	size.

2000-12-04  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-_recordChangesForObjects:operator:]): when updating relationship keys
 	look also in the object snapshot.

2000-12-03  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOSQLExpression.m ([EOSQLExpression
	-sqlStringForKeyValueQualifier:]): bug fix.
	* EOAccess/EOUtilities.m ([EOEditingContext -objectsMatchingValue:
	forKey:entityNamed:]): implemented.

2000-12-01  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EOUtilities.m/.h: new files.
	* EOAccess/EOAccess.h: addes EOUtilities.h

2000-11-23  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOEditingContext.m ([EOEditingContext
	-initializeObject:withGlobalID:editingContext:]): ensure that the next
	'willChange' notification will be processed for the initialized object.
	* EOAccess/EOEntity.m ([EOEntity -globalIDForRow:]): fixed globalID
	values order for compound PKs.

2000-11-22  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAccess/EODatabaseOperationPriv.h: new file.
	* EOAccess/EODatabaseOperation.m ([EODatabaseOperation
	-_setGlobalID:]): new method.
	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-prepareForSaveWithCoordinator:editingContext:]): fixed propagates
	primary key code.
	([EODatabaseContext -_recordChangesForObjects:operator:]): in toOne rel
	discard PK to PK joins. Discard 'empty' toOne rels.
	([EODatabaseContext -_setGlobalID:forDatabaseOperation:): new method.
	It replaces the globalID for the gived operation.
	* EOAccess/EORelationship.m ([EORelationship
	-initWithPropertyList:owner:]): check for 'propagatesPrimaryKey'.
	* EOAccess/EOSQLExpression.m ([EOSQLExpression
	-addOrderByAttributeOrdering:]): use compare selector defines. Call
	-sqlStringForAttributeNamed: for the sortOrdering key.

2000-11-19  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOFault.m ([EOFault +makeObjectIntoFault:withHandler:]): 
	do not turn into fault the nil object.
	* EOControl/EOEditingContext.m ([EOEditingContext
	-refaultObject:withGlobalID:editingContext:]): does nothing if objects
	is nil.
	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-refaultObject:withGlobalID:editingContext:]): likewise.
	([EODatabaseContext -refaultObject:withGlobalID:editingContext:]): does
	not remove the snapshot.
	([EODatabaseChannel -fetchObject]): fix for refreshing object.
	* EOControl/EOSortOrdering.m ([NSMutableArray
	-_sortUsingKeyOrder:fromIndex:count:]): use defined value for compare
	selectors. Fix when aValue or bValue are nil.
	([EONull -compareAscending:]), ([EONull -compareDescending:]),
	([EONull -compareCaseInsensitiveAscending:]): ([EONull
	-compareCaseInsensitiveDescending:]): if value to be compared is be
	treat it as EONull.

2000-11-18  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOEditingContext.m ([EOEditingContext
	-processRecentChanges]): get toOne and toMany keys from object instead
	of the editingContext.

	* EOAccess/EODatabaseContext.m ([EODatabaseContext
	-_recordChangesForObjects:operator:]): new method. Fixed foreign key
	update for inserted objects of toOne relationships. Fixed dictionary
	and foreign key update for toMany relationships.
	([EODatabaseContext -recordChangesInEditingContext]): moved code into
	-_recordChangesForObjects:operator: and check changes also in inserted
	objects.
	([EODatabaseContext -_dbOperationWithObject:operator:]): new method.
	Find db operation for the given object and operator.
	([EODatabaseContext -commitChanges]), ([EODatabaseContext
	-rollbackChanges]): reset ivars if no transaction in progress.

2000-11-16  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOEditingContext.m ([EOEditingContext
	-_handleObjectsChangedInStoreNotification:]): refault updated objects.

	* EOAccess/EODatabaseChannel.m ([EODatabaseChannel -fetchObject]):
	fixed notification for refreshed objects.
	* EOAccess/EOSQLExpression.m ([EOSQLExpression
	-sqlStringForAttribute:]): fix id attribute is derived.
	* EOAccess/EOEntity.m ([EOEntity -setAttributesUsedForLocking:]): fix
	release of the array when no valid attributes are found.
	([EOEntity -setPrimaryKeyAttributes:]): likewise.
	* EOAccess/EODatabase.m ([EODatabase -forgetSnapshotsForGlobalIDs:]): 
	([EODatabase -forgetSnapshotForGlobalID:]): use defined userInfo string
	instead of an hardcoded one.

2000-11-05  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOSortOrdering.m ([NSArray
	-sortedArrayUsingKeyOrderArray:]): implemented.
	([NSMutableArray -sortUsingKeyOrderArray:]): not fully implemented.
	([NSMutableArray -_sortUsingKeyOrder:fromIndex:count:]): modified
	gnustep-base shell sort.
	([EOSortOrdering -initWithCoder:]): fixed.
	([EONull -compareAscending:]): implemented.
	([EONull -compareDescending:]): implemented.
	([EONull -compareCaseInsensitiveAscending:]): implemented.
	([EONull -compareCaseInsensitiveDescending:]): implemented.

	* EOAdaptors/Postgres95/Postgres95Channel.m ([Postgres
	-_describeResults]): does not coerce attribute className.
	* EOAdaptors/Postgres95/Postgres95Values.m: fixed pg calendar format.
	* EOAdaptors/Postgres95/Postgres95SQLExpression.m ([Postgres -assembleSelectStatementWithAttributes:lock:qualifier:fetchOrder:selectString:columnList:tableList:whereClause:joinClause:orderByClause:lockClause:]): does not return
	mutableCopy of the string.
	([Postgres +formatValue:forAttribute:]): implemented. Added code from
	Turbocat's development.

	* EOAccess/EOSQLExpression.m: does not return mutableCopy of a string.
	([EOSQLExpression +formatValue:forAttribute:]): return value unchanged.
	([EOSQLExpression -sqlStringForValue:attributeNamed:]): bug fix ?
	moved code from +[formatValue:forAttribute:]

	* EOControl/EOAndQualifier.m ([EOAndQualifier
	-sqlStringForSQLExpression:]): doesn't return mutableCopy of a string.
	* EOControl/EOOrQualifier.m ([EOOrQualifier
	-sqlStringForSQLExpression:]): likewise.

	* EOControl/EODetailDataSource.m ([EODetailDataSource
	-initWithMasterClassDescription:detailKey:]): set
	masterClassDescription.

	* EOAccess/EOSQLExpression.m
	([EOSQLExpression -addCreateClauseForAttribute:]): 
	([EOSQLExpression -allowsNullClauseForConstraint:]): 
	([EOSQLExpression -columnTypeStringForAttribute:]): 
	([EOSQLExpression +dropTableStatementsForEntityGroup:]): 
	([EOSQLExpression +createTableStatementsForEntityGroup:]): 
	([EOSQLExpression +primaryKeyConstraintStatementsForEntityGroup:]): 
	([EOSQLExpression +primaryKeySupportStatementsForEntityGroup:]): 
	([EOSQLExpression +dropPrimaryKeySupportStatementsForEntityGroup:]): 
	([EOSQLExpression +createTableStatementsForEntityGroups:]): 
	([EOSQLExpression +dropTableStatementsForEntityGroups:]): 
	([EOSQLExpression +primaryKeyConstraintStatementsForEntityGroups:]): 
	([EOSQLExpression +primaryKeySupportStatementsForEntityGroups:]): 
	([EOSQLExpression +dropPrimaryKeySupportStatementsForEntityGroups:]): 
	([EOSQLExpression +appendExpression:toScript:]): 
	([EOSQLExpression +schemaCreationScriptForEntities:options:]): 
	([EOSQLExpression +schemaCreationStatementsForEntities:options:]): 
	([EOSQLExpression -prepareConstraintStatementForRelationship:
	sourceColumns:destinationColumns:]): 
	([EOSQLExpression +createDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary:]): 
	([EOSQLExpression +dropDatabaseStatementsForConnectionDictionary:
	administrativeConnectionDictionary:]): 
	([EOSQLExpression +selectStatementForContainerOptions]): implemented.

	* EOAccess/EOEntity.m ([EOEntity -primaryKeyRootName]): bug fix: calls
	-primaryKeyRootName on the _parent entity instead of -externalName.

	* EOAccess/EOSchemaGeneration.h: new file.

	* EOAccess/EOAccess.h: added EOSchemaGeneration.h

	* EOAccess/EOModel.m ([EOModel -initWithContentsOfFile:]):,
	([EOModel -initWithTableOfContentsPropertyList:path:]): fixed _name and
	_path.
	([EOModel -initWithPropertyList:owner:]): use _path instead of _name.

	* EOAccess/EOModelGroup.m ([EOModelGroup +globalModelGroup]): search
	models in bundles and frameworks.

	* EOAccess/EOAdaptor.m ([EOAdaptor +adaptorWithName:]): changed adaptor
	from bundle to framework. Looks for <name>EOAdaptor.framework
	([EOAdaptor -createDatabaseWithAdministrativeConnectionDictionary:]): 
	([EOAdaptor -dropDatabaseWithAdministrativeConnectionDictionary:]): 
	new methods.
	* EOAccess/EOAdaptor.h: added include file

	* EOAccess/GNUmakefile: added LIBRARIES_DEPEND_UPON
	* EOControl/GNUmakefile: Likewise.

2000-10-05  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOAccess/EODatabaseChannel.m: added NSDebugMLog and NSAssert
	* EOAccess/EODatabaseDataSource.m: added NSDebugMLog and NSAssert
	* EOAccess/EOEntity.m: added NSDebugMLog and NSAssert
	* EOAccess/EOModel.m: modified -init
	* EOControl/EOFetchSpecification.h/.m: added EOKeyValueUnarchiver support
	* EOControl/EOKeyValueArchiver.h/.m: implemented EOKeyValueUnarchiver
	* EOControl/GNUmakefile: added EOKeyValueArchiver

2000-09-28  Manuel Guesdon  <mguesdon@orange-concept.com>

	* EOAccess/EODatabaseContext.m: added NSDebugMLog and NSAssert
	* EOAccess/EODatabaseChannel.m: added NSDebugMLog and NSAssert
	* EOAdaptors/Postgres95/Postgres95Channel.m : added NSDebugMLog 
		and NSAssert
	* EOAccess/EODatabase.m: added NSDebugMLog and NSAssert

2000-09-24  Manuel Guesdon  <mguesdon@orange-concept.com>

	* config.mak: added include directories in POSTGRES95_CFLAGS

2000-09-23  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOControl/EOQualifier.m (getKey): fixed pointer in key-value parsing.

2000-09-17  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	* EOAdaptors/Postgres95/GNUmakefile: remove Postgres95Exceptions.h

2000-09-17  Mirko Viviani  <mirko.viviani@rccr.cremona.it>

	Patches by David Wetzel <dave@turbocat.de>
	* EOAccess/EOAdaptorContext.m ([EOAdaptorContext -initWithAdaptor:]):
	set default debug.

	* EOAccess/EOModel.m ([EOModel +findPathForModelNamed:]): look also
	in the current dir.

	* EOControl/EOObjectStoreCoordinator.m ([EOObjectStoreCoordinator
	-objectStoreForGlobalID:]), ([EOObjectStoreCoordinator
	-objectStoreForObject:]), ([EOObjectStoreCoordinator
	-objectStoreForFetchSpecification:]): bug fix: changed notification
	object.


