libs-gdl2/ChangeLog
Sebastian Reitenbach e38bd61cb2 * add EOAdaptors/SQLiteAdaptor/SQLite3EOAdaptorInfo.plist
needed to make the EODataBrowser correctly detect that
          the SQLite3Adaptor is a subclass of EOAdaptor
        * EOAdaptors/SQLiteAdaptor/SQLite3Adaptor.m
          little tweak


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@36418 72102866-910b-0410-8b05-ffd578937521
2013-03-24 16:52:06 +00:00

7119 lines
274 KiB
Text

2013-03-24: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
* EOAccess/EOAdaptorChannel.m
the subclasses are responsible for describeModelWithTableNames
and describeTableNames
* EOAdaptors/SQLiteAdaptor/SQLite3Channel.m
implement describeModelWithTableNames:, inspired from the
PostgreSQLChannel.m
* Apps/EOModelEditor/EOModelEditorApp.m set the model name
correctly for SQLite3 databases too, use the file name
* add EOAdaptors/SQLiteAdaptor/SQLite3EOAdaptorInfo.plist
needed to make the EODataBrowser correctly detect that
the SQLite3Adaptor is a subclass of EOAdaptor
2013-03-14: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
* EOAdaptors/SQLiteAdaptor/LoginPanel/SQLite3LoginPanel.m
make the login panel remember the last used directory
2013-03-13: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
* Apps/EOModelEditor/DataBrowser.[h|m]
* make the fetch limit and qualifier fields work
2013-03-10: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
* Apps/EOModelEditor/Inspectors/EntityInspector.m
add warning about method not implemented
* EOAdaptors/SQLiteAdaptor/LoginPanel/SQLite3LoginPanel.m
use NSOpenPanel when opening a file
* EOInterface/EOColumnAssociation.m
* EOInterface/EOPopUpAssociation.m
* EOInterface/EORadioMatrixAssociation.m
NSArray doesn't know about initWithObject:
* EOInterface/EOTextAssociation.m
include right headers
* Apps/EOModeler/EOMInspector.m
* Apps/EOModelEditor/Inspectors/AttributeInspector.m
include missing header
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLEOAdaptorInfo.plist
renamed from Info.plist, and fix NSExecutable in it
* Apps/EOModelEditor/Inspectors/AdvancedAttributeInspector.m
* Apps/EOModelEditor/Inspectors/AdvancedEntityInspector.m
* Apps/EOModelEditor/Inspectors/AdvancedRelationshipInspector.m
* Apps/EOModelEditor/Inspectors/EntityInspector.m
* Apps/EOModelEditor/Inspectors/EntityStoredProcedureInspector.m
* Apps/EOModelEditor/Inspectors/RelationshipInspector.m
* Apps/EOModelEditor/Inspectors/StoredProcedureInspector.m
* EOAccess/EOAdaptor.m
Fix some headers, remove unused variables, and use EOMApp
instead of NSApp
* Apps/EOModelEditor/Resources/EOMEDocument.gsmarkup
give the window a better name than just "Window"
2013-03-08: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
* Apps/EOModelEditor/EOMEDocument.h
make the header match the implementation, fixing
warning about incomplete implementation of class
2013-03-07: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
* EOControl/Makefile.preamble
add -std=gnu89 to allow compile with clang and -O0
* EOControl/EOPrivate.h
do not access the isa directly, use object_getClass
* EOControl/EODebug.m
ivar_getTypeEncoding returns const char *
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/PostgreSQLLoginPanel.h
class conforms to NSTextFieldDelegate
* EOAdaptors/SQLiteAdaptor/SQLite3Adaptor.m
get rid of stray ; to make the loop work
* GDL2Palette/ResourceManager.m
include missing header
* GDL2Palette/Palette.[h|m]
use NSString instead of NSConstantString
2013-03-02: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
* Apps/EOModelEditor/EOMEDocument.m
* Apps/EOModelEditor/Inspectors/AdvancedRelationshipInspector.m
* Apps/EOModelEditor/Inspectors/ConnectionDictionaryInspector.m
* Apps/EOModelEditor/Inspectors/EntityInspector.m
* Apps/EOModelEditor/Inspectors/RelationshipInspector.m
* EOAccess/EOAdaptor.m
* EOAccess/EODatabaseContext.m
* EOAccess/EOEntity.m
* EOAccess/EOModel.m
* EOAccess/EOStoredProcedure.m
* EOControl/EOMutableKnownKeyDictionary.m
* EOControl/EOObserver.m
* shutup all clang warnings of type:
equality comparison with extraneous parentheses
all harmless, but in EOEntity.m it actually was wrong
* EOAccess/EORelationship.m
* EOInterface/EODisplayGroup.m
* GDL2Palette/DisplayGroupInspector.m
some NS(U)Integer transitions to fix warnings about
comparisons against NSNotFound
* EOControl/EOKeyValueCoding.m
* EOControl/EOFault.h
mark EOFault and GDL2KVCNSObject classes as root classes
* Apps/EOModelEditor/EOMEDocument.m
* EOAccess/EODatabaseContext.m
* EOControl/EODebug.h
* EOControl/EOQualifier.m
* Tools/gsdoc-model.m
fix warnings related to format strings
* Apps/EOModelEditor/AdaptorsPanel.m
* Apps/EOModelEditor/Preferences.m
* EOAccess/EOAttribute.m
* EOAccess/EOExpressionArray.m
* EOAccess/EORelationship.m
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/PostgreSQLLoginPanel.m
* EOAdaptors/SQLiteAdaptor/SQLite3Channel.m
* EOControl/EOCheapArray.m
* EOControl/EOMutableKnownKeyDictionary.m
* EOControl/EOPrivate.h
* EOControl/EOPrivate.m
* EOControl/Makefile.preamble
* GDL2Palette/ConnectionInspector.m
* GDL2Palette/DisplayGroupInspector.m
Fix warnings about conflicting return types or paramters
* EOAccess/EOAdaptor.m
* EOAccess/EORelationship.m
* EOControl/EONSAddOns.m
get rid of some warnings about tautological compares
* GDL2Palette/DisplayGroupInspector.m
missed int -> NSInteger transition before
2013-03-01: Sebastian Reitenbach <sebastia@l00-bugdead-prods.de>
* EOControl/EODebug.m
do not use redundant stringWithString
2012-08-10 German A. Arias <german@xelalug.org>
* EOInterface/GNUmakefile:
* EOAccess/GNUmakefile:
* EOAdaptors/SQLiteAdaptor/GNUmakefile.in:
* EOAdaptors/PostgreSQLAdaptor/config.mak.in:
* EOControl/GNUmakefile:
* EOModeler/GNUmakefile: Add flags to compile with new linkers.
2012-03-19 German A. Arias <german@xelalug.org>
* EOAdaptors/SQLiteAdaptor/LoginPanel/SQLite3LoginPanel.m (-init):
Fix memory leak.
2012-03-19 German A. Arias <german@xelalug.org>
* EOAdaptors/SQLiteAdaptor/LoginPanel/sqlitelogo.tif:
* EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile:
* EOAdaptors/SQLiteAdaptor/LoginPanel/SQLite3LoginPanel.m: Added
SQLite logo in login panel.
2012-03-19 German A. Arias <german@xelalug.org>
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/PostgreSQLLoginPanel.h:
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/PostgreSQLLoginPanel.m:
* Apps/EOModelEditor/AdaptorsPanel.h:
* Apps/EOModelEditor/AdaptorsPanel.m: Use a panel instead a window.
So the menu isn't displayed when the user use NSWindows95InterfaceStyle.
* Apps/EOModelEditor/EOWindow.h:
* Apps/EOModelEditor/EOWindow.m:
* Apps/EOModelEditor/GNUmakefile: New class for auxiliary windows.
* Apps/EOModelEditor/Resources/SQLGenerator.gsmarkup:
* Apps/EOModelEditor/Resources/DataBrowser.gsmarkup: Instances of
class EOWindow, this avoid display the menu.
2012-03-18 German A. Arias <german@xelalug.org>
* Apps/EOModelEditor/EOModelEditorApp.h:
* Apps/EOModelEditor/EOModelEditorApp.m: Fix a problem with last
commit.
2012-03-18 German A. Arias <german@xelalug.org>
* Apps/EOModelEditor/EOModelEditorApp.m: Added delegate methods
for use with in-window menu.
2011-04-06 Fred Kiefer <FredKiefer@gmx.de>
* EOControl/EODebug.m: replace GNU runtime specific functions and
data structrues with the modern ones.
2010-10-13 Fred Kiefer <FredKiefer@gmx.de>
* EOAccess/EODatabaseContext.m
([EODatabaseContext(EOCooperatingObjectStoreSupport
-rollbackChanges]): Reset _flags.preparingForSave for better
recovery from an exception.
Patch by Georg Fleischmann <Georg.Fleischmann@vhf.de>
2010-09-20 Fred Kiefer <FredKiefer@gmx.de>
* EOAccess/EOSQLQualifier.m [EONotQualifier
-sqlStringForSQLExpression:]: Pass on _qualifier not self.
Patch by Georg Fleischmann <Georg.Fleischmann@vhf.de>
2010-09-12 Fred Kiefer <FredKiefer@gmx.de>
* EOControl/EOCheapArray.m,
* EOControl/EOMutableKnownKeyDictionary.m,
* EOControl/EODetailDataSource.m:
include of <GNUstepBase/GSCategories.h> replaced by
<GNUstepBase/NSDebug+GNUstepBase.h> and
<GNUstepBase/NSThread+GNUstepBase.h>
* EOAccess/EODatabaseContext.m
([EODatabaseContext(EOCooperatingObjectStoreSupport)
-recordChangesInEditingContext]): for isToMany relationships, call
-relayAttributesInRelationship:sourceObject:destinationObjects:
(with 's' !).
* EOAccess/EODatabaseContext.m ([EODatabaseContext -_fireArrayFault:]):
test if object is still a fault before calling -clearFault:
* EOAccess/EODatabaseContext.m ([EODatabaseContext
-objectsWithFetchSpecification:editingContext:]): call
beginTransaction only for pessimistic locking.
Patch by Georg Fleischmann <Georg.Fleischmann@vhf.de>
2010-08-21 David Wetzel <dave@turbocat.de>
* EOAccess/EODatabaseContext.m
fix lockObjectWithGlobalID:editingContext:
2010-08-09 German Arias <german@xelalug.org>
* Apps/EOModelEditor/Resources/EOModelEditor.tiff
Changed size of the icon.
2010-07-06 David Wetzel <dave@turbocat.de>
* EOAccess/EOModel.m
-_deleteTrashAtPath:
.cvs -> .CVS
2010-07-05 David Wetzel <dave@turbocat.de>
* EOAccess/EOModel.m
add - _deleteTrashAtPath:
avoid keeping unused files in the wrapper directory.
basically, .svn/.cvs/.git
as this does not change that often I am not moving this to an
external plist at the moment.
2010-07-05 David Wetzel <dave@turbocat.de>
* EOAccess/EODatabaseContext.m
valuesForKeys: -> dictionaryWithValuesForKeys:
(The old valuesForKeys: causes a log message on OSX)
some reformats and DebugLog removals
2010-07-04 David Wetzel <dave@turbocat.de>
* EOAccess/EOModel.m
-writeToFile:
Don't copy or move directories
create an dir only if we have none
* Apps/EOModelEditor/EOMEDocument.m
copy old wrapper dir to new tmp path/URL
The model overwrites our own files then.
Trash like .svn stays intact this way :-)
Only OSX at the moment.
see
http://savannah.gnu.org/bugs/index.php?30348
(#ifdef'd)
-keepBackupFile
return YES
* Apps/EOModelEditor/CodeGenerator.m
don't write code for EOGenericRecord or EOCustomObject
2010-07-04 David Wetzel <dave@turbocat.de>
* EOAccess/EODatabaseContext.m
use memset in place of bzero
(as suggested by Tim Kack)
2010-07-04 David Wetzel <dave@turbocat.de>
* EOAccess/EOModelGroup.m
add include
* EOAccess/EOEntity.m
- classProperties
small cleanup
* EOAccess/EODatabaseOperation.m
-rowDiffsForAttributes:
add checks
* EOAccess/EODatabaseContext.h
add _missingObjectGIDs, _checkPropagatedPKs
add databaseContextFailedToFetchObject
+ _setUseToManyCaching:
added
removed -coordinator
add -missingObjectGlobalIDs
* EOAccess/EODatabaseContextPriv.h
add -_entityForObject:
* EOAccess/EODatabaseContext.m
add _useToManyCaching
add + _setUseToManyCaching:
add - _delegateHandledDatabaseException:
add -setCoordinator:
removed -coordinator
add databaseContextFailedToFetchObject
add -missingObjectGlobalIDs
cleanup _objectsChanged
-_snapshotsChangedInDatabase
renamed vars
- _batchNewPrimaryKeysWithEntity:count:
add
- prepareForSaveWithCoordinator:editingContext:
add checks
cleanup code
- _patchUpPK:
add
- recordChangesInEditingContext
rewritten
- _primaryKeyForIntermediateRowFromSourceObject:relationship:destinationObject:
add
- _databaseOperationForIntermediateRowFromSourceObject:relationship:destinationObject:
add
- _recordDeleteForIntermediateRowFromSourceObject:relationship:destinationObject:
add
- nullifyAttributesInRelationship:sourceObject:destinationObjects:
fixed, rewritten
- _entityForObject:
add
* EOAccess/EOAdaptorChannel.h
* EOAccess/EOAdaptorChannel.m
add primaryKeysForNewRowsWithEntity:count:
* Apps/EOModelEditor/DataBrowser.m
fix typo in import
* EOControl/EONSAddOns.h
* EOControl/EONSAddOns.m
add +dictionaryWithDictionary:keys:
add -translateFromKeys:toKeys:
add -containsAnyNullObject
* EOControl/EOSharedEditingContext.m
fix include
* EOControl/EOObjectStoreCoordinator.h
* EOControl/EOObjectStoreCoordinator.m
remove observers now
add setCoordinator and use it.
-coordinator
moved up from EODatabaseContext.
2010-07-01 David Wetzel <dave@turbocat.de>
* EOAccess/EODatabaseOperation.m
fix typo in string
* EOAccess/EODatabaseContext.m
add compareUsingEntityNames()
-orderAdaptorOperations
refactor
-entityNameOrderingArrayForEntities:
implemented
* EOControl/EOMutableKnownKeyDictionary.m
remove log
2010-07-01 David Wetzel <dave@turbocat.de>
* EOAccess/EODatabaseOperation.h
add comment
* EOAccess/EODatabaseContext.h
-lockingNonQualifiableAttributes
return NSArray, not id
-handleDroppedConnection
-commitChanges
remove unsed variables
-createAdaptorOperationsForDatabaseOperation:attributes:
rewrite
-lockingNonQualifiableAttributes
fix
return NSArray, not id
2010-06-29 David Wetzel <dave@turbocat.de>
* EOAccess/EOModel.m
-addEntity:
change error checks to be in sync with reference
2010-06-29 David Wetzel <dave@turbocat.de>
* EOControl/EOFault.h
* EOControl/EOFaultHandler.m
unsigned -> NSUInteger
* EOControl/EOFault.m
unsigned -> NSUInteger
-release
fix as suggested by David Ayers
-dealloc
add NSAssert
2010-06-28 David Wetzel <dave@turbocat.de>
* EOAccess/EODatabaseContext.m
-initializeObject:withGlobalID:editingContext:
remove exessive checking
-initializeObject:row:entity:editingContext:
reformat, less IMPs, less logs
* EOControl/EOFault.h
+ retainCount
unsigned -> NSUInteger
* EOControl/EOFault.m
+ retainCount
unsigned -> NSUInteger
+ clearFault:
raise if argument is no fault
rewrote retain behaviour
it makes no sense to free objects here and use the pointers
this would mess up the whole memory and crash.
2010-06-28 David Wetzel <dave@turbocat.de>
* EOAccess/EOEntity.m
- createInstanceWithEditingContext:globalID:zone:
reformat, remove logs
* EOAccess/EODatabaseContext.m
-initializeObject:withGlobalID:editingContext:
rewritten, add exceptions
* EOAccess/EODatabaseChannel.m
-fetchObject
remove logs, add exceptions
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.m
postgresClientVersion()
use stringWithCString:encoding: not stringWithCString:
* Apps/EOModelEditor/CodeGenerator.m
don't add <NSCoding> to generated code
* EOControl/EOCustomObject.h
* EOControl/EOCustomObject.m
add -encodeWithCoder:
add -initWithCoder:
2010-06-27 David Wetzel <dave@turbocat.de>
* EOAccess/EODatabaseContext.m
-isValidQualifierTypeForAttribute:
reformat, remove useless code
-qualifierForLockingAttributes:primaryKeyAttributes:entity:snapshot:
reformat
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.m
-isValidQualifierType:model:
remove logs, format
* Apps/EOModelEditor/Inspectors/AttributeInspector.gsmarkup
* Apps/EOModeler/EOModelExtensions.m
Rename the char into BOOL
You can use BOOL to create code that has BOOL values.
Apple seems to do this in newer code
2010-06-26 David Wetzel <dave@turbocat.de>
* EOAccess/EOAccessFault.m
-unableToFaultObject:databaseContext:
remove self from exception format printing
otherwise we create a loop...
2010-06-24 David Wetzel <dave@turbocat.de>
* EOControl/EOControl.h
include GNUstepBase/GNUstep.h on non-GNUSTEP platforms
2010-06-24 David Wetzel <dave@turbocat.de>
* Apps/EOModelEditor/CodeGenerator.m
-updateNeededForFileAtPath:content:canOverwrite:
do not overwrite files if canOverwrite = NO
2010-06-24 David Wetzel <dave@turbocat.de>
* README
add Additional Notes
* Apps/EOModelEditor/Inspectors/GNUmakefile
* Apps/EOModelEditor/GNUmakefile
* Apps/EOModeler/Makefile.preamble
add parent directories to search path as suggested by Sergey Golovin
* TODO
updated
* GDL2Palette/GNUmakefile
add ../Apps/EOModeler to ADDITIONAL_NATIVE_LIB_DIRS
(as suggested by Sergey Golovin)
It does not build on OS X, I need patches guys :-)
2010-06-23 David Wetzel <dave@turbocat.de>
* EOAccess/EOModel.m
add -_writePlist:toFile:
use it in -writeToFile:
this makes writing OPENSTEP plists work on OSX!
2010-06-14 David Wetzel <dave@turbocat.de>
* EOAccess/EODatabaseContext.m
recordUpdateForObject: changes:
more checks, call coordinator's
forwardUpdateForObject:changes:
recordInsertForObject:
raise exception on inconsistency
recordDeleteForObject:
raise exception on inconsistency
commitChanges:
remove NSLog
2010-06-11 David Wetzel <dave@turbocat.de>
* EOAccess/EODatabase.m
* EOAccess/EODatabase.h
add _doesReleaseUnreferencedSnapshots
add dummy for incrementSnapshotCountForGlobalID
add dummy for decrementSnapshotCountForGlobalID
add disableSnapshotRefcounting
* EOAccess/EODatabaseContext.m
retain EOAdaptorChannel created by adaptor
This is documented in WO 4.5.
Otherwise it gets closed after the request's
autorelease pool is drained.
I tested this on OSX with the BookStore example.
added some dummies for future implementation
refactor objectsWithFetchSpecification: editingContext:
refactor commitChanges
* EOAccess/EODatabaseChannel.m
reformat
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m
add include
* EOControl/EOGenericRecord.m
add [self willChange] in setValue:forUndefinedKey:
this will make saving changes possible for EOGenericRecord
otherwise it was just showing them in memory
2010-06-10 David Wetzel <dave@turbocat.de>
* EOControl/EOGenericRecord.h
* EOControl/EOGenericRecord.m
rename dictionary to _dictionary
fixed KVC.
2010-06-09 David Wetzel <dave@turbocat.de>
* EOAccess/EOSQLExpression.m
fix include for less warnings on mac
* EOAccess/EOEntity.m
fix include for less warnings on mac
isPrimaryKeyValidInObject: 0 is NOT a valid PK value
* EOAccess/EOAdaptor.m
fix include for less warnings on mac
isDroppedConnectionException
add comment and remove logs
* EOAccess/EOSQLQualifier.m
* EOAccess/EODatabaseDataSource.m
* EOAccess/EOAdaptorContext.m
* EOAccess/EORelationship.m
* EOAccess/EOUtilities.m
* EOAccess/EOSchemaGeneration.m
* EOAccess/EOAdaptorChannel.m
* EOAccess/EODatabaseChannel.m
fix include for less warnings on mac
* EOAccess/EODatabaseContext.h
add support for shouldHandleDatabaseException (WO 4.5)
* EOAccess/EODatabaseContext.m
add support for shouldHandleDatabaseException
add [newRow addEntriesFromDictionary:objectPK]
to merge PKValues into the values of the EO.
without that it is impossible to work.
relayPrimaryKey: object: entity:
Hopefully fixed.
add _delegateHandledDatabaseException:
fixed _primaryKeyForObject: raiseException:
(we raise always for now)
* EOAccess/EOAdaptorChannel.h
add comment
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m
fix include for less warnings on mac
numberOfAffectedRows: search reverse to cover "INSERT 0 1" case.
The first zero is the OID number
refactored primaryKeyForNewRowWithEntity:
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLContext.h/m
disabled _primaryKeySequenceNameFormat
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m
fixed formatValue: forAttribute:
* EOControl/EOEditingContext.m
* EOControl/EOFaultHandler.m
* EOControl/EOKeyValueQualifier.m
* EOControl/EOUndoManager.m
* EOControl/EOClassDescription.m
* EOControl/EOQualifier.m
* EOControl/EOOrQualifier.m
fix include for less warnings on mac
* EOControl/EOCustomObject.m
use getCString:maxLength:encoding instead of getCString
use setValue: forKey instead of takeValue: forKey:
change text in exceptions a bit
* EOControl/EOPrivate.h
use setValue: forKey instead of takeValue: forKey:
2010-06-07 Fred Kiefer <FredKiefer@gmx.de>
* EOMultiReaderLock.m (-tryLockForWriting, -unlockForReading):
Replace int with NSInteger.
2010-06-06 David Wetzel <dave@turbocat.de>
* EOAccess/EOEntity.m
Added comment. Please check this!
* EOAccess/EODatabaseContext.m
include NSObject+GNUstepBase.h
avoid Enumerator exception.
* EOAccess/EOUtilities.m
split line into two
* EOAccess/EOAdaptorChannel.h/m
unsigned -> NSUInteger
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.h
removed _describeResults
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m
include NSObject+GNUstepBase.h
added numberOfAffectedRows
attribute naming in raw rows fixed
updating fixed
unsigned -> NSUInteger
2010-06-04 David Wetzel <dave@turbocat.de>
* Apps/EOModelEditor/Inspectors/AdvancedEntityInspector.gsmarkup
changed scrollView sizing
* Apps/EOModeler/EOMInspectorController.m
refactored view switching into a single method
disabled bounds logging
Be sure to get the lastest gui if you try this!
2010-06-03 David Wetzel <dave@turbocat.de>
* EOAccess/EOAttribute.m
include EOSQLExpression.h
move methods around to fix warnings
* EOAccess/EOEntity.m
include EOFetchSpecification.h to fix warning
* EOAccess/EOAdaptor.m
fix Mime include
* EOAccess/EOStoredProcedure.m
fix warning in setExternalName:
* EOAccess/EODatabaseContext.m
include EOAttributePriv.h and EOSQLExpression.h to fix warning
entityForGlobalID: cast to EOKeyGlobalID to avoid warning.
use caching.
_fetchRawRowKeyPaths: fix warnings by using proper types.
processSnapshotForDatabaseOperation: set EONull value when needed.
avoid warnings.
2010-06-03 David Wetzel <dave@turbocat.de>
* configure.ac
replaced DBModeler with Apps/EOModeler Apps/EOModelEditor
* configure: regenerated
* Apps/EOModelEditor/Inspectors/AttributeInspector.gsmarkup
* Apps/EOModelEditor/Inspectors/EntityStoredProcedureInspector.gsmarkup
* Apps/EOModelEditor/Inspectors/AdvancedAttributeInspector.gsmarkup
* Apps/EOModelEditor/Inspectors/EntityInspector.gsmarkup
Changed box sizes.
* Apps/EOModeler/EOMInspectorController.m
add inspector view in background.
add NSLogs to help debugging (still broken on X11)
2010-06-03 David Wetzel <dave@turbocat.de>
* Apps/EOModelEditor/Inspectors/*.gsmarkup
trying to fix offsets on X11
* Apps/EOModeler/EOModelExtensions.m
remove config.h include as suggested by David Ayers
2010-06-03 David Wetzel <dave@turbocat.de>
* EOAccess/EOModel.m
include GNUstepBase/NSObject+GNUstepBase.h
_removePropertiesReferencingEntity: fix selector name
removeEntity: add comment, call _removeEntity:
implemented removeEntityAndReferences:
* EOAccess/EOAttribute.m
include GNUstepBase/NSObject+GNUstepBase.h
add comment
* EOAccess/EOModel.h
add comment
* Apps/EOModelEditor/EOMEDocument.m
deleting of attributes, arguments (stored procedures) and entities works now
* Apps/EOModelEditor/EOMEDocument.h
add methods to avoid warnings
2010-06-02 David Wetzel <dave@turbocat.de>
* EOAccess/EOModel.m/h
new (still empty) _loadFetchSpecificationDictionaryForEntityNamed:
added _removePropertiesReferencingProperty:
added _removePropertiesReferencingEntity:
loadAllModelObjects: load storedProcedures, call _loadEntity
fixed referencesToProperty:
added referencesProperty:
* EOAccess/EOAttribute.m
fixed valueForSQLExpression:
changed return type of _definitionArray to EOExpressionArray *
* EOAccess/EOEntity.m
fixed attributesUsedForLocking
fixed removeAttribute:
fixed removeRelationship:
fixed _fetchSpecificationDictionary
fixed _loadEntity
* EOAccess/EORelationship.m
verified valueForSQLExpression, removed logs
fixed referencesProperty:
* Apps/EOModelEditor/EOMEDocument.m
make deleting of attributes work.
2010-06-01 David Wetzel <dave@turbocat.de>
* Apps/EOModelEditor/Resources/PlusCorner.tiff added
2010-06-01 David Wetzel <dave@turbocat.de>
* Apps/EOModelEditor/Inspectors/*.gsmarkup
tried to fix on X11
* Apps/EOModelEditor/EOModelEditorApp.m
new: to create new models manually
* Apps/EOModelEditor/Inspectors/EntityInspector.m
check for empty strings before filling fields
* Apps/EOModelEditor/Inspectors/RelationshipInspector.m
check for empty name
* Apps/EOModelEditor/EOMEDocument.m
addEntity, addRelationship, validateUserInterfaceItem
2010-05-31 David Wetzel <dave@turbocat.de>
* Apps/EOModeler/EOMInspectorController.m
int -> NSUInteger, call sizeToCells
2010-05-30 David Wetzel <dave@turbocat.de>
* EOAccess/EOAttribute.m: reformat
* EOAccess/EOAdaptor.m
in databaseEncoding: use +[GSMimeDocument encodingFromCharset:]
less logging
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.h: reformat
encoding -> _encoding
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m
Use _encoding now for reading and writing Strings.
less logging
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLCompatibility.h
if 0 for now (please check if that code is still needed!)
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLPrivate.m
fix header
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.m
less logging
* Apps/EOModelEditor
* Apps/EOModelEditor/Inspectors
propset svn:ignore
* Apps/EOModelEditor/GNUmakefile
add -lgnustep-baseadd on non-GNUstep
2010-05-30 David Wetzel <dave@turbocat.de>
* Apps/EOModelEditor
* Apps/EOModeler
Initial Version of EOModelEditor.
Does not save Plists on OSX. Use at your own risk!
2010-05-30 David Wetzel <dave@turbocat.de>
* EOAccess/EOModel.m
* EOAccess/EOAttribute.m
* EOAccess/EODatabase.m
* EOAccess/EOModelGroup.m
* EOAccess/EOAccessFault.m
* EOAccess/EOAdaptorOperation.m
* EOAccess/EOEntity.m
* EOAccess/EODatabaseOperation.m
* EOAccess/EOAdaptor.m
* EOAccess/EOSQLQualifier.m
* EOAccess/EODatabaseDataSource.m
* EOAccess/EOExpressionArray.m
* EOAccess/EOAdaptorContext.m
* EOAccess/EORelationship.m
* EOAccess/EODatabaseContext.m
* EOAccess/EOUtilities.m
* EOAccess/EOSchemaGeneration.m
* EOAccess/EOAdaptorChannel.m
* EOAccess/EODatabaseChannel.m
* EOControl/EOMutableKnownKeyDictionary.m
* EOControl/EOEditingContext.m
* EOControl/EODataSource.m
* EOControl/EOAndQualifier.m
* EOControl/EOKeyValueArchiver.m
* EOControl/EOFaultHandler.m
* EOControl/EOGenericRecord.m
* EOControl/EOKeyComparisonQualifier.m
* EOControl/EODetailDataSource.m
* EOControl/EOCheapArray.m
* EOControl/EOKeyValueQualifier.m
* EOControl/EOObjectStoreCoordinator.m
* EOControl/EOUndoManager.m
* EOControl/EOClassDescription.m
* EOControl/EOKeyValueCoding.m
* EOControl/EONull.m
* EOControl/EOGlobalID.m
* EOControl/EOSortOrdering.m
* EOControl/EOOrQualifier.m
Remove lots of logging.
2010-05-30 David Wetzel <dave@turbocat.de>
* EOAccess/EOAttribute.m
added attributeWithParent: definition: convenience method
* EOAccess/EOAdaptorContext.m
_channelDidInit: setDelegate
* EOAccess/EODatabaseContext.m
availableChannel: call registerChannel
new method _fetchRawRowKeyPaths:fetchSpecification:entity:editingContext:
* EOAccess/EODatabaseChannel.m
raise NSInvalidArgumentException in init.
initWithDatabaseContext: more checks
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLContext.m
beginTransaction: more checks, raise NSInternalInconsistencyException
2010-05-26 David Wetzel <dave@turbocat.de>
* EOAccess/EOEntity.m
added support for stored procedures
2010-05-19 David Wetzel <dave@turbocat.de>
* EOAccess/EOStoredProcedure.m
setName: added loadAllModelObjects and checks
setExternalName: add checks
* EOAccess/EORelationship.m
encodeIntoPropertyList:
added code for ownsDestination and propagatesPrimaryKey from Sergey Golovin.
2010-05-16 David Wetzel <dave@turbocat.de>
* EOAccess/EOModel.m:
entities: make sure we use a mutable array. Destroy _entities cache when adding a new one.
(We run into wrong sorted arrays otherwise)
* EOAccess/EOEntity.m:
make setName: work
* EOAccess/EORelationship.m
add support for KVObserving.
2010-05-03 David Wetzel <dave@turbocat.de>
* EOAccess/EOAttribute.m: Add comment
* EOControl/EOEditingContext.m: Do not raise on inserting bad objects for now
(Non-EOCustomObject subclasses)
* EOAccess/EORelationship.m
* EOAccess/EOPrivate.h
added + _joinSemanticForName:
added + _nameForJoinSemantic:
include JoinSemantic in description, use new methods in code.
2010-05-02 Matt Rice <ratmice@gmail.com>
* DBModeler/ModelerTableEmbedibleEditor.h/m: Remove usage of
NSMenuItem protocol.
2010-05-02 David Wetzel <dave@turbocat.de>
* DBModeler/Inspectors/AttributeInspector.*
* DBModeler/Inspectors/GNUmakefile
Moved to Renaissance for the Attribute Inspector
* EOModeler/EOMInspector.m: load markup, not gorm
2010-04-29 David Wetzel <dave@turbocat.de>
* EOControl/EOMutableKnownKeyDictionary.m
removed __PRETTY_FUNCTION__ from Asserts
removed NSLogs
* EOModeler/EOModelExtensions.m
added - (NSString *)cScalarTypeString
* DBModeler/CodeGenerator.h/m: new file
Added a Code Generator like EOGenerator from www.rubicode.com
* DBModeler/Modeler.m: use sel_isEqual to check menu
* DBModeler/Resources/SQLGenerator.gsmarkup: make window resizeable
* DBModeler/CodeGenerator.m: add credits for initialCapitalString and
initialLowercaseString
use ASSIGN() in generated code.
2010-04-26 David Wetzel <dave@turbocat.de>
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.h/m
added _evaluateExprInProgress
_evaluateExpression:withAttributes: returns number of affected rows now.
This removes the need for keeping the _pgResult alive.
(and leak)
fix includes for non-GNUstep platforms
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLContext.m
fix includes for non-GNUstep platforms
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.m
fix includes for non-GNUstep platforms
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m
fix includes for non-GNUstep platforms
* EOAccess/EODatabaseContext.m
implemented _assertValidStateWithSelector:
fixed leaks
* EOAccess/Makefile.preamble: added -Werror-implicit-function-declaration
* EOAccess/*: ported to new runtime and OS X
* EOControl/EOMutableKnownKeyDictionary.*: ported, works for me, please double check
* EOControl/EOEditingContext.m:
added @implementation EOCustomObject (AssociationsHack)
re-added registerAssociationForDeallocHack
* EOControl/*: ported to new runtime and OS X
EOInterface/* numberOfRowsInTableView returns NSInteger now
EOModeler/EOModelerDocument.m: do not insert a model into EditingContext.
EOModeler/EOModelerEditor.m: avoid crash
2010-04-21 Sergey Golovin <golovin.sv@gmail.com>
* DBModeler/ConsistencyChecker.m (attributeDetailsCheckForModel:)
Fix iterator variable.
* EOAccess/EODatabaseContext.m
(prepareForSaveWithCoordinator:editingContext:): Correct logic
for primary key generation.
2010-04-21 David Ayers <ayers@fsfe.org>
* EOControl/EOObserver.h
(EODelayedObserver): Inherit from EOCustomObject
to be able to rely on implicit breaking of connections
during dealloc.
* EOInterface/EOAssociation.m
(establishConnection): Reactivate implicit connection handling.
2010-04-20 David Wetzel <dave@turbocat.de>
* EOAccess/EODatabaseContext.m:
(-objectsWithFetchSpecification:editingContext:):
Start transaction if none was in place before.
* EOAccess/EOEntity.m: (-globalIDForRow:isFinal:)
Create EOKeyGlobalID outside loop.
2010-04-19 Fred Kiefer <FredKiefer@gmx.de>
* EOAccess/EOEntity.m: Use '||' instead of '|'.
* Tools/eoutil.m: Implement -lossyASCIIString.
2010-04-19 Fred Kiefer <FredKiefer@gmx.de>
* EOControl/EOMutableKnownKeyDictionary.h,
* EOControl/EOMutableKnownKeyDictionary.m,
* EOControl/EOCheapArray.h,
* EOControl/EOCheapArray.m: Use NSUInteger and remove methods
declared in super class.
2010-04-19 David Ayers <ayers@fsfe.org>
* EOAccess/EODatabaseContext.m
(qualifierForLockingAttributes:primaryKeyAttributes:entity:snapshot:)
Revert rewrite. Adapt to NSUInteger.
2010-04-19 David Wetzel <dave@turbocat.de>
* EOInterface/EOAssociation.m: remove hacks
* EOControl/EOEditingContext.m: remove hacks, adapt to EOCustomObject
* EOControl/EOCustomObject.h/m: added code here
* EOControl/EOClassDescription.h/m: adapt to EOCustomObject
* EOControl/EOPrivate.h: adapt to EOCustomObject
* EOControl/EOClassDescription.m:adapt to EOCustomObject
* EOAccess/EODatabaseContext.m rewrote qualifierForLockingAttributes:primaryKeyAttributes:entity:snapshot:
2010-04-17 David Wetzel <dave@turbocat.de>
* EOCustomObject.h/m new class like in EOF3. Use this as your EO's superclass or
use EOGenericRecords
* EOControl/EOControl.h: add EOCustomObject.h
2010-04-14 David Ayers <ayers@fsfe.org>
* EOMutableKnownKeyDictionary.h/m ([-initWithObjects:forKeys:count:]):
* EOFault.h/m ([-retainCount]):
* EOKeyGlobalID.h/m ([-hash]):
* EOMultiReaderLock.m ([-tryLockForReading]):
* EOCheapArray.h/m ([-initWithObjects:count:],[initWithCapacity:]):
* EOGlobalID.h/m ([-hash]): Use NS(U)Integer instead of int.
2010-04-09 David Ayers <ayers@fsfe.org>
* EOControl/EONSAddOns.h (GDL2_ActivateAllGDL2Categories):
Remove obsolete declaration.
* EOControl/EONSAddOns.m (GDL2_ActivateAll): Remove.
(GDL2_Activate): Add assertions for parameters.
* EOControl/EOClassDescription.m (+[GDL2CDNSObject load])
* EOControl/EOKeyValueCoding.m (+[GDL2KVCNSObject load])
(+[GDL2KVCNSArray load], +[GDL2KVCNSDictionary load])
(+[GDL2KVCNSMutableDictionary load]): Setup classes individually
to insure the are available in the runtime.
* EOControl/EOClassDescription.m
* EOControl/EOKeyValueCoding.m: Add declartions for method
replacement hack.
* DBModeler/ModelerEntityEditor.m
* DBModeler/ModelerTableEmbedibleEditor.m
* DBModeler/ModelerAttributeEditor.m: Rearrange includes.
* EOControl/EOGenericRecord.m
(-_infoForInstanceVariableNamed:stringName:retType:retSize:retOffset:):
Rearrange initialization to avoid warning.
* EOInterface/EODisplayGroup.m (_qualifierForKey:value:defaultOperator:):
* EOAccess/EOUtilities.m (-rawRowsWithStoredProcedureNamed:arguments:):
* EOAccess/EOSQLExpression.m (addInsertListAttribute:value:):
* GDL2Palette/ConnectionInspector.m (_keysFromClassDescription:):
* DBModeler/Inspectors/AttributeInspector.m (setValueType:):
* EOControl/EOSharedEditingContext.m
(-objectsByEntityName, -objectsByEntityNameAndFetchSpecificationName)
(objectForGlobalID:,faultForGlobalID:editingContext:,registeredObjects):
Initialize variables.
* DBModeler/Inspectors/AttributeInspector.m: Add missing guard to include.
2010-04-09 Fred Kiefer <FredKiefer@gmx.de>
* EOInterface/EOPopUpAssociation.m
* DBModeler/ModelerEntityEditor.m
* DBModeler/ModelerTableEmbedibleEditor.m
* DBModeler/ModelerAttributeEditor.m: Add missing includes.
2010-04-07 David Ayers <ayers@fsfe.org>
* EOInterface/EOPopUpAssociation.m: Add missing include.
Reported by: German Arias.
2010-03-30 Sergey Golovin <golovin.sv@gmail.com>
* EOAccess/EORelationship.m (-[isToManyToOne]): Correct index
used to retrieved second relationship.
Bug #29369
2010-03-30 David Ayers <ayers@fsfe.org>
* Tools/EOModel+GSDoc.m (-[gsdocContentSplittedByEntities:idPtr:]):
Split out parameters into local variables. Fix format string to
match parameters.
Reported by: Federico Gimenez Nieto, Sergey Golovin.
Fix reported by: Richard Frith-Macdonald.
Bug #29191
* EOControl/EONSAddOns.m (GSUseStrictWO451Compatibility): Avoid usage
of GS_INITIALIZED_LOCK.
* EOControl/EOPrivate.h/m (GDL2_AssignAtomicallyIfNil): New convenience
function for initializing variables in multithreaded environments.
Reported by: Tim Kack
Bug #28900
2010-03-15 Richard Frith-Macdonald <rfm@gnu.org>
* EOControl/EONSAddOns.h:
* EOControl/EONSAddOns.m:
* EOControl/EOKeyValueCoding.m:
* EOControl/EOClassDescription.m:
Rewrite mechanism to try to ensure that our implementations are used
for KVC. New version should work with the objc runtime API.
2010-03-07 Matt Rice <ratmice@gmail.com>
* DBModeler/DiagramView.m: Add missing include.
2010-02-11 Nicola Pero <nicola.pero@meta-innovation.com>
* EOControl/Makefile.postamble: Removed unused dependency rule.
2009-07-29 04:06-EDT Gregory John Casamento <greg.casamento@gmail.com>
* EOControl/EOKeyValueArchiver.h: Add forward declaration of
NSMutableArray.
* EOControl/EOQualifier.h: Add missing include for NSArray.
2009-06-24 Georg Fleischmann <g.fleischmann@vhf.de>
2009-06-24 David Ayers <ayers@fsfe.org>
* EOAccess/EOPrivate.h (EOQualifier <EOQualifierSQLGeneration>):
Declare.
* EOAccess/EOSQLQualifier.m
([EOQualifier-schemaBasedQualifierWithRootEntity:]),
([EOQualifier-sqlStringForSQLExpression:]): Add preliminary dummy
implementations.
([EONotQualifier-schemaBasedQualifierWithRootEntity:]): Implement.
* EOAccess/EOSQLQualifier.m
(-[initWithEntity:qualifierFormat:]): Implement.
(-[schemaBasedQualifierWithRootEntity:]): Ditto.
(-[sqlStringForSQLExpression:]): Ditto.
(-[dealloc]): Ditto.
* EOAccess/EOExpressionArray.m (-[valueForSQLExpression:):
Use _infix instead of @"." and skip if _infix is not set.
* EOAccess/EOSQLExpression
([EOSQLExpression-prepareSelectExpressionWithAttributes:]):
Set listString for "flattened attributes" for aggregate definitions.
2009-06-01 Georg Fleischmann <g.fleischmann@vhf.de>
* EOAdaptor/PostgreSQLAdaptor/EOPostgreSQLExpression.m
(+[formatValue:forAttribute:]): Do not escape underscore characters
in values.
2009-06-01 David Ayers <ayers@fsfe.org>
* EOControl/EOAndQualifier.m
* EOControl/EOKeyComparisonQualifier.m
* EOControl/EONotQualifier.m
* EOControl/EOOrQualifier.m
* EOControl/EOQualifier.m
* EOAccess/EOSQLQualifier.m: Include NSArray.h.
2009-04-04 David Ayers <ayers@fsfe.org>
* EOControl/EOUndoManager.m (-[registerUndoWithTarget:selector:arg:]):
Defer to NSUndoManager's -[registerUndoWithTarget:selector:object:].
2009-03-16 David Ayers <ayers@fsfe.org>
* EOAccess/EODatabaseContext.m (setUpdateStrategy:): Count the
snapshots to determine if we actually already have fetched them.
Reported by: Thierry Delhaise <befree_fr@mac.com>
2009-03-03 Matt Rice <ratmice@gmail.com>
* DBModeler/ModelerAttributeEditor.m
(-displaygroupDidChangeSelection:): Activate self on selection change.
* DBModeler/MainModelEditor.m (-_activateSelection): Move method to
EOModeler.
(viewSelectedObject): Remove method.
(outlineViewSelectionDidChange:): Call -activateSelection.
* EOModeler/EOModelerEditor.m: Add activateSelection extension/method.
* EOModeler/EOModelerEditor.h: Ditto.
* EOModeler/EOModelerDocument.m (-addAttribute):
(-addRelationship): Add some Fixme's. Call -activateSelection on the
editor.
(-delete:): Revert the selection back to the viewed object, and
activate the new selection.
2009-03-02 Matt Rice <ratmice@gmail.com>
* DBModeler/ModelerAttributeEditor.m (dealloc): Remove observers and
release the selection, remove unused ivar.
(selectionDidChange:): Remove unused local.
* DBModeler/ModelerAttributeEditor.h: Remove unused ivar.
2009-03-01 Matt Rice <ratmice@gmail.com>
* DBModeler/Inspectors/AttributesInspector.m: Implement
controlTextDidEndEditing:.
* DBModeler/Inspectors/AttributesInspector.gorm: Set text field
delegates, and nextKeyView.
* DBModeler/Inspectors/RelationshipInspector.m (-awakeFromNib):
Set text field delegate, implement controlTextDidEndEditing.
* DBModeler/Resources/Preferences.gorm: Remove unimplemented outlets.
* DBModeler/ModelerAttributeEditor.h: Add ivar.
* DBModeler/ModelerAttributeEditor.m: Add EOObserving for the current
selection.
2009-03-01 Matt Rice <ratmice@gmail.com>
* EOAccess/EORelationship.m (-referencesProperty:): Check if property
is the relationships destination entity.
* EOModeler/EOModelerDocument (-delete:): Call referencesToProperty:
on all model objects.
2009-02-27 Matt Rice <ratmice@gmail.com>
* DBModeler/MainModelEditor.m: Implement -viewSelectedObject
calling _activateSelection.
* DBModeler/DiagramView.m: Include math.h.
2009-02-26 Matt Rice <ratmice@gmail.com>
* EOInterface/EODisplayGroup.m:
(-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Disable some
questionable code.
(-setSelectedObjects:): Use a copy, not a mutable copy.
* DBModeler/DiagramView.m (-orderViewFront:): Move the view to
the end, not the beginning.
(sortSubviews()): Flip the ascending/descending order.
(showEntity:): floor randomly generated points.
* DBModeler/MainModelEditor.m: Rename -viewSelectedObject method
to _activateSelection. Remove calls to super viewSelectedObject.
* DBModeler/ModelerAttributeEditor.m
(-displayGroupDidChangeSelection): View the selected object when
the current selection is the attribute editors entity.
2009-02-25 David Ayers <ayers@fsfe.org>
* EOControl/EOEditingContext.m (_undoManagerCheckpoint:):
Insure we only call _processEndOfEventNotification: if we
already have a grouping level.
2009-02-21 Matt Rice <ratmice@gmail.com>
* DBModeler/Modeler.m (-newFromDatabase:): Remove extra release.
* DBModeler/DiagramView.m (-dealloc): Release model.
2009-02-20 David Ayers <ayers@fsfe.org>
* Version 0.12.0
* ANNOUNCE: Update for release.
* NEWS: Ditto.
2009-02-20 David Ayers <ayers@fsfe.org>
* EOControl/gdl2.EOControl.make,
* EOAccess/gdl2.EOAccess.make,
* EOInterface/gdl2.EOInterface.make: Remove convenience
make file fragements.
* EOControl/Makefile.postamble,
* EOAccess/Makefile.postamble,
* EOInterface/Makefile.postamble: Remove references to
convenience make file fragements.
* README: Add documentation on usage of GDL2 components.
Update versions of dependencies. Add documentation for some missing
components. Remove obsolete documentation. Refer to TODO file for
missing features.
* TODO: Update.
2009-02-19 David Ayers <ayers@fsfe.org>
* EOAccess/EOGenericRecord.h/m ([-entity]): New category.
* EOAccess/GNUmakefile (EOGenericRecord): Build and install new
category.
* EOControl/EOPrivate.h/m (GDL2_isLegalDBName): New function.
* EOQualifier.m (getKey): Validate qualifier bind variable key.
2009-02-18 David Ayers <ayers@fsfe.org>
* configure.ac (disable-gui-projects): New option to disable builing
of projects depending -gui/AppKit. Default to yes.
(disable-gorm-palette): Default to the setting for enable-gui-projects.
* configure: Regenerate.
* GNUmakefile.in: Extract all GUI libs into variable.
* Documentation/GDL2Intro/Examples: Move to ...
* Examples: ... here.
* Examples/GNUmakefile: Adapt to new location.
* Documentation/GDL2Intro/GNUmakefile: Remove subproject.
* Documentation/GDL2Intro/GDL2Intro.texi: Update references to new
location.
* Trading: Move to ...
* Examples/Trading: ... here.
* Examples/Trading/GNUmakefile: Adapte to new location.
* Examples/GNUmakefile: Add Trading.
* configure.ac (enable-examples): Allow examples to be built from
top-level makefile.
* GNUmakefile.in: Ditto.
* configure: Regenerate.
* GDL2.gsdoc: Update relative path to sub project documentation.
2009-02-18 Matt Rice <ratmice@gmail.com>
* GNUmakefile.in: Add Trading subproject.
* EOAccess/EORelationship.m (-_joinsChanged:): Set the destination to
the first object.
(-destinationEntity): Call _joinsChanged if the destination is nil.
2009-02-18 David Ayers <ayers@fsfe.org>
* EOControl/Makefile.postamble
* EOAccess/Makefile.postamble
* EOInterface/Makefile.postamble
(after-uninstall::) Remove make file fragments.
* EOAccess/EOEntity.m (-dealloc): Invalidate class description
cache.
2009-02-17 Matt Rice <ratmice@gmail.com>
* EOAccess/EOEntityPriv.h: Remove
GDL2DestinationEntitiesAddRelationship, and
GDL2DestinationEntitiesRemoveRelationship.
* EOAccess/EOEntity.m (+initialize, -dealloc): Remove usage and
implementations of the above functions.
* EOAccess/EORelationship.m (-initWithPropertyList:owner:):
(-setDefinition:): Ditto.
2009-02-17 David Ayers <ayers@fsfe.org>
* EOControl/gdl2.EOControl.make
* EOAccess/gdl2.EOAccess.make
* EOInterface/gdl2.EOInterface.make
* EOControl/Makefile.postamble
* EOAccess/Makefile.postamble
* EOInterface/Makefile.postamble
Install makefile fragments for each 'core' library which adds
linker flags.
2009-02-17 Matt Rice <ratmice@gmail.com>
* EOControl/EOEditingContext.m: Revert last patch.
* EOControl/EOEditingContext.m: Add comment.
2009-02-17 Matt Rice <ratmice@gmail.com>
* EOControl/EOEditingContext.m (_undoManagerCheckpoint:): call
_processEndOfEventNotification by performing a selector through the
runloop.
2009-02-02 Matt Rice <ratmice@gmail.com>
* GDL2Palette/GNUmakefile: link to libGorm.
* DBModeler/main.m: add hack for windows.
2009-01-31 Nicola Pero <nicola.pero@meta-innovation.com>
* EOAdaptors/SQLiteAdaptor/GNUmakefile.in (ADDITIONAL_NATIVE_LIB_DIRS):
Fixed typo, it should link ../../EOControl, not ../EOControl.
2009-01-31 Nicola Pero <nicola.pero@meta-innovation.com>
* config/sqlite3.m4: Fixed typo in implementation of
--with-sqlite3-library=xxx.
* configure: Regenerated.
2009-01-29 Matt Rice <ratmice@gmail.com>
* EOControl/EODefines.h: switch BUILD_libgnustep-db2control_DLL define
to BUILD_libEOControl_DLL.
* EOControl/EOGlobalID.m: include limits.h.
* EOControl/EOPrivate.m: implement -copyWithZone: and
-mutableCopyWithZone: in GDL2NonRetainingArray.
* EOAccess/EODefines.h: switch BUILD_libgnustep-db2_DLL define to
BUILD_libEOAccess_DLL.
2009-01-26 David Ayers <ayers@fsfe.org>
* EOAccess/EOJoin.h: Update memory mangement comments.
* EOAccess/EOJoin.m (dealloc): Implement.
* EOAccess/EORelationship.m (dealloc,_flushCahce): Fix memory leaks.
* EOAccess/EOAttribute.h: Update some signatures.
2009-01-25 Matt Rice <ratmice@gmail.com>
* DBModeler/MainModelEditor.m: Implement
-draggingSourceOperationMaskForLocal:.
2008-10-27 David Ayers <ayers@fsfe.org>
* config.h.in (getRCSID): Mark inline to avoid compiler warnings.
2008-07-06 David Wetzel <dave@turbocat.de>
* EOControl/EOClassDescription.m (classDescriptionForClass:): Only
register null internally if the notification returned nothing.
Adjust NSLog typespeficier.
2008-06-06 Matt Rice <ratmice@gmail.com>
* EOControl/EOPrivate.m (GDL2_PrivateInit):
* EOAccess/EOPrivate.m (GDL2_AccessPrivateInit): Set initialized to YES.
2008-06-06 David Ayers <ayers@fsfe.org>
* EOAccess/EOAttribute.m (-setDefinition:): Clear _columnName before
calling _setIsEdited on the parent. Document.
* EOAccess/EORelationship.h/m (-setInverseRelationship:): Rename to...
(-_setInverseRelationship:): ... and move to local privat method.
2008-06-05 Matt Rice <ratmice@gmail.com>
* EOAccess/EOModel.m (-setName:, -setAdaptorName:, -setDocComment):
* EOAccess/EORelationship.m (-setName:, -setDocComment:):
* EOAccess/EOStoredProcedure.m (-setName:, -setExternalName:):
* EOAccess/EOAttribute.m (-setAdaptorValueConversionMethodName:)
(-setName, -setColumnName:, -setExternalType:, -setValueType:):
(-setValueClassName:, -setWriteFormat:, -setReadFormat:):
(-setDocComment:, -setValueFactoryMethodName:):
(-setAdaptorValueConversionMethodName:): Use ASSIGNCOPY instead of
ASSIGN.
* EOAccess/EOEntity.m
(performSelectorOnArrayWithEachObjectOfClass()): Perform the selectors
on a copy of the array.
2008-06-03 Matt Rice <ratmice@gmail.com>
* README: Reflect name change of PostgreSQL adaptor, and addition of
SQLite adaptor. Bump supported version of Postgres Adaptor.
* README: Add Trading framework.
* GNUmakefile: Ditto.
* Trading/*: Initial import.
2008-05-29 Blake Nicholson <blaken@umich.edu>
* DBModeler/Modeler.m: Removed duplicate invocation of [adaptor
runLoginPanel].
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/PostgreSQLLoginPanel.m:
Changed the panel's backing to NSBackingStoreBuffered instead of
NSBackingStoreRetained.
* GNUmakefile.in, EOInterface/GNUmakefile, EOAccess/GNUmakefile,
DBModeler/Inspectors/GNUmakefile, DBModeler/GNUmakefile,
Tools/GNUmakefile, EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile,
EOAdaptors/SQLiteAdaptor/GNUmakefile.in, EOAdaptors/GNUmakefile.in,
EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile,
EOAdaptors/PostgreSQLAdaptor/GNUmakefile.in, EOControl/GNUmakefile,
GDL2Palette/GNUmakefile, Documentation/GDL2Intro/GNUmakefile,
Documentation/GDL2Intro/Examples/GNUmakefile,
Documentation/GNUmakefile, EOModeler/GNUmakefile, common.make: Added
logic to the local common.make to try to populate GNUSTEP_MAKEFILES by
calling gnustep-config, if GNUSTEP_MAKEFILES is not already
populated.
2008-05-27 Matt Rice <ratmice@gmail.com>
* EOInterface/EOPopUpAssociation.m (subjectChanged:): Select
the item with tag, not item with index of the tag.
2008-05-23 Blake Nicholson <blaken@umich.edu>
* DBModeler/AdaptorsPanel.m, DBModeler/AttributeCell.m,
DBModeler/ConsistencyChecker.m, DBModeler/DefaultColumnProvider.m,
DBModeler/DiagramView.m, DBModeler/EOAdditions.m, DBModeler/EntityView.m,
DBModeler/GNUmakefile, DBModeler/KVDataSource.m,
DBModeler/MainModelEditor.h, DBModeler/MainModelEditor.m,
DBModeler/ModelerAttributeEditor.m, DBModeler/ModelerEntityEditor.h,
DBModeler/ModelerEntityEditor.m, DBModeler/ModelerTableEmbedibleEditor.h,
DBModeler/ModelerTableEmbedibleEditor.m, DBModeler/NSView+Additions.m,
DBModeler/Preferences.m, DBModeler/SQLGenerator.m,
DBModeler/Inspectors/AdvancedEntityInspector.m,
DBModeler/Inspectors/AttributeInspector.h,
DBModeler/Inspectors/AttributeInspector.m,
DBModeler/Inspectors/RelationshipInspector.h,
DBModeler/Inspectors/RelationshipInspector.m: Replaced tabs with spaces.
2008-05-22 Blake Nicholson <blaken@umich.edu>
* DBModeler/ModelerEntityEditor.m, DBModeler/ModelerAttributeEditor.m,
DBModeler/MainModelEditor.m: Added preprocessor directives to wrap methods
deprecated on OS X and to use recently introduced methods that yield a
better NSTableView display.
* configure.ac, GNUmakefile.in: Added logic to try to use gnustep-config
to determine the value of GNUSTEP_MAKEFILES if it is not already set.
* configure: Regenerated.
2008-05-13 Blake Nicholson <blaken@umich.edu>
* DBModeler/SQLGenerator.m: Updated to use new gsmarkup file.
* DBModeler/Resources/SQLGenerator.gsmarkup: Initial import.
* DBModeler/Resources/SQLGenerator.gorm: Removed.
* DBModeler/GNUmakefile: Replaced the SQLGenerator.gorm resource with
SQLGenerator.gsmarkup. Removed reference to ConsistencyResults.gorm.
2008-05-13 Matt Rice <ratmice@gmail.com>
* DBModeler/Resources/Menu-{Cocoa,GNUstep}.gsmarkup: Remove a TODO
for an old unused hack.
* EOModeler/EOModelerDocument.m: Add some comments about the new hack.
* DBModeler/Resources/ConsistencyResults.gsmarkup: initial import.
* DBModeler/GNUmakefile: Add ConsistencyResults.gsmarkup.
* DBModeler/ConsistencyResults.m: Use gsmarkup file.
* DBModeler/Resources/ConsistencyResults.gorm: Remove file.
2008-05-12 Matt Rice <ratmice@gmail.com>
* DBModeler/Resources/Menu-GNUstep.gsmarkup: Use openPrefs: action
for preferences menu item.
2008-05-12 Blake Nicholson <blaken@umich.edu>
* Modeler.m: Use NULL instead of nil for an empty NSMenuItem action.
Removed the main menu creation code. This is now handled by Renaissance.
* DBModeler/GNUmakefile: Added DBModeler.icns to the list of resources,
and set DBModeler_APPLICATION_ICON so the icon will be set appropriately.
Added gsmarkup files for the main menu to the list of resources. Added
dependency upon the Renaissance framework.
* DBModeler/Resources/DBModeler.icns: Initial import
* DBModeler/Resources/MainMenu-{Cocoa,GNUstep}.gsmarkup: Initial import.
* DBModeler/main.m: Load the gsmarkup for the main menu.
2008-05-11 Blake Nicholson <blaken@umich.edu>
* GNUmakefile.in: Add EOInterface, EOModeler, and DBModeler to
SUBPROJECTS if GUI_LIB is apple.
* Modeler.m: Changed use of the NSMenuItem protocol to the NSMenuItem class.
The NSMenuItem protocol is deprecated as of OS X 10.5.
Modified the menu creation code so that it creates a native-looking menu on
OS X. Added a top-level app menu, as well as a services menu.
Whitespace clean-up. Changed everything to spaces.
* AttributeCell.m (drawWithFrame:inView:): Changed access of instance
variable to use an accessor method instead for showsFirstResponder.
2008-05-09 Blake Nicholson <blaken@umich.edu>
* DBModeler/*.[h,m]: Fix includes for OS X.
* EOModeler/*.[h,m]: Fix includes for OS X.
* EOModeler/EOModelerDocument.m: Add return statements to suppress
warnings.
* EOModeler/EOMInspectorController.m: Use -removeFromSuperview instead
of -removeSubview.
2008-05-03 Matt Rice <ratmice@gmail.com>
* EOAccess/EOEntity.m (-[isValidPrimaryKeyAttribute:],
-[isValidAttributeUsedForLocking:],
-[isValidClassProperty:]): Test object equality as well as name.
2008-05-01 David Ayers <ayers@fsfe.org>
* EOAccess/EODatabaseContext.m
([-initializeObject:row:entity:editingContext:]): Remove debug logs.
* EOAccess/EOEntity.m ([-_dictionaryForInstanceProperties],
[-primaryKeyForGlobalID:]): Remove debug logs.
2008-05-01 Matt Rice <ratmice@gmail.com>
* EOAccess/EOEntityPriv.h: Declare new private method
_hasAttributeNamed:.
* EOAccess/EOEntity.m (-_hasAttributeNamed:): New private method.
(-anyAttributeNamed:): Add a comment.
* EOAccess/EOAttribute.m (-validateName:): Use -_hasAttributeNamed:
instead of -anyAttributeNamed:
* EOAccess/EORelationship.m (-validateName:): Ditto.
2008-04-24 David Ayers <ayers@fsfe.org>
* EOControl/EOQualifer.m: Include <stdarg.h> explicitly.
(getKey): Accept pointer to a va_list instead of the value.
Remove usage of useVAList
(_qualifierWithArgs): Ditto.
(qualifierWithQualifierFormat:arguments:): Pass NULL as va_list
pointer anddrop obsoleted va_list variable and useVAList parameter.
(qualifierWithQualifierFormat:varargList:): Copy va_list to local
variable before passing a reference to it.
2008-04-03 Matt Rice <ratmice@gmail.com>
* EOAccess/EOSQLExpression.m
(-[prepareSelectExpressionWithAttributes:lock:fetchSpecification:)]:
Conjoin the fetch specification qualifier with the restricting
qualifier.
2008-04-03 Georg Fleischmann <georg@vhf.de>
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m
([+formatValue:forAttribute:]): Fix quoting.
2008-04-01 David Ayers <ayers@fsfe.org>
* EOControl/EOKeyValueCoding.m
([NSArray-valueForKey:]):
Readd special handling of @count.
This make it WO45 compatible again.
The intermediate behavoir broke many WO bindings.
2008-03-31 Matt Rice <ratmice@gmail.com>
* EOAccess/EOStoredProcedure.m (initWithPropertyList:owner:),
(encodeIntoPropertyList:): Change key from attributes to arguments.
* EOAccess/EOAttribute.m (initWithPropertyList:owner:):
Handle parameter direction being a string containing a number.
Use boolValue instead of comparing against Y.
* EOAccess/Entity.m (encodeIntoPropetyList:): Encode flags as
strings.
2008-03-30 David Ayers <ayers@fsfe.org>
* EOControl/EOQualifier.m (getKey): Fix parsing of '%%'
as literal '%'.
2008-03-30 Matt Rice <ratmice@gmail.com>
* EOControl/EOQualifier.m (_qualifierWithArgs),
(+qualifierWithQualifierFormat:varargList:),
(+qualifierWithQualifierFormat:arguments:)
(getKey): Don't use a pointer to a va_list. See
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=14557
Also move variable argument parameters to the end
(_isLike): Fix a crash when matching the first character.
Fix handling of '*?' glob, comment.
(operatorSelectorForString:): Add contains.
(stringForOperatorSelector:): Change string for not equals..
2008-03-29 David Ayers <ayers@fsfe.org>
* EOControl/EOQualifier.m ([-dealloc]): Remove empty implementation.
([+qualifierWithQualifierFormat:varargList:]): Move implementation to...
(_qualifierWithArgs): ... new static function. Update getKey usage.
([+qualifierWithQualifierFormat:arguments:]): Implement via
_qualifierWithArgs.
(getKey): Add useVAList flag and optional enumerator to use instead.
* EOAccess/EOEntity.m (initWithPropertyList:owner:): Call
[EOQualifier+qualifierWithQualifierFormat:arguments:] to avoid invalid
stack access.
2008-03-28 Matt Rice <ratmice@gmail.com>
* EOAccess/EOEntity.m (initWithPropertyList:owner:): Pass format along
as is.
* EOControl/EOQualifier.m (getKey): Add some exceptions for invalid
qualifier formats, and parse binding variables.
(bindingKeys): Return the binding variable keys, not the qualifier keys
with binding variable values.
(EOQualifierVariable -description): Implement.
2008-03-17 David Ayers <ayers@fsfe.org>
* EOControl/EOClassDescription.m ([NSObject-classDescriptionForClass:]):
Post notification only the first time the description is needed.
* EOControl/EOKeyValueCoding.m ([NSArray-computeCountForKey:):
Handle extended aggregate keys.
2008-03-16 Matt Rice <ratmice@gmail.com>
* EOAdaptors/SQLiteAdaptor/LoginPanel/SQLite3LoginPanel.m,
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/PostgreSQLLoginPanel.h,
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/PostgreSQLLoginPanel.m:
Add missing includes.
* EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile,
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile:
Link to Foundation and AppKit frameworks on apple.
2008-03-16 Blake Nicholson <blaken@umich.edu>
* EOAdaptors/SQLiteAdaptor/SQLite3Context.m,
* EOAdaptors/SQLiteAdaptor/SQLite3Channel.m,
* EOAdaptors/SQLiteAdaptor/SQLite3Adaptor.m,
* EOControl/EOPrivate.m,
* EOControl/EOAggregateEvent.m,
* EOAccess/EOPrivate.m: Add missing include.
* EOAccess/EOAdaptor.m: Only use NSProprietaryStringEncoding where
available.
* Tools/gsdoc-model.m: Remove unused variables.
* Tools/Makefile.preamble: Fix NATIVE_LIB_DIRS path.
2008-03-16 Matt Rice <ratmice@gmail.com
* EOAccess/EOUtilities.m: Remove NSObjectNotAvailableException.
Moved to base.
* EOAccess/EODatabaseDataSource.m: Remove selector caching.
2008-03-16 Blake Nicholson <blaken@umich.edu>
* EOInterface/EOAssociation.m ([+objectDeallocated:]):
Use makeObjectsPerformSelector: instead of makeObjectsPerform:.
* EOInterface/EORadioMatrixAssociation.m
([NSMatrix-_selectCellWithTitle:]): Do not access instance variables
directly. Use accessor methods instead.
* EOInterface/EOActionAssociation.m,
* EOInterface/EOActionInsertionAssociation.m,
* EOInterface/EOAspectConnector.m,
* EOInterface/EOAssociation.m,
* EOInterface/EOColumnAssociation.m,
* EOInterface/EOComboBoxAssociation.m,
* EOInterface/EODetailSelectionAssociation.m,
* EOInterface/EODisplayGroup.m,
* EOInterface/EOGenericControlAssociation.m,
* EOInterface/EOMasterCopyAssociation.m,
* EOInterface/EOMasterDetailAssociation.m,
* EOInterface/EOMatrixAssociation.m,
* EOInterface/EOPickTextAssociation.m,
* EOInterface/EOPopUpAssociation.m,
* EOInterface/EORadioMatrixAssociation.m,
* EOInterface/EORecursiveBrowserAssociation.m,
* EOInterface/EOTableViewAssociation.m,
* EOInterface/EOTableViewAssociation.m,
* EOInterface/EOTextAssociation.m,
* EOInterface/NSImage+Additions.m:
Add include for <GNUstepBase/GNUstep.h>.
2008-03-16 Matt Rice <ratmice@gmail.com>
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m
(-formatValue:forAttribute:): Use unichars, and getCharacter:.
in case insertString: modifies the string buffer.
* EOAdaptors/SQLiteAdaptor/SQLiteExpression.m (escapeString): Ditto.
Rename to escapeValue, since it works on values other than strings.
2008-03-16 Tim McIntosh <tmcintos@avalon.net>
* EOControl/EOKeyValueCoding.m
([NSArray-valueForKey:],[NSArray-valueForKeyPath:]):
Remove special handling of @count.
This is not WO45 compatible but is more consistent with KVC
in general and with current Cocoa implementations. Also any
sane key path using count with WO45 semantics will continue
to work as expected. This change could be reverted if a
valid use case of WO45 behavior arises.
([NSArray-computeSumForKey:],[NSArray-computeAvgForKey:],
[NSArray-computeMaxForKey:],[NSArray-computeMinForKey:]):
Call valueForKeyPath: on components with the rest of the
key path to allow for extended key paths.
2008-03-12 Matt Rice <ratmice@gmail.com>
* EOInterface/Makefile.preamble,
* EOInterface/GNUmakefile,
* EOAccess/Makefile.preamble,
* EOAdaptors/PostgreSQLAdaptor/Makefile.preamble,
* EOControl/Makefile.preamble,
* common.make,
* EOModeler/Makefile.preamble: Add gcov flags.
2008-03-11 Matt Rice <ratmice@gmail.com>
* EOAccess/EOModel.m (-addEntity:): Reword assertion message.
(-_setEntity:forEntityName:className:): Add assertion.
* EOAccess/EOAttribute.m (-initWithPropertyList:owner:): Validate the
name.
* EOAccess/EORelationship.m (-initWithPropertyList:owner:): Ditto.
* EOAccess/EOEntity.m (-initWithPropertyList:owner:): Ditto.
(-attributes): Remove checks for duplicate names.
(-relationships): Remove checks for duplicate names.
2008-03-06 David Ayers <ayers@fsfe.org>
* DBModeler/GNUmakefile,
* DBModeler/Inspectors/GNUmakefile,
* Documentation/GDL2Intro/Examples/GNUmakefile.connection,
* Documentation/GDL2Intro/Examples/GNUmakefile.eoexample,
* Documentation/GDL2Intro/Examples/GNUmakefile.eoexample2,
* EOAccess/GNUmakefile,
* EOAdaptors/PostgreSQLAdaptor/GNUmakefile.in,
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile,
* EOAdaptors/SQLiteAdaptor/GNUmakefile.in,
* EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile,
* EOControl/GNUmakefile,
* EOInterface/GNUmakefile,
* EOModeler/GNUmakefile,
* GDL2Palette/GNUmakefile,
* Tools/GNUmakefile (XXX_NEEDS_GUI): Use lowercase value.
2008-03-10 Matt Rice <ratmice@gmail.com>
* EOAccess/EOAttribute.m (-setname:): Remove call to
-_attributeNameChangedFrom:to:.
* EOAccess/EOEntityPriv.h: Remove -_attributeNameChangedFrom:to:.
* EOAccess/EOEntity.m (-attributes:): Don't handle both arrays of
plists and arrays of EOAttributes in lazy loading code. Remove some
logging, and assertions.
(-attributes:): Don't handle both arrays of
plists and arrays of EORelationships in lazy loading code, and
don't clear the cache. Remove some logging and assertions.
(-classProperties:): Fix warning.
(-addAttribute:): Don't create _attributesByName as _setIsEdited:
will set it to nil.
(-removeAttribute:): Remove uneccessary call to -removeObjectForKey:.
(-_setIsEdited:): Don't set _relationshipsIsLazy flag, and clean
_attributesByName cache.
(-_attributesNameChangedFrom:to:): Remove.
(-attributesByName): Don't call -attributes unless _attributesIsLazy.
recreate _attributesByName.
(-relationshipsByName): Ditto for _relationshipsByName.
* EOAccess/EORelationship.m (-setIsToMany): Test if the flag actually
changes. Call -_setIsEdited.
* TODO: Add an item.
* DBModeler/Inspectors/RelationshipInspector.m: Fix row index check.
* DBModeler/Inspectors/GNUmakefile: Use lower case in
HAS_RESOURCE_BUNDLES.
2008-03-07 Matt Rice <ratmice@gmail.com>
* EOAccess/EORelationship.m (_makeInverseRelationship): Call
-setEntity: last to avoid unwanted calls to entity -_setIsEdited.
2008-03-07 Tim McIntosh <tmcintos@avalon.net>
* EOControl/EOFault.m ([+initialize]): Handle runtimes
that do not implement forward:: on NSObject.
([-forward]): Update comment.
2008-03-07 Matt Rice <ratmice@gmail.com>
* Documentation/GDL2Intro/Examples/GNUmakefile: Link in EOAccess and
EOControl to reflect changes to gdl2.make.
2008-03-06 Matt Rice <ratmice@gmail.com>
* DBModeler/Modeler.m,
* EOAccess/EOEntityPriv.h,
* EOAccess/EOModel.h/m,
* EOAccess/EOEntity.h/m,
* EOAccess/EORelationship.h/m: Remove setCreateMutableObjects: and
createsMutableObjects.
* EOAdaptors/SQLiteAdaptor/SQLiteChannel.m: Handle a null number
value as the string "0".
2008-03-06 David Ayers <ayers@fsfe.org>
* DBModeler/GNUmakefile,
* DBModeler/Inspectors/GNUmakefile,
* Documentation/GDL2Intro/Examples/GNUmakefile.connection,
* Documentation/GDL2Intro/Examples/GNUmakefile.eoexample,
* Documentation/GDL2Intro/Examples/GNUmakefile.eoexample2,
* EOAccess/GNUmakefile,
* EOAdaptors/PostgreSQLAdaptor/GNUmakefile.in,
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile,
* EOAdaptors/SQLiteAdaptor/GNUmakefile.in,
* EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile,
* EOControl/GNUmakefile,
* EOInterface/GNUmakefile,
* EOModeler/GNUmakefile,
* GDL2Palette/GNUmakefile,
* Tools/GNUmakefile (XXX_NEEDS_GUI): Set appropriately.
* EOControl/EOFault.m ([-forward::]): Make dummy implementation.
([+initialize]): Adjust runtime to use NSObjects implementation
of -forward:: to invoke fowardInvocation. Useful for OS X,
reported my Tim McIntosh.
* EOAccess/EORelationship.m ([-setEntity:]): Modify remove
relatioship from previous entity and add recursion detection.
Add documention.
* EOAccess/EOEntity.m ([-removeRelationship:]): Move call
to [EORelationship-setEntity:] to allow recursion detection.
2008-03-05 David Ayers <ayers@fsfe.org>
* EOControl/EOKeyGlobalID.m ([+assignGloballyUniqueBytes:]):
Handle IPv6 addresses gracefully.
[BUG:22486 reported by Blake Nicholson].
2008-02-06 David Ayers <ayers@fsfe.org>
* EOControl/EODefines.h (GDL2CONTROL_EXPORT/DECLARE),
* EOAccess/EODefines.h (GDL2ACCESS_EXPORT/DECLARE),
* EOModeler/EODefines.h (GDL2MODELER_EXPORT/DECLARE): Synchronize
dllimport/export handling for MinGW with -base.
(Attempt to fix bug reported by Tim Kack)
2008-01-22 David Ayers <ayers@fsfe.org>
* EOControl/EOClassDescription.h: Avoid unnecessary include.
* EOControl/EOAndQualifier.m,
* EOControl/EOFault.m,
* EOControl/EOFaultHandler.m,
* EOControl/EOKeyComparisonQualifier.m,
* EOControl/EOKeyValueArchiver.m,
* EOControl/EOKeyValueCoding.m,
* EOControl/EOKeyValueCodingBase.m,
* EOControl/EOMutableKnownKeyDictionary.h,
* EOControl/EONotQualifier.m,
* EOControl/EOOrQualifier.m,
* EOControl/EOQualifier.m,
* EOAccess/EOAdaptor.m,
* EOAccess/EOAdaptorContext.m,
* EOAccess/EOAttribute.m,
* EOAccess/EODatabase.m,
* EOAccess/EODatabaseContext.m,
* EOAccess/EOExpressionArray.m,
* EOAccess/EOJoin.m,
* EOAccess/EOModel.m,
* EOAccess/EOModelGroup.m,
* EOAccess/EORelationship.m,
* EOAccess/EOSQLExpression.m,
* EOAccess/EOSQLQualifier.m,
* EOAccess/EOSchemaGeneration.m,
* EOAccess/EOStoredProcedure.m,
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.m,
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m,
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m,
* EOAdaptors/SQLiteAdaptor/SQLite3Adaptor.m,
* EOAdaptors/SQLiteAdaptor/SQLite3Channel.m,
* EOInterface/EOTableViewAssociation.m,
* EOModeler/EOModelExtensions.m,
* EOModeler/EOModelerApp.m,
* DBModeler/ModelerAttributeEditor.m,
* DBModeler/ModelerEntityEditor.m: Remove references to NSUtilities.h.
Add includes for missing header references.
* DBModeler/Modeler.m (-[showEditor:]): Add cast to avoid compiler
warning.
2008-01-22 Peter Cooper <comrade@obverse.com.au>
* Tools/NSArray+GSDoc.m: Include NSString.h ...
* EOControl/EOClassDescription.h: Include NSDictionary.h to compile
with new versions of -base/Foundation.
2007-11-27 David Ayers <ayers@fsfe.org>
* EOControl/EOClassDescription.h/m
([NSObject-validateTakeValue:forKeyPath:]): Implement.
2007-11-21 David Ayers <ayers@fsfe.org>
* EOAdaptors/PostgreSQLAdaptor/Makefile.preamble
(ADDITIONAL_NATIVE_LIB_DIRS): Correct include path.
(ADDITIONAL_LIB_DIRS): Remove redundant directives.
2007-11-21 David Ayers <ayers@fsfe.org>
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m:
([EOAttribute-_valueTypeCharacter]): Correct references from
_valueTypeChar.
([PostgreSQLChannel+initialize]): Ditto.
(newValueForNumberTypeLengthAttribute): Ditto. Handle nil
return value of valueType.
Bug reported by: Eric Johns <ericjohns@verizon.net>.
2007-10-31 David Ayers <ayers@fsfe.org>
* Makefile.postamble (after-distclean::): Remove generated
GNUmakefile.
* gdl2.make.in (ADDITIONAL_NATIVE_LIBS): Don't force
linking of any GDL2 libraries just to get the version.
[API Change].
* variable-processing.make: Remove file (functionality
is now supplied by -make).
* EOInterface/GNUmakefile, EOAccess/EOModelGroup.m,
EOAccess/GNUmakefile, EOControl/GNUmakefile,
DBModeler/GNUmakefile, Tools/GNUmakefile,
GDL2Palette/GNUmakefile, EOModeler/GNUmakefile,
EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile,
EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile:
Remove reference to variable-processing.make.
* EOControl/EOGenericRecord.m
([-_infoForInstanceVariableNamed:stringName:retType:retSize:retOffset:]):
Use marker that matches underlying type signedness.
([-_getValueForKey:selector:type:size:offset:],
[-_setValueForKey:selector:type:size:offset:]):
Match 'offset' with underlying type signedness and update
marker.
([-storedValueForKey:],[-takeStoredValue:forKey:],
[-takeValue:forKey:]): Update signedness of offset to avoid
compiler warnings.
* EOControl/EOClassDescription.m
([NSObject-validateValue:forKey:]): Correct signedness of 'buf'.
* EOControl/EOPrivate.m (GDL2_PrivateInit): Fix assignemnt of
GDL2_EOEditingContext_recordObjectGlobalIDIMP.
* EOAccess/EOModelGroup.m
([EOObjectStoreCoordinator-modelGroup]): Correct method
signature to avoid compiler warnings.
* DBModeler/EntityView.m ([-mouseDown:]): Match class
with return type of initializer method to avoid
compiler warnings and unnecessary cast.
* EOAdaptors/SQLiteAdaptor/SQLite3Channel.m (newNumberValue):
Change type of 'data' to match usage.
([-fetchRowWithZone:]): Cast return type of sqlite3_column_text
to match expected usage to avoid compiler warnings.
2007-08-17 David Ayers <ayers@fsfe.org>
* COPYING.LIB: Update to LGPL 3.
* DB2Modeler/COPYING: Update to GPL 3.
* *.*: Update copyright notices.
2007-07-11 David Ayers <ayers@fsfe.org>
* Version 0.11.0
* README: Update prerequisites and project names.
* TODO: Update.
* INSTALL: Remove reference to GNUSTEP_SYSTEM_ROOT.
* ANNOUNCE: Update for release.
* NEWS: Ditto.
2007-07-11 David Ayers <ayers@fsfe.org>
* EOControl/EOAggregateEvent.h/m: New files with stub
implementations.
* EOControl/GNUmakefile: Add EOAggregateEvent.h/m.
* EOAccess/EOSchemaSynchronization.h/m: New files with stub
implementations.
* EOAccess/GNUmakefile: Add EOSchemaSynchronization.h/m.
2007-05-05 Matt Rice <ratmice@gmail.com>
* EOInterface/EODisplayGroup.m (-deleteObjectAtIndex:):
* EOModeler/EOModelerDocument.m (-adaptor, -saveToPath:):
Return with NS_VALUERETURN from within exception handling block.
2007-05-02 David Ayers <ayers@fsfe.org>
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile,
* EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile:
Include variable-processing.make.
2007-05-01 David Ayers <ayers@fsfe.org>
* Documentation/GDL2Intro/GDL2Intro.texi: Cleanup node
structure to avoid build failure during documentation build.
* Documentation/GDL2Intro/Examples/connection.m,
* Documentation/GDL2Intro/Examples/eoexample.m,
* Documentation/GDL2Intro/Examples/eoexample2.m: Minor
formatting tweaks for documentation build.
* EOAccess/EORelationship.m,
* EOAccess/EOAttribute.h,
* Tools/EOEntity+GSDoc.m,
* Tools/EOAttribute+GSDoc.m: Remove references to GC-classes
in comments.
2007-04-16 David Ayers <ayers@fsfe.org>
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m
(newValueForDateTypeLengthAttribute): Correct determination
of seconds and milliseconds. Make optimization explicit.
[BUG:19503 reported by Manuel Guesdon].
2007-03-10 David Ayers <ayers@fsfe.org>
* EOAdaptors/SQLiteAdaptor/LoginPanel/Makefile.postamble:
Replace spaces with tab.
* Makefile.postamble: Replace INSTALL_ROOT_DIR with DESTDIR.
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m
(_evaluateExpression:withAttributes:): Use the channel's
encoding.
2007-02-22 Manuel Guesdon <mguesdon@orange-concept.com>
* EOAccess/EODatabaseContext.h (recordChangesInEditingContext):
Collect propagations in collections and then execute
recordToManySnapshot:dbOpes:,
nullifyAttributesInRelationship:relationships:
and relayAttributesInRelationship:relationships: at the end.
2007-02-18 Nicola Pero <nicola.pero@meta-innovation.com>
* configure.ac: Check for GNUSTEP_MAKEFILES, not
GNUSTEP_SYSTEM_ROOT.
* configure: Regenerated.
2007-01-25 Matt Rice <ratmice@gmail.com>
* EOAccess/EOModel.h: Forward declare NSMutableArray class.
* GDL2Palette/README: Document some pitfalls due to lack
of project management app support.
2007-01-11 Matt Rice <ratmice@gmail.com>
* GDL2Palette/README: New file.
* EOInterface/TODO: New file.
* GDL2Palette/ResourceManager.m: Uncomment some code.
* GDL2Palette/ResourceManager.m: Add .eomodel files in the document
path.
2007-01-10 Matt Rice <ratmice@gmail.com>
* DBModeler/AdaptorsPanel.m: Add responder chain, key equivalents,
autosize controls, and don't release the window when closed.
* DBModeler/Resources/ConsistencyResults.gorm: Add responder chain.
* DBModeler/Resources/Preferences.gorm: Add responder chain.
* DBModeler/Resources/SQLGenerator.gorm: Add responder chain.
* DBModeler/Preferences.m (-switchButtonChanged:): Handle -1 as
no row selected.
* DBModeler/EntityView.m: Call supers dealloc not release.
* DBModeler/EntityView.h: Fix method declaration.
* DBModeler/DiagramView.h: Ditto.
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/PostgreSQLLoginPanel.m: Fix
typo.
2007-01-08 Matt Rice <ratmice@gmail.com>
* Documentation/GDL2Intro.texi: Add a chapter on EOInterface.
2007-01-06 Matt Rice <ratmice@gmail.com>
* EOAdaptors/SQLite3/SQLite3Channel.m (-evaluateExpression:):
Continue evaluating the expression until all statements are evaluated
or rows are returned.
* Documentation/GDL2Intro.texi: Add another section on relationships.
* Documentation/Examples/library.eomodel: Add relationships as class
properties.
* Documentation/Examples/GNUmakefile: Add GNUmakefile.eoexample2.
* Documentation/Examples/GNUmakefile.eoexample2: New file.
* Documentation/Examples/eoexample2.m: New example for relationships.
* EOAdaptors/SQLite3Expression.m: Implement
+dropDatabaseStatementsForConnectionDictionary:
administrativeConnectionDictionary:
and +foreignKeyConstraintStatementsForRelationship: to return empty
arrays.
2007-01-05 Matt Rice <ratmice@gmail.com>
* Documentation/GDL2Intro/GDL2Intro.texi: Add more docs.
* Documentation/GDL2Intro/Examples/eoexample.m: Use an
EODatabaseDatasource.
* Documentation/GDL2Intro/Examples/connection.m: Load the model file
manually if it cannot be found.
* Update Email address for Matt Rice.
2007-01-04 David Ayers <ayers@fsfe.org>
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.m
(assignExternalInfoForEntity:): Remove method replicated from
superclass.
* EOControl/EOKeyValueCoding.m (computeAvgForKey:): Return zero
for empty arrays.
2007-01-03 Matt Rice <ratmice@gmail.com>
* EOAdaptors/SQLiteAdaptor/LoginPanel/SQLite3LoginPanel.m: Remove
NSLog.
* Documentation/GDL2Intro/GDL2Intro.texi: Add more documentation.
* Documentation/GDL2Intro/library.eomodel: Add a connection
dictionary.
2007-01-02 Matt Rice <ratmice@gmail.com>
* EOAdaptors/SQLiteAdaptor/GNUmakefile.in: Add login panel.
* EOAdaptors/SQLiteAdaptor/LoginPanel: New directory.
* EOAdaptors/SQLiteAdaptor/LoginPanel/GNUmakefile: New file.
* EOAdaptors/SQLiteAdaptor/LoginPanel/Makefile.postamble: Ditto
* EOAdaptors/SQLiteAdaptor/LoginPanel/SQLite3LoginPanel.m: Ditto.
* EOAdaptors/SQLiteAdaptor/LoginPanel/SQLite3LoginPanel.h: Ditto.
* variable-processing.make: Add comments.
* GNUmakefile.in: Add Documentation subproject.
* Documentation: New Directory.
* Documentation/GDL2Intro: Ditto.
* Documentation/GDL2Intro/Examples: Ditto.
* Documentation/GDL2Intro/GDL2Intro.texi: New file.
* Documentation/GDL2Intro/GNUmakefile: Ditto.
* Documentation/GDL2Intro/Examples/GNUmakefile: Ditto.
* Documentation/GDL2Intro/Examples/example.GNUmakefile: Ditto.
* Documentation/GDL2Intro/Examples/GNUMakefile.connection: Ditto.
* Documentation/GDL2Intro/Examples/GNUmakefile.eoexample: Ditto.
* Documentation/GDL2Intro/Examples/eoexample.m: Ditto
* Documentation/GDL2Intro/Examples/connection.m: Ditto.
* Documentation/GDL2Intro/Examples/library.eomodel: Ditto.
* EOControl/EOMutableKnownKeyDictionary.h/m: Remove usage of GCObject.
* EOControl/EOFault.h/m: Ditto.
* EOControl/EOFaultHandler.m: Ditto.
2007-01-01 David Ayers <ayers@fsfe.org>
* EOAccess/EOAccessFault.h/m: Minor cleanups for autogsdoc.
* EOAccess/EOAdaptor.m: Ditto.
* EOAccess/EOAdaptorChannel.h/m: Ditto.
* EOAccess/EOAdaptorContext.h: Ditto.
* EOAccess/EODatabase.h/m: Ditto.
* EOAccess/EODatabaseChannel.m: Ditto.
* EOAccess/EODatabaseContext.h/m: Ditto.
* EOAccess/EODatabaseDataSource.h: Ditto.
* EOAccess/EODatabaseOperation.h: Ditto.
* EOAccess/EOEntity.h/m: Ditto.
* EOAccess/EOModel.h/m: Ditto.
* EOAccess/EORelationship.h: Ditto.
* EOAccess/EOSchemaGeneration.h: Ditto.
* EOAccess/EOUtilities.h/m: Ditto.
* EOAccess/EOSQLExpression.h/m: Minor cleanups for autogsdoc.
(EOSchemaGeneration): Move implementation from here to ...
* EOAccess/EOSchemaGeneration.m: ... new file for autogsdoc.
* EOAccess/GNUmakefile: Add EOSchemaGeneration.m.
* EOAccess/EOUtilities.m (EOObjectStoreCoordinator EOModelGroup):
Move implementation from here to ...
* EOAccess/EOModelGroup.m: ... to here for autogsdoc.
* common.make: (GDL2_AGSDOC_FLAGS): Add extern declarations.
2006-12-31 David Ayers <ayers@fsfe.org>
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLValues.h/m:
Remove files.
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLPrivate.h/m
Remove references to PostgreSQLValues.
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m:
Ditto.
* EOAdaptors/PostgreSQLAdaptor/GNUmakefile.in: Ditto.
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m
(attrRespondsToValueClass, attrRespondsToValueTypeChar)
(newValueForNumberTypeLengthAttribute)
(newValueForCharactersTypeLengthAttribute)
(newValueForBytesTypeLengthAttribute)
(newValueForDateTypeLengthAttribute)
(newValueForBytesLengthAttribute)
... to static inline functions here.
(getDigits): New support function.
(__dummy_function_used_for_linking) Remove link hack.
(initialize): Initialize new static variables.
Use new static inline functions instead of PostgreSQLValues.
(NSS_SWF): Remove macro in favor of real method name.
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.h
(encoding): New instance variable.
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.h
(PostgreSQLException): Move declation for documentation.
2006-12-30 David Ayers <ayers@fsfe.org>
* EOControl/GNUmakefile: Simplify documentation declarations.
* EOAccess/GNUmakefile: Ditto.
* EOInterface/GNUmakefile: Ditto.
* Tools/GNUmakefile: Ditto.
* common.make (ADDITIONAL_LIB_DIRS): Move handling from here...
* variable-processing.make: ... to new file.
* EOControl/GNUmakefile: Use variable-processing.make.
Include common.make early.
* EOAccess/GNUmakefile: Ditto.
* EOInterface/GNUmakefile: Ditto.
* Tools/GNUmakefile: Ditto.
* DBModeler/GNUmakefile: Ditto.
* EOModeler/GNUmakefile: Ditto.
* GDL2Palette/GNUmakefile: Ditto.
* EOControl/EOFetchSpecification.h/m: Cleanup for documentation
generation.
* EOControl/EOGenericRecord.m: Ditto.
* EOControl/EOClassDescription.h/m: Ditto.
* EOControl/EONSAddOns.m: Ditto.
* EOControl/EOObjectStore.h: Ditto.
* EOControl/EOEditingContext.h: Ditto.
* EOControl/EODataSource.m: Ditto.
* EOControl/EOKeyValueArchiver.h/m: Ditto.
* EOControl/EOFault.h/m: Ditto.
* EOControl/EOObserver.h: Ditto.
* EOControl/EOEventCenter.m: Ditto.
* EOControl/EOMultiReaderLock.m: Ditto.
* EOControl/EOKeyGlobalID.h/m: Ditto.
* EOControl/EOObserver.m: Ditto.
* EOControl/EOEvent.m: Ditto.
* EOControl/EOObjectStoreCoordinator.h: Ditto.
* EOControl/EODeprecated.h: Ditto.
* EOControl/EOUndoManager.m: Ditto.
* EOControl/EOKeyValueCoding.h/m: Ditto.
* EOControl/EOQualifier.h: Ditto.
* EOControl/EOClassDescription.h/m (editingContext): Remove
duplicate declartion and definition (see EOEditingContext.h/m)
* EOControl/EOFetchSpecification.h (EOPrefetchingRelationshipHintKey)
(EOFetchLimitHintKey, EOPromptsAfterFetchLimitHintKey): Remove
deprecated declarations.
* EOAccess/EOAttribute.m: Cleanup for documentation.
* EOAccess/EOAttribute.m (newValueForBytes:length:encoding:):
Avoid creating intermediate NSData object.
* EOControl/EOControl.gsdoc: Added Documentation.
* EOControl/EOUndoManager.h: Remove content of deprecated header
and add warning.
* common.make (GDL2_AGSDOC_FLAGS): Add global GDL2 documenation
flags.
* config.h.in (RCSID): Avoid reserved names by relying
in static declarations and avoid recursive call.
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLAdaptor.m
(assignExternalInfoForAttribute:) Move implementation to...
(assignExternalTypeForAttribute:) ...here.
* Version: Update variable names.
2006-12-28 Matt Rice <ratmice@gmail.com>
* EOAdaptors/PostgreSQL/LoginPanel/GNUmakefile: Fix path to
NATIVE_LIB_DIRS.
* GDL2Palette/DisplayGroupInspector.m: Call super dealloc.
* GDL2Palette/ResourceManager.m: Add comment.
* DBModeler/DefaultColumnProvider: Set switch buttons to ineditable.
* ChangeLog: Add missing entries...
2006-12-26 Matt Rice <ratmice@gmail.com>
* EOModeler/EOModelerDocument.m (-saveToPath:): Handle saving with a
.eomodel extension.
* EOAccess/EOEntity.m (-dealloc): Only set parents to nil
properties which have been fully loaded.
* EOAdaptors/PostgreSQL/LoginPanel/GNUmakefile: Remove references to
libgnustep-db2control/access
* DBModeler/MainModelEditor.m: Set the windows title.
2006-11-16 Matt Rice <ratmice@gmail.com>
* EOControl/EOObserver.m: Use an NSHashTable to store observers.
Check that objects and observers are not nil.
2006-11-15 Matt Rice <ratmice@gmail.com>
* EOControl/EOObserver.m: Fix leak when removing observers.
2006-10-23 Matt Rice <ratmice@yahoo.com>
* EOAccess: Revert previous changes.
* EOAccess/EOModel.m (-dealloc): Set entities model to nil.
* EOAccess/EOEntityPriv.h: Add functions for maintining list of
relationships and their destination entities.
* EOAccess/EOEntity.m: Implement new functions.
(-dealloc:): Set attributes entities, and relationships source and
destinations entities to nil.
(+initialize:): Initialize static map table.
* EOAccess/EORelationship.m: Call functions to maintain destination
entities.
* EOAccess/EOEntity.m (-dealloc): Add missing calls to release,
reorganize.
* EOAccess/EOEntity.m: Break retain cycle for parent/sub entities.
2006-10-22 Matt Rice <ratmice@yahoo.com>
* EOAccess/EOPrivate.h: Add notification constants.
* EOAccess/EOAttribute.m: Observe EOEntity's notification.
* EOAccess/EORelationship.m: Observe EOEntity's notification.
* EOAccess/EOModel.m: Post notification when deallocating.
* EOAccess/EOEntity.m: Post notification when deallocating, and
observe EOModels notification.
2006-10-14 Matt Rice <ratmice@yahoo.com>
* EOAccess/EOAttribute.m: Remove usage of GCObject, and its subclasses.
* EOAccess/EOModelGroup.h: Ditto.
* EOAccess/EOStoredProcedure.m: Ditto.
* EOAccess/EOModelGroup.m: Ditto.
* EOAccess/EOExpressionArray.h: Ditto.
* EOAccess/EORelationship.h: Ditto.
* EOAccess/EOExpressionArray.m: Ditto.
* EOAccess/EOEntity.h: Ditto.
* EOAccess/EOEntity.m: Ditto.
* EOAccess/EOJoin.h: Ditto.
* EOAccess/EOModel.h: Ditto.
* EOAccess/EOAttribute.h: Ditto.
* EOAccess/EOAttributePriv.h: Ditto.
* EOAccess/EOJoin.m: Ditto.
* EOAccess/EORelationship.m: Ditto, and don't retain source and
* EOAccess/EOStoredProcedure.h: Ditto, and don't retain model.
* EOAccess/EOModel.m: Ditto.
(-addStoredProcedure:): Fix error when using non-mutable objects.
(-dealloc): Add missing ivars.
destination entities.
* EOAccess/GNUmakefile: Remove slash on last header file.
* EOControl/EOPrivate.m: Update comment.
2006-10-14 David Ayers <ayers@fsfe.org>
* EOAccess/EOAdaptor.m (databaseEncoding): Use NSStringEncoding
enum symbols instead of literal values.
2006-10-13 Matt Rice <ratmice@yahoo.com>
* EOModeler/EOModelerDocument.m (-windowWillClose:): If document
owns the current editor, reset the seletion path, and unset the
current editor.
* EOModeler/EOModelerInspectorController.m (-selectionChanged:):
handle an empty selection path.
* EOModeler/EOModelerApp.m: Remove usage of
EOModel -setCreatesMutableObjects:.
* EOModeler/EOModelerEditor.m
(EOModelerCompoundEditor -setSelectionPath:): Fix if statement which
always returned yes.
* DBModeler/MainModelEditor.m: Add more information to comment.
* EOModeler/EOModelerApp.h: Whitespace changes.
2006-10-13 David Ayers <ayers@fsfe.org>
* EOAccess/EOAdaptor.m (databaseEncoding): Reimplement to not
rely in GSEncodingName.
2006-10-09 Nicola Pero <nicola.pero@meta-innovation.com>
* EOInterface/GNUmakefile: Do not set GNUSTEP_INSTALLATION_DIR.
* EOAccess/GNUmakefile: Same change.
* DBModeler/Inspectors/GNUmakefile: Same change.
* DBModeler/GNUmakefile: Same change.
* Tools/GNUmakefile: Same change.
* EOAdaptors/PostgreSQLAdaptor/GNUmakefile.in: Same change.
* EOAdaptors/SQLiteAdaptor/GNUmakefile.in: Same change.
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/GNUmakefile: Same change.
* EOControl/GNUmakefile: Same change.
* GDL2Palette/GNUmakefile: Same change.
* EOModeler/GNUmakefile: Same change.
2006-10-09 Matt Rice <ratmice@yahoo.com>
* DBModeler/Modeler.m: Add ability to change the editor.
* DBModeler/MainModelerEditor.m (-activateEmbeddedEditor:): Don't
modify editors view subview resizing behaviour.
Dont call supers implementation until we have resized the subview.
* DBModeler/GNUmakefile: Add new files.
* DBModeler/Resources/Key_Diagram.tiff
* DBModeler/Resources/Locking_Diagram.tiff
* DBModeler/Resources/ClassProperty_Diagram.tiff
* DBModeler/AttributesCell.{h,m}
* DBModeler/DiagramView.{h,m}
* DBModeler/DiagramEditor.{h,m}
* DBModeler/EntityView.{h,m}
* DBModeler/NSView+Additions.{h,m}: New files, initial implementation
of diagram editor.
2006-10-03 Matt Rice <ratmice@yahoo.com>
* EOAccess/EOEntity.m (-awakeWithPropertyList:): Setup the connection
to the parent entity.
(-encodeIntoPropertyList:): Encode the parent entity name.
(-init): Initialize the _subEntities ivar.
(-addSubEntity:): Pass correct argument.
* EOAccess/EOModel.m (-encodeTableOfContentsIntoPropertyList:):
encode the parent entity name.
(-_addEntityWithPropertyList): Call -awakeWithPropertyList:
2006-10-02 Matt Rice <ratmice@yahoo.com>
* EOAccess/EOEntityPriv.h: Rename setParentEntity: to
_setParentEntity:.
* EOAccess/EOEntity.m (-addSubEntity:): Ditto.
(-removeSubEntity:): Ditto, and check that self is the parent before
setting to nil.
2006-10-01 Matt Rice <ratmice@yahoo.com>
* EOAdaptors/SQLiteAdaptor/: Initial import of SQLite3 adaptor.
* configure: Regenerate.
* config/sqlite3.m4: New file.
* configure.ac: Add detection for sqlite3.
* EOAdaptors/SQLiteAdaptor/SQLite3SQLExpression.m: Override
createDatabase method.
* configure: Regenerate.
* configure.ac: Change SUBPROJECTS to GUI_SUBPROJECTS to reflect what
its for.
* GNUmakefile.in: Ditto, and move so its compiled after EOInterface
* EOModeler/EOMInspector.h: Add IBOutlets.
* DBModeler/Inspectors/AttributeInspector.m: Remove unused ivar.
* DBModeler/Inspectors/GNUmakefile: Add AdvancedEntityInspector.
* DBModeler/Inspectors/AdvancedEntityInspector.[h,m,gorm]: New files.
* DBModeler/GNUmakefile: Remove subprojects hack.
* GDL2Palette/GNUmakefile: Ditto.
* GDL2Palette/ResourceManager.m: enable the creation of parent
assocation when creating a EOMasterDetailDisplayGroup.
* DBModeler/DefaultColumnProvider.h/m: declare default columns as
extern.
* EOAccess/EOEntity.m (-addSubEntity:): Remove the child as a
sub-entity of its previous parent.
* DBModeler/Inspectors/AdvancedEntityInspector.[h,m,gorm]:
add ability to set parent entity.
* GDL2Palette/KeyWrapper.h: Add QueryType.
* GDL2Palette/ConnectionInspector.m: add/remove comments.
2006-09-28 Matt Rice <ratmice@yahoo.com>
* EOAccess/EOSQLExpression.m
(+createTableStatementsForEntityGroup:)
(+dropTableStatementsForEntityGroup:)
(+primaryKeySupportStatementsForEntityGroup:)
(+createTableStatementsForEntityGroup:): Return an empty array for
abstract entities.
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLExpression.m
(+dropTableStatementsForEntityGroup:): Ditto.
* EOAccess/EODatabase.m (-snapshots): Return an autoreleased copy.
2006-09-27 Matt Rice <ratmice@yahoo.com>
* EOInterface/EODisplayGroup.m
(-selectNext): Implement.
(-selectPrevious): Ditto.
(-enabledToSetSelectedObjectValueForKey:): Handle query mode.
2006-09-22 Matt Rice <ratmice@yahoo.com>
* EOInterface/EODisplayGroup.m
(-enabledToSetSelectedObjectValueForKey:)
(-qualifierFromQueryValues:)
(-equalToQueryValues:),(-setEqualToQueryValues:)
(-greaterThanQueryValues:),(-setGreaterThanQueryValues:)
(-lessThanQueryValues:),(-setLessThanQueryValues:)
(-qualifyDisplayGroup),
(-qualifyDataSource): Implement.
(-_queryDictForOperator:): New private method.
(-_qualifierForKey:value:defaultOperator:): Ditto.
(-setValue:forObject:key:): Handle @query keys.
2006-09-20 Matt Rice <ratmice@yahoo.com>
* EOInterface/EOGenericControlAssociation.m (-endEditing):
Fix copy/paste error.
* GDL2Palette/Palette.[hm]: Load bundles from GDL2PaletteBundles key.
* GDL2Palette/ConnectInspector.m: Replace static map table with
walking the list of connectors.
* EOInterface/EODeprecated.h: Fix typo.
* DBModeler/*.[hm]
* GDL2Palette/*.[hm]: Update copyright.
2006-09-19 Matt Rice <ratmice@yahoo.com>
* GDL2Palette/KeyWrapper.h: Add LocalType.
* GDL2Palette/ConnectInspector.m (_localKeysFromDisplayGroup): New
method.
(updateValues:): Add local keys.
(_oaBrowserAction:): Enable ok button for LocalType.
Handle relationships explicitly
(browser:willDisplayCell:atRow:column:): Enable and set leaf for
LocalType keys.
* GDL2Palette/DisplayGroupInspector.[hm]: Add editor for local keys.
* GDL2Palette/GDL2DisplayGroupInspector.gorm: Ditto.
* GDL2Palette/DisplayGroupInspector.m: -revert: update local keys.
2006-09-18 Matt Rice <ratmice@yahoo.com>
* DBModeler/SQLGenerator.m (-executeSQL:): Fix memory leak,
Remove a hack, add a FIXME.
* EOInterface/EODisplayGroup.m (-initWithCoder:): Move fetching on
load to -awakeFromNib
* GDL2Palette/DisplayGroupInspector.[hm]
* GDL2Palette/GDL2DisplayGroupInspector.gorm: New files.
* GDL2Palette/IB+Categories.m: Add display group Inspector.
2006-09-17 Matt Rice <ratmice@yahoo.com>
* DBModeler/SQLGenerator.m
* Tools/eoutil.m: change Postgres to PostgreSQL.
2006-09-16 Matt Rice <ratmice@yahoo.com>
* EOAccess/EOModel.m (writeToFile:): Use the default permissions
on .eomodeld files.
2006-09-16 Matt Rice <ratmice@yahoo.com>
* DBModeler/Resources/AllowsNull_On.tiff: New file.
* DBModeler/GNUmakefile: Add new file.
* DBModeler/DefaultColumnProvider.m: Reorder table columns.
Use new file, for allows null column. Remove out of date comments.
* DBModeler/Resources/AllowsNull_Header.tiff: New file.
* DBModeler/GNUmakefile: Add new file.
* DBModeler/DefaultColumnProvider.m: Set column header image.
* DBModeler/Inspectors/AttributeInspector.[hm]: Implement valueType
pop-up button, and add macro to clean up some code.
* DBModeler/Inspectors/AttributeInspector.gorm: Ditto.
* DBModeler/Inspectors/AttributeInspector.[hm]: Merge private
dictionarys without conflicting keys. Replace Integer/Double
types with a generic Number type.
* DBModeler/Inspectors/AttributeInspector.gorm: Update interface
for 'Number'.
2006-09-16 David Ayers <ayers@fsfe.org>
* EOAccess/EOAttribute.[hm]: Add documentation.
(_valueTypeChar): Replace char type with ...
(_valueTypeCharacter): ... unichar type.
([_valueTypeCharacter): Add comment about caching issue.
2006-09-15 Matt Rice <ratmice@yahoo.com>
* EOInterface/EODisplayGroup.m: Correct selector name.
* EOInterface/EOTableViewAssociation.m: Remove observer notification
suppression.
* DBModeler/Modeler.m: Add some debug code.
* DBModeler/Inspectors/AttributeInspector.h/m: Implement.
* DBModeler/Inspectors/AttributeInspector.gorm: Update interface.
* DBModeler/ModelerTableEmbedibleEditor.m: Send notification on
displayGroup:didSetValue:forObject:key.
2006-09-15 Matt Rice <ratmice@yahoo.com>
2006-09-15 David Ayers <ayers@fsfe.org>
* EOAdaptors/Postgres95/{*,*/*}: Rename from Postgres95 to PostgreSQL.
* Tools/eoutil.m: Ditto.
* DBModeler/SQLGenerator.m: Ditto.
* EOAdaptors/Postgres95/*.h/m: Rename files from Postgres95 to
PostgreSQL.
* EOAdaptors/PostgreSQLAdaptor/LoginPanel/Makefile.postamble: Remove
symlink creation/removal.
* DBModeler/Resources/ModelDrag.tiff: Update Image.
* DBModeler/Resources/DBModeler.tiff: Correct image format.
2006-09-14 Matt Rice <ratmice@yahoo.com>
* GNUmakefile.in: Remove reference to config.make
2006-09-14 Matt Rice <ratmice@yahoo.com>
* configure: Regenerate.
* common.make: New file.
* config.make.in: Remove.
* GNUmakefile: Ditto.
* GNUmakefile.in: New file, merges config.make.in and GNUmakefile.
* configure.ac: Remove config.make.in, add GNUmakefile.in.
* EOInterface/Makefile.preamble
* EOInterface/GNUmakefile
* EOAccess/Makefile.preamble
* EOAccess/GNUmakefile
* EOControl/GNUmakefile
* EOControl/Makefile.preamble
* DBModeler/GNUmakefile
* Tools/Makefile.preamble
* EOAdaptors/Postgres95/Makefile.preamble
* GDL2Palette/GNUmakefile
* gdl2.make.in
* EOModeler/GNUmakefile
* EOModeler/Makefile.preamble: Change to compile as native libraries.
* DBModeler/Inspectors/AttributeInspector.gorm/data.info:
* DBModeler/Inspectors/AttributeInspector.gorm/data.classes:
* DBModeler/Inspectors/AttributeInspector.gorm/objects.gorm: Implement
interface.
2006-09-14 David Ayers <ayers@fsfe.org>
* EOAdaptors/Postgres95/GNUmakefile.in:
Install into GNUSTEP_SYSTEM_ROOT by default.
* Update email addresses for Mirko Viviani and David Ayers.
2006-09-14 David Ayers <ayers@fsfe.org>
* Version 0.10.1
* README: Correct modeler application name.
* ANNOUNCE: Update to followup release.
* NEWS: Ditto.
2006-09-14 David Ayers <ayers@fsfe.org>
* EOInterface/GNUmakefile
* DBModeler/Inspectors/GNUmakefile
* DBModeler/GNUmakefile
* EOAdaptors/Postgres95/LoginPanel/GNUmakefile
* GDL2Palette/GNUmakefile: Add missing copyright notices.
Install into GNUSTEP_SYSTEM_ROOT by default.
2006-09-14 David Ayers <ayers@fsfe.org>
* Version 0.10.0
* ANNOUNCE: New file.
2006-09-13 Matt Rice <ratmice@yahoo.com>
* EOControl/EOObserver.m (EOObserverCenter +_forgetObject:): New
private method.
(+notifyObserversObjectWillChange:): Change omniscient observer
arguments.
* EOControl/EOEditingContext.m (NSObject -dealloc): Call
_forgetObject:.
* EOControl/EOPrivate.h: Add category for EOObserverCenter private
methods.
2006-09-12 David Ayers <ayers@fsfe.org>
* Version: Update to 0.10.0
* GNUmakefile: Set package name for release targets.
* EOAccess/EOSQLExpression.h (deleteStatementWithQualifier:entity:)
* EOAccess/EOSQLExpressionPriv.h (_aliasForRelationshipPath:)
(_flattenRelPath:entity:, _aliasForRelatedAttribute:relationshipPath:)
* EOAccess/EOSQLExpression.m (insertStatementForRow:entity:)
(updateStatementForRow:qualifier:entity:)
(deleteStatementWithQualifier:entity:)
(selectStatementForAttributes:lock:fetchSpecification:entity:)
(_aliasForRelationshipPath:)
* EOAccess/EORelationship.h (intermediateEntity)
(_foreignKeyForSourceRow:)
* EOAccess/EORelationship.m (_foreignKeyForSourceRow:, _leftSideKeyMap)
* EOAccess/EODatabaseContext.h (databaseOperationForObject:)
(databaseOperationForGlobalID:, recordDatabaseOperation:)
(_openChannelWithLoginPanel:)
* EOAccess/EODatabaseContextPriv.h (primaryKeyForObject:)
(_currentCommittedSnapshotForObject:)
* EOAccess/EOEntityPriv.h (_keyMapForRelationshipPath:)
(_keyMapForIdenticalKeyRelationshipPath:, _mapAttribute:)
(_relationshipPathIsToMany: valueForSQLExpression:)
(_parsePropertyName:, classPropertyAttributeNames)
(classPropertyToManyRelationshipNames)
(classPropertyToOneRelationshipNames, dbSnapshotKeys)
* EOAccess/EOUtilities.m (rawRowsForEntityNamed:qualifierFormat:)
(rawRowsMatchingValue:forKey:entityNamed:)
(rawRowsMatchingValues:entityNamed:, rawRowsWithSQL:modelNamed:)
(rawRowsWithStoredProcedureNamed:arguments:)
(executeStoredProcedureNamed:arguments:, databaseContextForModelNamed:)
(primaryKeyForObject:)
(destinationKeyForSourceObject:relationshipNamed:)
* EOAccess/EOEntity.m
(_mapAttribute:toDestinationAttributeInLastComponentOfRelationshipPath:)
* EOAccess/EOAdaptor.h (adaptorWithModel:,adaptorWithName:)
* EOAccess/EOModel.h (_classDescriptionNeeded:,_entityForClass:)
(_addEntityWithPropertyList:)
* EOAdaptors/Postgres95/Postgres95Channel.h
(_evaluateExpression:withAttributes:)
* EOControl/EOMutableKnownKeyDictionary.h/m (arrayMappingForKeys:)
(subsetMappingForSourceDictionaryInitializer:sourceKeys:destinationKeys:)
(subsetMappingForSourceDictionaryInitializer:)
(setObject:forKey:, removeObjectForKey:, indexForKey:, objectForKey:)
* EOControl/EOEditingContext.m (handleErrors:,setSharedEditingContext:)
(faultForRawRow:entityNamed:)
* GDL2Palette/KeyWrapper.h (setKey:, _key):
* EOModeler/EOModelerEditor.h (selectionWithinViewedObject)
* EOModeler/EOModelerEditor.m (initWithDocument:)
(initWithParentEditor:)
Correct method signatures. Add necessary forward @class declations.
* EOInterface/EOMasterDetailAssociation.m (establishConnection):
* DBModeler/ModelerTableEmbedibleEditor.m
(addDefaultTableColumnsForTableView:displayGroup:)
* DBModeler/DefaultColumnProvider.m (setupTitleForColumn:named:)
Cast types to avoid compiler warnings.
* EOControl/EOCheapArray.m (dealloc): Supress compiler warning.
* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m (dealloc)
* EOModeler/EOModelerEditor.m (dealloc):
* DBModeler/ModelerAttributeEditor.m (dealloc): Add missing call
to super.
* DBModeler/Preferences.m (sharedPreferences): Fix implementation for
new compiler semantics.
* EOControl/EOMultiReaderLock.m (init): Correct NSConditionLock
initialization.
* EOInterface/EOInterface.gsdoc: New file.
* EOInterface/GNUmakefile: Update variables to build documentation.
* EOAccess/EOAccess.gsdoc: Specify title.
* EOControl/EOControl.gsdoc: Ditto.
* GDL2.gsdoc: Use sections allowed by DTD. Remove reference to
MulleEOInterface.
* README: Update dependencies. Remove reference to external
EOInterface implementation. Update comments about DBModeler.
* NEWS: Mention major features of current release.
2006-09-07 Matt Rice <ratmice@yahoo.com>
* DBModeler/Resources/DBModeler.tiff: New file.
* DBModeler/Resources/Locking_Header.tiff: Ditto.
* DBModeler/Resources/Key_On.tiff: Add check box background.
* DBModeler/Resources/Info-GNUstep.plist: Update info panel copyright.
* DBModeler/ModelerEntityEditor.m (-dealloc): Don't set the datasource
to nil, its handled in EODisplayGroup -dealloc.
2006-05-09 Matt Rice <ratmice@yahoo.com>
* EOInterface/EOAssociation.m (-establishConnection): Simplify to
allow posing.
(-canBindAspect:displayGroup:key:): Return YES by default.
* EOInterface/EOTextAssociation.m: Minor formatting issue. Include
privat header:
(-subjectChanged): Set empty string when nil/null value is set.
* EODisplayGroup.m (-initWithCoder:): Fetch when auto fetch is enabled.
(-setObjectArray:): Select new selected objects.
(-redisplay): Don't call notifyObserversObjectWillChange: explicitly.
(-setSelectionIndexes:): Implement displayGroup:didChangeSelection:
handling.
(-selectObjectsIdenticalTo:): Reimplement.
(-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto.
(-deleteSelection): Ditto.
(-insertObject:atIndex:): Fix redisplay timing with respect to
delegate.
(-deleteObjectAtIndex:): Implement.
(-association:failedToValidateValue:forKey:object:errorDescription:)
Ditto.
(-editorHasChangesForEditingContext:): Ditto.
(-editingContextWillSaveChanges:): Ditto.
(-setValue:forObjectAtIndex:key:): Validate index range.
(-objectsChangedInEditingContext:): Add workaround until issues
can be investigated.
* EOInterface/EOMasterDetailAssociation.m (subjectChanged): Qualify
datasource's relationship independent of selected object.
* EOInterface/EOTableViewAssociation.m (associationClassesSuperseded):
Implement.
(subjectChanged): Reimplement.
(tableViewSelectionDidChange:): Ditto.
* EOModeler/EOMInspector.h
* EOModeler/EOMInspector.m: Cleanups.
(selectedObjects): Reimplement.
(selectedObject): Return last viewed path if no selection was made.
* EOModeler/EOModelerDocument.m: Reimplement.
* EOModeler/EOMInspectorController.m (init): Ditto.
(-_selectionChanged:): Ditto.
(-_selectInspector:): Implement and renamed from selectInspector:.
* EOModeler/EOModelerEditor.h
* EOModeler/EOModelerEditor.m: Add documentation.
(-initWithDocument:): Initialize instance variable.
(-debugSelectionPath): Implement.
(-[EOModelerCompoundEditor initWithDocument:]): Remove
initializtation.
(-[EOModelerCompoundEditor selectionDidChange]): Implement.
(-[EOModelerCompoundEditor setSelectionPath:]): Call
selectionDidChange instead of sending notifcation directly.
(-[EOModelerCompoundEditor viewSelectedObject]): Implement.
(-[EOModelerEmbedibleEditor dealloc]): Implement.
(-[EOModelerEmbedibleEditor initWithParentEditor:]): Observe
EOMSelectionChangedNotification.
DBModeler/ConsistencyChecker.m (+modelConsistencyCheck:): Honor
validation preferences.
DBModeler/Modeler.m (-new:): Reimplement.
(-setAdaptor:): Bail out it adaptor cannot be located.
(-application:openFile:): Fine tune path checking and correct return
values.
(-openPrefs:): Implement.
* DBModeler/Inspectors/RelationshipInspector.m
(-displayName): Implement.
(-selectedEntity): Validate selected row before commencing.
(-selectedDestinationAttribute): Reimplement.
(-updateConnectButton): Update enabled state of connect button.
(-refresh): Correct handling of src/destAttrib_tableView.
(-tableViewSelectionDidChange:): Allways call updateConnectButton.
* DBModeler/SQLGenerator.m (-openSQLGenerator:): Reimplement.
(-executeSQL:): Handle invalid adpator or connection information.
(-saveAs:): Handle abort correctly.
(-generate): Handle missing expression class.
* DBModeler/ModelerTableEmbedibleEditor.h
* DBModeler/ModelerEntityEditor.m (initWithParentEditor:): Correct
autoresize behavior.
(-activate): Update selection.
(-needToFetch:): Do not reloadData in _topTable.
(-displayGroupDidChangeSelection:): Update selection on parent.
* DBModeler/ModelerTableEmbedibleEditor.m
(-addDefaultTableColumnsForTableView:displayGroup:): Call tile instead
of sizeToFit.
* DBModeler/EOAdditions.m: Fix leaks.
(setIsClassProperty): Reimplement.
(-[setIsPrimaryKey:]): Ditto.
(-[setIsClassProperty:]): Correct call to function.
(-[isUsedForLocking]): Implement.
(-[setIsUsedForLocking:]): Ditto.
* DBModeler/MainModelEditor.h
* DBModeler/MainModelEditor.m: Update view handling.
* DBModeler/DefaultColumnProvider.m: Update handling of properties.
* DBModeler/ModelerAttributeEditor.m: Update general GUI interaction.
* DBModeler/Preferences.h: New file.
* DBModeler/Preferences.m: Ditto.
* DBModeler/Inspectors/RelationshipInspector.tiff: New file.
* DBModeler/Inspectors/GNUmakefile: Add new file.
* DBModeler/Resources/Preferences.gorm: New files.
* DBModeler/Resources/Key_Header.tiff: Ditto.
* DBModeler/Resources/ClassProperty_Header.tiff: Ditto.
* DBModeler/Resources/Locking_On.tiff: Ditto.
* DBModeler/Resources/Key_On.tiff: Ditto.
* DBModeler/GNUmakefile: Add new files.
* GDL2Palette/KeyWrapper.h: New file.
* GDL2Palette/KeyWrapper.m: Ditto.
* GDL2Palette/ConnectionInspector.h
* GDL2Palette/ConnectionInspector.m (init): Initialize _values.
(-awakeFromNib): Update handling of horizontal scroller.
(-_associationClassesUsableWithObject:): Implement.
(-setObject:): Fix assignment issues.
(-_keysFromClassDescription:): Implement.
(-_keysFromArray:): Ditto.
(-updateValues): Reimplement.
(-_oaBrowserAction:): Ditto.
(-browser:numberOfRowsInColumn:): Refine implementation.
(-browser:willDisplayCell:atRow:column:): Reimplement.
(-ok:): Update associations in active document.
* GDL2Palette/ResourceManager.m (defaultEditingContext): Try to find
defaultEditingContext in document objects.
(addResourcesFromPasteboard:): Reimplement.
* GDL2Palette/Foundation+Categories.m:
(arrayWithObjectsRespondingYesToSelector:): Fix leak.
(arrayWithObjectsRespondingYesToSelector:withObject:): Ditto.
* GDL2Palette/GNUmakefile: Use PALETTE_LIBS instead of
ADDITIONAL_LDFLAGS to link libraries. Add new files.
* GDL2Palette/GDL2Palette.tiff: New file.
* GDL2Palette/GDL2ConnectionInspector.gorm: New files.
2006-05-09 Matt Rice <ratmice@yahoo.com>
David Ayers <ayers@fsfe.org>
* configure.ac (gorm-palette): Add configure option to exclude
building of palette until auto detection works reliably.
* config.make.in: New file.
* configure: Regenerate.
* GNUmakefile: Include new file.
* Makefile.postamble: Remove generated config.make on distclean.
2006-04-24 David Ayers <d.ayers@inode.at>
* EOControl/EOGenericRecord.m
([_getValueForKey:selector:type:size:offset:]): Replace deprecated use
of GSObjCGetValue with GSObjCGetVal.
([_setValueForKey:selector:type:size:offset:]): Replace deprecated use
of GSObjCSetValue with GSObjCSetVal.
* EOControl/EOKeyValueCoding.m
([NSObject takeValue:forKey:]): Replace deprecated use of
GSObjCSetValue with GSObjCSetVal.
[Report #16429]
* EOAdaptors/Postgres95/Postgres95Private.m
(PSQLA_postgresCalendarFormat): Change format from to include
milliseconds suggested by: Sergey Golovin, svgol at mail dot ru.
2006-03-19 Matt Rice <ratmice@yahoo.com>
* EOControl/EODetailDataSource.m (-editingContext): Return the master
data sources editing context.
* EOControl/EOGlobalID.m (-description): Correct conversion
specification.
* EOAccess/EOModel.m (-referencesToProperty:): Implement.
* EOAccess/EORelationship.m (-referencesProperty:): Fix bug in or when
sending messages to nil.
(-validateName:): Return nil if the name is the properties current name.
* EOAccess/EOModel.m (-validateName:): Ditto.
* EOAccess/EOEntity.m (-validateName:): Ditto.
(-relationships): Handle partially converted relationships array.
(-addAttribute:): Remove unnecessary cast.
(-addRelationship:): Ditto.
(-removeAttribute): Remove property from the class properties and
primary key attributes arrays.
(-removeRelationship:): Remove property from the class properties
array.
(-_setIsEdited:): Rebuild _relationshipsByName.
* EOAdaptors/Postgres95/Postgres95SQLExpression.m: Fix warning.
* EOAdaptors/Postgres95/Postgres95Values.m: Remove c99 usage.
* EOAccess/EOEntity.m (-relationships): Fix whitespace from previous
commit.
2005-12-18 Matt Rice <ratmice@yahoo.com>
* EOAdaptors/Postgres95/LoginPanel/postgreslogo.tif: New file.
* EOAdaptors/Postgres95/LoginPanel/GNUmakefile: Add postgreslogo.tif
* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.[h/m]: Show
logo, and make the login panel more visually appealing. Switch
databases table view to a NSComboBox.
* DBModeler/KVDataSource.m: Return nil in unimplemented methods with
return values.
* EOAdaptors/Postgres95/Postgres95Adaptor.m: Add braces to typeNames
to avoid warnings
2005-12-18 David Ayers <d.ayers@inode.at>
* AUTHORS: Add Matt Rice.
* GDL2.gsdoc: Ditto.
* EOControl/EOMultiReaderLock.[h/m]: New files.
* EOControl/EOControl.h: Add EOMultiReaderLock.h.
* EOControl/GNUmakefile: Add EOMultiReaderLock.h/m.
* EOAccess/EOAttribute.m: Translate comment to avoid
non-ASCII encoding.
* EOControl/EOEvent.[hm]: New files.
* EOControl/EOEventCenter.[hm]: New files.
* EOControl/EOControl.h: Add EOEvent.h and EOEventCenter.h.
* EOControl/GNUmakefile: Add EOEvent.h/m and EOEventCenter.h/m.
* EOControl/EOGlobalID.m (-[EOGlobalID copyWithZone:]): Optimize
to return self as GIDs are immutable and they are used as dictionary
keys which are generally copied.
(-[EOTemporaryGlobalID copyWithZone:]): Remove.
(-[EOTemporaryGlobalID description]): Implement.
* EOControl/EOKeyGlobalID.m (-[EOKeyGlobalID copyWithZone:]): Remove.
* EOControl/EOEditingContext.m (-[forgetObject:]: Clear registered
snapshots.
2005-12-05 David Ayers <d.ayers@inode.at>
* EOControl/EOQualifier.m (getKey): Fix parsing of 'nil'
EOKeyValueQualifiers.
2005-11-30 David Ayers <d.ayers@inode.at>
* EOControl/EOQualifier.m (cimSEL, spaceSet, alnumSet, digitSet)
(spaceCIM, alnumCIM, digitCIM): New static globals for unichar
handling.
([+initialize]): Initialize new variables.
(getOperator, getKey, isNotQualifier, whichQualifier): Use
unichar instead of char.
([+qualifierWithQualifierFormat:varargList:]): Ditto.
(_isLike): Handle unichar characters.
2005-11-28 David Ayers <d.ayers@inode.at>
* EOControl/EOSharedEditingContext.[hm]: New files.
* EOControl/EOEditingContext.[hm]: Use EOSharedEditingContext.
(sharedEditingContext, setSharedEditingContext:): New methods.
(-initWithParentObjectStore:): Handle EOSharedEditingContext.
(-dealloc, -faultForGlobalID:editingContext:): Ditto.
(-objectForGlobalID:, -globalIDForObject:): Ditto.
(-initializeObject:withGlobalID:editingContext:): Ditto.
(-refaultObject:withGlobalID:editingContext:): Ditto.
(-_processInitializedObjectsInSharedContext:): New method.
(-_defaultEditingContextNowInitialized:): Ditto.
(-_objectsInitializedInSharedContext:) Ditto.
(-_defaultSharedEditingContextWasInitialized:) Ditto.
* EOControl/EOControl.h: Added EOSharedEditingContext.h.
* EOControl/GNUmakefile: Added EOSharedEditingContext.[hm].
2005-11-02 David Ayers <d.ayers@inode.at>
* EOAdaptors/Postgres95/Postgres95Adaptor.m (typeNames): Add
serial and serial8 from patch 1777 from Simon Stapleton.
2005-10-02 David Ayers <d.ayers@inode.at>
* EOControl/EOAndQualifier.m,
* EOControl/EOKeyComparisonQualifier.m,
* EOControl/EOKeyValueQualifier.m,
* EOControl/EOOrQualifier.m: ([-description]) Make qualifiers
user presentable like in WO.
(-[debugDescription]): New deprecated method for old description.
* EOControl/EOKeyValueCoding.h/m
(unableToSetNullForKey:): Remove deprecated -base/Foundation hook.
(setNilValueForKey:) Override new hook to call unableToSetNilForKey:.
(unableToSetNilForKey:): Raise exception as documented.
(takeValue:forKey:): Implement here to avoid deprecation warning.
(takeValue:forKeyPath:): Ditto.
(takeValuesFromDictionary:): Ditto.
2005-08-25 Manuel Guesdon <mguesdon@orange-concept.com>
* EOAccess/EOSQLQualifier.m: change in EOAndQualifier and
EOOrQualifier -schemaBasedQualifierWithRootEntity to allow
nil schemaBasedQualifier.
fix in EOKeyValueQualifier -schemaBasedQualifierWithRootEntity:
to handle key like rel1.rel2.rel3 (see Testsuite
EOKeyValueQualifier01.m)
* EOAccess/EOSQLExpression.m: added NSAssert in
-sqlStringForKeyValueQualifier:
* EOAccess/EORelationship.m: added NSAssert in setDefinition:
2005-08-24 Manuel Guesdon <mguesdon@orange-concept.com>
* EOControl/EOEditingContext.m: fix _processRecentChanges
for insert+delete before saving changes (see EOEditingContext03
in Testsuite)
2005-08-23 Manuel Guesdon <mguesdon@orange-concept.com>
* EOAdaptors/Postgres95/Postgres95Private.m: added
PSQLA_NSDateClass initialization in PSQLA_PrivInit()
* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
fix initialized in +initialize
2005-08-23 Manuel Guesdon <mguesdon@orange-concept.com>
* EOControl/EOGenericRecord.m: fix -willChange call (don't call
it for takeStoredValue:forKey and for -setXX method).
* EOControl/EOClassDescription.m: check if value is not
already set before adding/setting it in
_setObject:forBothSidesOfRelationshipWithKey: and
addObject:toBothSidesOfRelationshipWithKey:
* EOAccess/EOAttribute.m: log in -validateValue:
2005-08-17 David Ayers <d.ayers@inode.at>
* COPYING.LIB: Update to LGPL 2.1.
* configure: Regenerate.
* Update FSF Address and Copyright years.
* EOControl/EOEditingContext.m ([-_processRecentChanges]):
Invert logic for propagating deletes.
([-saveChanges]): Propagate deletes if they were not
propagated yet.
* EOControl/EOPrivate.h (EOHashAddTable): New compatibility
function.
* EOAccess/EODatabaseContext.m ([-dealloc], [-rollbackChanges])
([-_cleanUpAfterSave]): Guard against missing hash table.
([-registerLockedObjectWithGlobalID:]): Reformat.
2005-07-10 Matt Rice <ratmice@yahoo.com>
* DBModeler/Modeler.m (_newDocumentWithModel:): Don't release the
model.
(-new:): Release the model here.
(-newFromDatabase:): Ditto, and add error handling.
(-open:): Ditto.
(-application:openFile:): New method.
* EOModeler/EOModelerDocument.m (-saveAs:): Add error handling, and
remove check for an existing name.
2005-07-10 Peter Cooper <comrade@obverse.com.au>
* DBModeler/GNUmakefile: Add Info-gnustep.plist to project.
2005-07-10 Peter Cooper <comrade@obverse.com.au>
* DBModeler/Resources/Info-gnustep.plist: New file.
* DBModeler/Modeler.m (-applicationWillFinishLaunching:): Rearrange
menu layout.
2005-07-09 Matt Rice <ratmice@yahoo.com>
* DBModeler/ConsistencyChecker.m: New variable doc.
(+endConsistencyCheck:): Use the notification object. Use unsigned for
array iterators.
(pass): Use the new doc variable.
(+attributeDetailsCheck:): Use unsigned for array iterators.
(+inheritanceCheckForModel:, +relationshipCheckForModel:): Ditto.
(+primaryKeyCheckForModel:, +externalNameCheckForModel): Ditto.
(+modelConsistencyCheck:): Assign doc to the notification object.
2005-07-09 Matt Rice <ratmice@yahoo.com>
* EOModeler/EOMInspectorController.m (-init): Don't release the window
on close.
(_selectionChanged:): Fix view swapping. Set view as needing display.
* EOModeler/EOModelExtensions.m:
(+mutableAttributedStringWithBoldSubstitutionsWithFormat:): Implement.
* EOModeler/EOModelerApp.h: Add -removeDocument:, -documentAtPath:,
and -loadDocumentAtPath: methods.
* EOModeler/EOModelerApp.m (-init:): Add parentheses around
assignment.
(-allPasteboardTypes): Initial implementation.
(-removeDocument:): If removing the active document, set the active
document to nil.
(-documentWithPath:): Change array iterators to unsigned.
(-registerColumNames:forClass:provider:): Ditto.
(-modelContainingFetchSpecification:): Temporarily return nil.
(-nameForFetchSpecification:): Ditto.
* EOModeler/EOModelerDocument.h: Declare consistency check
notification constants. Add -adaptor, -appendConsistencyCheckErrorText:,
-appendConsistencyCheckSuccessText:, -addEntity:, -addRelationship,
-addAttribute and -delete.
* EOModeler/EOModelerDocument.m: Add consistency check notification
constants. Add private category interface.
(-firstSelectionOfClass:): Change array iterators to unsigned.
Remove debugging logs.
(-validateMenuItem:): Initial implementation.
(-initWithModel:): Add parentheses around assignment. Add the model
to the default model group.
(-dealloc, -delete:): Initial implementation.
(-isDirty, -prepareToSave,-checkCloseDocument): Return no temporarily
until implemented.
(-saveToPath:): Break long messages into separate lines.
(-addDefaultEditor:, -addEntity:, -addAttribute:): Ditto.
(-addRelationship:, ):
(-activate): Remove commented out code.
(-closeEditor:, -checkCloseEditor:): Add comments.
(-canFlattenSelectedAttribute): Add temporary return value.
(-windowWillClose:): Remove self from the open documents.
(-checkConsistency:): Implement.
(-appendConsistencyCheckErrorText:): Ditto.
(-appendConsistencyCheckSuccessText:): Ditto.
* EOModeler/EOModelerEditor.m (-initWithDocument:): Add parentheses
around assignment. Don't retain our document.
(-selectionPath:, -viewedObjectPath): Return nil.
(-[EOModelerCompoundEditor dealloc]): Implement.
(-[EOModelerCompoundEditor initWithParentObject:): Add parentheses
around assignment.
(-[EOModelerEmbedibleEditor pathViewPreferenceHint:): Return nil.
* EOModeler/GNUmakefile: Remove extra whitespace.
2005-07-08 Matt Rice <ratmice@yahoo.com>
* EOInterface/EOAssociation.m: New variable _objectToAssociations.
(+objectDeallocated:): New private method.
(+initialize): initialize _objectToAssociations.
(-dealloc): Discard any pending notifications.
(-establishConnection): Retain display groups we're bound to.
Retain our self and register our object for dealloc notification.
(-breakConnection): Release display groups we're bound to. Release
our self and discard any pending notifications.
(-subjectChanged): Add comment
* EOInterface/EOColumnAssociation.m (-establishConnection): Assign our
dg ivar after establishing connection. Use the dg ivar and move 2 if
statements into one.
* EOInterface/EODisplayGroup.m: Remove debugging class/category for
emptyArray and emptyDictionary.
(-indexesForObjectsIndeticalTo:): Fix typo by renaming to
-indexesForObjectsIdenticalTo:.
(-dealloc): Remove our self as an observer for any notifications,
as an editor or message handler for our editing context, our observer
proxies as observers from the observer center. Don't release
array/dictionary ivars that are emptyArray or emptyDictionary.
(-setSelectionIndexes:): Update to reflect change in method name.
(-deleteSelection): Remove unused local var.
(-fetch:): Call -redisplay.
(-updatedObjectIndex:): Return -1 instead of 0 until this is
implemented.
(-setValue:forObject:key:): fix comment in exception handlers.
* EOInterface/EOGenericControlAssociation.m:
(-subjectChanged:): Remove unused local variable.
* EOMasterDetailAssociation.m:
(-establishConnection, -breakConnection, -subjectChanged): Implement.
* EOInterface/EOPopUpAssociation.m: Remove unused local variables.
* EOInterface/EOTableViewAssociation.m:
(-breakConnection:): Remove our NSTableView object from the map table.
(-subjectChanged:): Remove unused local variables. Release temporary
retain on selection indexes.
(+bindToTableView:displayGroup:): Don't retain the table views in the
map table. Release the newly created association.
(-dealloc): Remove self from the tvAssociationMap.
* EOInterface/SubclassFlags.h: Fix bitmask on MatchKey1AspectMask.
2005-07-08 Matt Rice <ratmice@yahoo.com>
* DBModeler/AdaptorsPanel.m (-init): Add parenthesis around assignment.
Replace label with window title.
(-runAdaptorsPanel:): Remove unused variable.
* DBModeler/DefaultColumnProvider.m: Add missing braces, remove unused
ivars.
(-cellForColumnNamed:): Autorelease cells.
* DBModeler/EOAdditions.m: New EOAttribute KVC methods -allowNull and
-setAllowNull:.
* DBModeler/GNUmakefile: Add new to project.
* DBModeler/KVDataSource.m (-createObject:): Return nil after throwing
exception.
* DBModeler/MainModelEditor.m
(-dragImageForRows:event:dragImageOffset:):: Enable drag and drop for
relationships.
(-initWithDocument:): Add parenthesis around assignment. Don't release
the document window on close.
(-ecStuff:): temporarily reload everything in the outline view when
something changes.
(-viewSelectedObject:): Remove NSLog. Rewrite editor activation.
Fix leaks.
* DBModeler/Modeler.m (-applicationWillFinishLaunching:): Add new menu
items. Don't order our menu in.
(-new:,-open:): Move document initializition to _newDocumentWithModel:.
(-_newDocumentWithModel:,-newFromDatabase:): New methods.
(-validateMenuItem:,-generateSQL:): Ditto.
* DBModeler/ModelerAttributeEditor.m (-initWithParentEditor:): Remove
unused variables.
(-displayGroupDidChangeSelection:): return early if there is no longer
a selection.
* DBModeler/ModelerEntityEditor.m:
(-canSupportCurrentSelection): Remove NSLog.
(-displayGroupDidChangeSelection:): Ditto.
(-dealloc:): New method.
(-initWithParentEditor:): Remove unused variables. Add parens around
assignment. Release local variables.
* DBModeler/ModelerTableEmbedibleEditor:
(-addDefaultTableColumnsForTableView:displayGroup:): Release table
columns.
(-addTableColumnForItem:tableView:): Ditto.
* DBModeler/Inspectors/RelationshipInspector.m:
(-selectedEntity, -selectedDestinationAttribute): New methods.
(-selectedSourceAttribute, -indexOfSourceAttribute:): Ditto.
(-indexOfDestinationAttribute:,joinWithSource:destination:): Ditto.
(-selectedJoin:,updateConnectButton,): Ditto.
(-refresh): Rewrite using new methods.
(-numberOfRowsInTableView:): Add fallback return value.
(-tableView:objectValueForTableColumn:row:): Ditto.
(-tableView:selectionDidChange:): If a source or destination attribute
is now selected, select its counterpart.
(-tableView:shouldSelectRow:): New method to disallow entity selection
if there is a destination entity.
(-tableView:willDisplayCell:forTableColumn:row:): New method, set the
cell text color to disabled text color, if we would disallow
selection.
(-connectionChanged:): Implement disconnection.
* DBModeler/SQLGenerator.h/m: New files initial implementation.
* DBModeler/Resources/SQLGenerator.gorm: Ditto.
* DBModeler/ConsistencyChecker.h/m: Ditto.
* DBModeler/ConsistencyResults.h/m: Ditto.
* DBModeler/ConsistencyResults.gorm: Ditto.
2005-07-03 Matt Rice <ratmice@yahoo.com>
* EOAccess/EOAdaptorContext.h/m (-channels:): New method.
* EOAccess/EOSQLExpression.m
(-_administrativeDatabaseStatementsForSelector:forEntityGroup:):
Comment out login panel.
* EOAccess/EOUtilities.m: Dont declare EOMoreThanOneException and
NSObjectNotAvailableException as static.
* EOControl/EOPrivate.h: Declare new class GDL2NonRetainingMutableArray
and -registerAssociationForDeallocHack method.
* EOControl/EOPrivate.m: New class GDL2NonRetainingMutableArray.
* EOControl/EOEditingContext.m:
(EOEditingContext -initWithParentObjectStore:): initialize _editors
ivar with a non retaining array.
(-dealloc): Remove the editing context as an observer for registered
objects.
(-[NSObject(DeallocHack) dealloc]): for associations, remove the
association and object from the private hash table.
(-[NSObject(DeallocHack) registerAssociationForDeallocHack]): New
method.
* EOControl/EOObserver.m (EOObserverCenter): Replace GSIArray usage
with GDL2NonRetainingMutableArray.
(+addObserver:forObject:, +removeObserver:forObject:): Ditto.
(+initialize, +notifyObserversObjectWillChange:): Ditto.
(+observersForObject:, +observerForObject:): Ditto.
(+addOmniscientObserver:, +removeOmniscientObserver:): Ditto.
(EOObserverProxy -initWithTarget:action:priority:): Don't retain
target.
(EOObserverProxy -dealloc:): Discard pending notifications.
2005-06-26 David Ayers <d.ayers@inode.at>
* EOControl/EODetailDataSource.m (masterClassDescription):
Only resort to EOClassDescription if _masterClassDescriptionName
is set. Otherwise ask the _masterDataSource for its
classDescriptionForObjects.
2005-06-17 Matt Rice <ratmice@yahoo.com>
* EOAccess/EOEntity.m (-_setModel:): Accept nil argument, comment.
* EOAccess/EOModel.m (-removeEntity:): Comment.
2005-05-18 Matt Rice <ratmice@yahoo.com>
* EOControl/EOObserver.m (EOObserverCenter): Don't retain observers.
Use a GSIArray instaed of NSMutableArray.
(+addObserver:forObject:, +removeObserver:forObject:): Ditto.
(+initialize, +notifyObserversObjectWillChange:): Ditto.
(+observersForObject:, addOmniscientObserver:): Ditto.
(+removeOmniscientObserver:): Ditto.
2005-05-17 Matt Rice <ratmice@yahoo.com>
* GNUmakefile: remove GDL2Palette from top level compilation.
* GDL2Palette/GNUmakefile: Fix compilation flags, include gdl2.make
relative not the installed version.
* DBModeler/GNUmakefile: Ditto.
2005-05-11 Matt Rice <ratmice@yahoo.com>
* GNUmakefile: Compile EOInterface, EOModeler, DBModeler, GDL2Palette
if gui is installed.
* EOModeler/EOModelExtensions.h: Update copyright header.
* EOModeler/EOModelExtensions.m: Ditto.
* EOModeler/GNUmakefile: Make EOModeler a native-library, add new files.
* EOModeler/Makefile.preamble: Change link flag to use FND_LIBS.
* EOModeler/EODefines.h: New file, initial implementation.
* EOModeler/EOMInspector.h/m: Ditto.
* EOModeler/EOMInspectorController.h/m: Ditto.
* EOModeler/EOModelerApp.h/m: Ditto.
* EOModeler/EOModelerDocument.h/m: Ditto.
* EOModeler/EOModelerEditor.h/m: Ditto.
* DBModeler: New directory.
* DBModeler/COPYING: New file...
* DBModeler/AdaptorsPanel.h/m: New files.
* DBModeler/DefaultColumnProvider.h/m: Ditto.
* DBModeler/EOAdditions.h/m: Ditto.
* DBModeler/KVDataSource.h/m: Ditto.
* DBModeler/MainModelEdtior.h/m: Ditto.
* DBModeler/Modeler.m: Ditto.
* DBModeler/ModelerAttributeEditor.h/m: Ditto.
* DBModeler/ModelerTableEmbedibleEditor.h/m: Ditto.
* DBModeler/main.m: Ditto.
* DBModeler/GNUmakefile: Ditto.
* DBModeler/Resources: New directory.
* DBModeler/Resources/ModelDrag.tiff: New file.
* DBModeler/Resources/ClassProperty_On.tiff: Ditto.
* DBModeler/Resources/Key_On.tiff: Ditto.
* DBModeler/Inspectors: New directory.
* DBModeler/Inspectors/RelationshipInspector.h/m: New files.
* DBModeler/Inspectors/AttributeInspector.h/m: Ditto.
* DBModeler/Inspectors/RelationshipInspector.gorm: New gorm directory.
* DBModeler/Inspectors/AttributeInspector.gorm: Ditto.
* GDL2Palette: New directory.
* GDL2Palette/GNUmakefile: New file.
* GDL2Palette/ConnectionInspector.h/m: Ditto.
* GDL2Palette/Foundation+Categories.h/m: Ditto.
* GDL2Palette/IB+Categories.m: Ditto.
* GDL2Palette/Palette.h/m: Ditto.
* GDL2Palette/ResourceManager.h/m: Ditto.
* GDL2Palette/GDL2ConnectionInspector.gorm: Ditto.
* GDL2Palette/GDL2Palette.tiff: Ditto
* GDL2Palette/palette.table
2005-05-12 Matt Rice <ratmice@yahoo.com>
* ChangeLog: Fix previous ChangeLog entry.
* EOInterface/EOActionAssociation.m: Implemented aspects enabled and
action.
(-establishConnection): Implement
(-breakConnection, -subjectChanged, -action): Ditto.
* EOInterface/EOAssociation.m (-associationClassesForObject:): Fixed
argument passed to -isUsableWithObject:. Assign count
(-init): Assign self.
(-establishConnection:): Add unused local variable to pass to
NSNextMapEnumeratorPair instead of 0.
(-breakConnection:): Ditto.
(-initWithCoder:, -encodeWithCoder:): Initial implementation of
methods.
(-valueForAspect:,-setValue:forAspect:,-valueForAspect:atIndex:): Ditto.
(-setValueForAspect:atIndex:): Ditto.
* EOInterface/SubclassFlags.h: New file.
* EOInterface/EOAspectConnector.h/m: New file and implementation.
* EOInterface/EOColumnAssociation.m: Implemented aspects value and
enabled
(-objectKeysTaken): Take identifier key.
(-establishConnection, -breakConnection, -endEditing): Implement
methods.
(-tableView:setObjectValueForTableColumn:row:): Ditto.
(-tableView:objectValueForTableColumn:row:): Ditto.
(-tableView:willDisplayCell:forTableColumn:row:): Ditto.
(-control:didFailToFormatString:errorDescription:): Ditto.
(-control:textShouldBeginEditing:): Ditto.
* EOInterface/EOControlAssociation.m: (-control): Ditto
(-editingAssociation, -establishConnection, -breakConnection): Ditto.
* EOInterface/EOGenericControlAssociation.m: Implemented aspects value
and enabled.
(+objectKeysTaken): add target key.
(-establishConnection: -breakConnection:, -subjectChanged:): Ditto.
(-_action:, -endEditing, -control:textShouldBeginEditing:): Ditto.
* EOInterface/EOMatrixAssociation.m: Implemented aspects image, title,
and enabled.
(-establishConnection, -breakConnection, -subjectChanged): Ditto.
* EOInterface/EOPopUpAssociation.m: Implemented aspects titles,
selectedTitle, selectedTag, selectedObject, enabled.
(-initWithObject:, -_action:): Implemented method.
(-establishConnection:, -breakConnection, -subjectChanged): Ditto.
* EOInterface/EORadioMatrixAssociation.m: Implemented aspects
selectedTag, selectedTitle, enabled.
(NSCell -_selectCellWithTitle:): Private category.
(-initWithObject:, -_action:): Implemented method.
(-establishConnection:, -breakConnection, -subjectChanged): Ditto.
* EOInterface/EOTableViewAssociation.m: Implemented aspects enabled,
tableView.
(-establishConnection, -breakConnection, subjectChanged): Implement
method.
(-bindToTableView:displayGroup:, -editingAssociation): Ditto.
(-numberOfRowsInTableView:):
(-tableView:setObjectValue:forTableColumn:row:): Ditto.
(-tableView:objectValueForTableColumn:row:): Ditto.
(-tableView:shouldEditTableColumn:row:): Ditto.
(-tableView:willDisplayCell:forTableColumn:row:): Ditto.
(-tableView:selectionDidChange:): Ditto.
(-control:didFailToFormatString:errorDescription:): Ditto.
(-control:isValidObject:, -control:textShouldBeginEditing:): Ditto.
(-dealloc): Ditto.
* EOInterface/EOTextAssociation.m: Implemented aspect value, enabled.
(-establishConnection): Implemented method.
(-breakConnection, -subjectChanged, -endEditing): Ditto.
(-control:isValidObject:,textShouldBeginEditing:): Ditto.
(-textShouldEndEditing:): Ditto.
* EOInterface/GNUmakefile: Make EOInterface a native-library, whitespace
changes.
* EOInterface/Makefile.preamble: Change linker flag to use FND_LIBS
and GUI_LIBS variables.
* EOInterface/EODisplayGroup.h: Comment on whether ivars are retained.
* EOInterface/EODisplayGroup.m:
(DG_SHOULD_CHANGE_SELECTION_TO_IDX): New macros.
(DG_DISPLAY_ARRAY_FOR_OBJECTS, DG_SHOULD_DISPLAY_ALERT): Ditto.
(DG_DID_FETCH_OBJECTS, DG_CREATE_OBJECT_FAILED): Ditto.
(DG_SHOULD_INSERT_OBJECT, DG_DID_INSERT_OBJECT): Ditto.
(DG_DID_CHANGE_SELECTION): Ditto.
(NSArray -indexesForObjectsIdenticalTo:): Implement category method.
(_presentAlertWithTitle:message:): New private methods.
(-_endObserverNotification:): Implement notification observer methods.
(-_beginObserverNotification:): Ditto.
(-objectsInvalidatedInEditingContext:): Ditto.
(-objectsChangedInEditingContext:): Ditto.
(+initialize, -init, -initWithCoder:,): Implement methods.
(-encodeWithCoder:, -setDataSource:, -fetch, -allObjects): Ditto.
(-setObjectArray:, -redisplay, -updateDisplayedObjects): Ditto.
(-selectionIndexes, -setSelectionIndexes, -selectObject): Ditto.
(-selectObjectsIdenticalTo:, -clearSelection, -selectedObjects): Ditto.
(-selectObjectsIdenticalTo:selectFirstOnNoMatch:): Ditto.
(-setSelectedObjects, -selectedObject, -setSelectedObject:): Ditto.
(-insertObjectAtIndex:, -insertObject:atIndex:): Ditto.
(-setInsertedObjectDefaultValues:, -deleteSelection): Ditto.
(-observingAssociations, -endEditing, -fetch:, -insert:): Ditto.
(-selectionChanged, -contentsChanged, -valueForObject:key:): Ditto.
(-selectedObjectValueForKey:, -valueForObjectAtIndex:): Ditto.
(-setValue:forObject:key:, -setSelectedObjectValue:forKey:): Ditto.
(-setValue:forObjectAtIndex:key:, -associationDidBeginEditing:): Ditto.
(-associationDidEndEditing:): Ditto.
2005-05-11 Matt Rice <ratmice@yahoo.com>
* EOAccess/Makefile.preamble: Change link flag to use FND_LIBS variable
defined in base.make
* EOControl/Makefile.preamble: Ditto.
* EOAccess/EODatabaseDataSource.m (-entity): Look for entity with the
fetch specifications entity name in a model group.
(-databaseContext): Return a registered database context.
* EOAdaptors/Postgres95/LoginPanel/Postgres95LoginPanel.m: Cast before
calling -initWithIdentifier to remove warning with gcc 3.4
* EOControl/EOEditingContext.m (-encodeWithCoder:,-initWithCoder:):
initial implementation of methods.
* EOControl/EOClassDescription.m (-snapshot): cast 'value' to get
thwart warnings.
* EOControl/EOFault.m (-superClass): Implement as returning a class.
* Tools/gsdoc-model.m: Include headers alphabetically, include
NSCalendarDate.h to thwart warning.
2005-05-03 David Ayers <d.ayers@inode.at>
* EOControl/EOEditingContext.m (_mutableSetFromToManyArray:):
Add internal documentation. Filter managed objects instead
of attempting to convert gids to objects. Reported by Manuel
Guesdon.
2005-05-03 Manuel Guesdon <mguesdon@orange-concept.com>
* EOControl/EOEditingContext.m:
o fixes in _mergeObject:withChanges:
(IMP initialization, variables (re-)initialization)
o added NSAssert in -_mutableSetFromToManyArray:
2005-04-24 Manuel Guesdon <mguesdon@orange-concept.com>
* EOAccess/EOAttribute.m:
o fixed test error in -newValueForBytes:length:
2005-04-24 Manuel Guesdon <mguesdon@orange-concept.com>
* EOControl/EOPriv.h: added GDL2_allocWithZone()
* EOAccess/EOAttribute.m:
o fixed -validateValue: rewritten following
David Ayers's advices to handle EONull values
validation and fix width validation
o fixed -newValueForBytes:length: retain problems and
wrong invocation target
o fixed -newValueForBytes:length:encoding: retain
problems and wrong invocation target
o added comments and doc
o added allowsNull in EOAttribute -description
* EOControl/EOKeyValueArchiver.m: fixed int and bool
archiving following David Ayers's comments (produce
NSNumber instead of NSString)
2005-04-24 Matt Rice <ratmice@yahoo.com>
* EOAdaptors/Postgres95/Postgres95Adaptor.m: Removed externalTypeNames
and internalTypeNames variables, replaced both with typeNames.
(isValidQualifierType:model:): Use new variable.
(externalToInternalTypeMap:): Ditto.
2005-04-19 David Ayers <d.ayers@inode.at>
Fix bug reported by: jim _at_ uchicago dot edu.
* EOAccess/EOEntity.m (-primaryKeyRootName): Recurse to through
primaryKeyRootName of parent entity.
* EOAdaptors/Postgres95/Postgres95Channel.m
(primaryKeyForNewRowWithEntity:): Use primaryKeyRootName to
construct sequence name.
2005-04-19 Manuel Guesdon <mguesdon@orange-concept.com>
* EOControl/EOKeyValueArchiver.m: implemented EOKeyValueArchiver
* EOControl/EOKeyValueArchiver.h: removed private methods
* EOControl/EOSortOrdering.h: added EOKeyValueArchiving protocol
to EOSortOrdering
* EOAccess/EOAttribute.m: put back David changes in
-adaptorValueByConvertingAttributeValue
added some docs
2005-04-07 Stephane Corthesy <stephane@sente.ch>
* Tools/eoutil.m: Added -excludedEntities option when dumping;
added use of local autorelease pools; splitted SQL execution in
different phases, to allow dropping then re-creating tables, in
one shot; now fetches flattened or derived attributes; now can
dump NSCalendarDate, NSData, NSNumber correctly; no longer tries
to write (in db) flattened or derived or non class-property
attributes; now ignores and log exceptions when -force option is
used.
2005-03-17 Manuel Guesdon <mguesdon@orange-concept.com>
* EOControl/EOFault.m: added instanceMethodForSelector:
to temporary fix defaulting problem with
NSAutoreleasePool optimizations
2005-03-10 David Ayers <d.ayers@inode.at>
* EOControl/EOKeyValueCoding: (-unableToSetNullForKey:): Deprecate
and call unableToSetNilForKey.
(-setNilValueForKey:): Call unableToSetNilForKey.
(-unableToSetNilForKey:): Use default implementation.
2005-03-03 David Ayers <d.ayers@inode.at>
* EOAccess/EODatabaseContext.m (-forgetSnapshotForGlobalID:):
Handle deleted globalIDs correctly.
(-forgetSnapshotsForGlobalIDs:): Ditto.
(-_commitTransaction, -_beginTransaction): Ditto.
(-_rollbackTransaction): Implement.
* EOAccess/EORelationship.m (validateValue:): Document. Remove
unnecessary comments and code. Handle EONulls.
(+initialize): Implement.
(+relationshipWithPropertyList:owner:): Move to top.
2005-03-03 Matt Rice <ratmice@yahoo.com>
David Ayers <d.ayers@inode.at>
* EOAccess/EOEntity.m (initWithPropertyList:owner:): Reformatting
for GNU coding standards.
(-attributes): Fix memory leak. Use global class cache.
Handle partially converted attributes array.
(-_attributeNameChangedFrom:to:): New privat method.
* EOAccess/EOEntityPriv.h (-_attributeNameChangedFrom:to:):
Declare new private method.
* EOAccess/EOAttribute.m (setName:): Call
-[EOEntity _attributeNameChangedFrom:to:] if attribute is in
an EOEntity.
2005-03-02 David Ayers <d.ayers@inode.at>
* EOControl/EOKeyValueCoding.h/m: (-setNilValueForKey:):
Override NSObject's category to invoke -unableToSetNullForKey:.
* EOControl/EOSortOrdering.m: Include EONull.h instead of
NSNull.h.
* EOAccess/EODatabaseChannel.m: Update formatting.
* EOAccess/EOModel.m (setName:): Remove from group before
changing name and readd afterwards.
2005-02-22 David Ayers <d.ayers@inode.at>
* EOAccess/EOAdaptor.m (-hasOpenChannels): Make safe for
unsigned.
* EOAccess/EOAttribute.m, EOAccess/EODatabaseContext.m,
* EOAccess/EOEntity.m, EOAccess/EOSQLExpression.m
* EOAccess/EOPrivate.h, EOAccess/EOPrivate.m,
* EOAccess/EOSQLQualifier.m, EOAccess/EOUtilities.m
* EOControl/EOClassDescription.m, EOControl/EOEditingContext.m
* EOControl/EOGenericRecord.m, EOControl/EOKeyGlobalID.m
* EOControl/EOKeyValueCoding.m, EOControl/EOKeyValueQualifier.m
* EOControl/EOMutableKnownKeyDictionary.m,
* EOControl/EOPrivate.h, EOControl/EOPrivate.m
Unify GDL2 identifiers with GDL2_ prefix. Replace
GDL2NSClass_alloc with GDL2_alloc(NSClass). Replace
GDL2NSClassWith* calls with
AUTORELEASE([GDL2_alloc(NSCLass) initWith* calls]).
Rename GDL2PrivInit to GDL2_PrivateInit.
(GDL2_NSArray, GDL2_NSMutableArray_allocWithZoneIMP)
(GDL2_NSMutableDictionary_allocWithZoneIMP): New globals.
(GDL2_alloc): New macro.
(GDL2NSString_alloc, GDL2NSDecimalNumber_alloc)
(GDL2NSNumber_alloc, GDL2NSCalendarDate_alloc, GDL2NSData_alloc)
(GDL2DataWithBytesAndLength, GDL2MutableArrayWithCapacity)
(GDL2MutableArrayWithArray, GDL2MutableArray, GDL2Array)
(GDL2MutableDictionaryWithCapacity): Remove.
2005-02-20 David Ayers <d.ayers@inode.at>
* EOAccess/EOAccessFault.m: Include NSThread.h.
* EOControl/EOPriv.h/m: Split into...
* EOControl/EOPrivat.h/m: ... and ...
* EOAccess/EOPrivat.h/m: ... files.
* EOAccess/EOAdaptorChannel.m: Include new privat header.
* EOAccess/EOAttribute.m, EOAccess/EODatabase.m,
* EOAccess/EODatabaseChannel.m, EOAccess/EOEntity.m,
* EOAccess/EORelationship.m, EOAccess/EOSQLExpression.m,
* EOAccess/EOSQLQualifier.m, EOAccess/EOUtilities.m: Ditto.
(+initialize): Call new private function.
* EOAccess/EODatabaseContext.m: Ditto.
(EODatabaseContext_snapshotForGlobalIDWithImpPtr)
(EODatabaseContext_globalIDForObjectWithImpPtr): Move to
EOPrivate.m.
* EOAccess/EODatabaseContextPriv.h:
(EODatabaseContext_snapshotForGlobalIDWithImpPtr)
(EODatabaseContext_globalIDForObjectWithImpPtr): Move to
EOPrivate.h.
* EOAccess/GNUmakefile: Compile EOPrivate.m.
* EOControl/EOClassDescription.m, EOControl/EOGenericRecord.m
* EOControl/EOKeyGlobalID.m, EOControl/EOKeyValueCoding.m
* EOControl/EOKeyValueQualifier.m, EOControl/EONSAddOns.m
* EOControl/EOSortOrdering.m: Include new private header.
* EOControl/EOEditingContext.h/m: Ditto.
(EOEditingContext_objectForGlobalIDWithImpPtr)
(EOEditingContext_recordObjectGlobalIDWithImpPtr): Move to
EOPrivate.h/m.
* EOControl/EOMutableKnownKeyDictionary.h/m: Include new private
header.
(EOMKKD_objectForKeyWithImpPtr, EOMKKD_setObjectForKeyWithImpPtr)
(EOMKKD_removeObjectForKeyWithImpPtr, EOMKKD_hasKeyWithImpPtr)
(EOMKKD_indexForKeyWithImpPtr)
(EOMKKDInitializer_indexForKeyWithImpPtr): Move to EOPrivate.m
* EOControl/EOFault.m: (+isFault:): Update comment.
* EOControl/GNUmakefile: Build EOPrivate.m instead of EOPriv.m.
Do not install private header.
* EOAccess/EOPrivate.h, EOAccess/EOPrivate.m,
* EOAccess/EODatabaseContext.m, EOAccess/EOSQLExpression.m,
* EOControl/EOEditingContext.m, EOControl/EOKeyValueCoding.m,
* EOControl/EOMutableKnownKeyDictionary.m,
* EOControl/EOPrivate.h, EOControl/EOPrivate.m: Remove global
selector cache.
2005-02-19 David Ayers <d.ayers@inode.at>
* EOAdaptors/Postgres95/Postgres95Private.m/h: New files
based on EOControl/EOPriv.m/h.
* EOAdaptors/Postgres95/GNUmakefile.in: Build Postgres95Private.m.
* EOAdaptors/Postgres95/Postgres95Adaptor.m: Do not depend on
EOControl/EOPriv.m/h but on own private files.
(+assignExternalInfoForEntity): Use objectAtIndex: instead of
enumerator for speed.
* EOAdaptors/Postgres95/Postgres95Channel.m: (+initialize)
(-lowLevelResultFieldNames:, -fetchRowWithZone:)
(-insertRow:forEntity:, -_describeResults, -describeTableNames)
(-updateValues:inRowsDescribedByQualifier:entity:)
(-_describeBasicEntityWithName:forModel:)
(-_describeForeignKeysForEntity:forModel:)
(-primaryKeyForNewRowWithEntity:): Do not depend on
EOControl/EOPriv.m/h but on own private files. Improve
optimizations.
(pgResultDictionary): Simplify unused static local be reverting
optimizations.
* EOAdaptors/Postgres95/Postgres95SQLExpression.m:
(+initialize, +formatValue:forAttribute:)
(+sqlPatternFromShellPattern:)
(+sqlPatternFromShellPattern:withEscapeCharacter:): Do not depend
on EOControl/EOPriv.m/h but on own private files. Improve
optimizations.
* EOAdaptors/Postgres95/Postgres95Values.h/m
(Postgres95CalendarFormat, Postgres95ValuesClass)
(Postgres95Values_newValueForBytesLengthAttributeSEL)
(Postgres95Values_newValueForBytesLengthAttributeIMP)
(Postgres95Values_newValueForBytesLengthAttribute): Remove.
([NSCalendarDate+setPostgres95Format:]): Remove.
([NSCalendarDate+postgres95Format]): Deprecate.
(LPSQLA_StringDefaultCStringEncoding): New local static.
(+initialize, +newValueForNumberType:length:attribute:)
(+newValueForCharactersType:length:attribute:)
(+newValueForDateType:length:attribute:): Do not depend on
EOControl/EOPriv.m/h but on own private files. Improve
optimizations.
* EOAdaptors/Postgres95/Postgres95Values.m: Remove dependency
on EOAccess/EOAttributePriv.h and EOControl/EONSAddOns.h.
(attrRespondsToValueClass, attrRespondsToValueTypeChar): New
static locals.
(+initialize, +newValueForNumberType:length:attribute:): Remove
dependency and used static locals instead.
* EOAccess/EOAdaptor.m: Consistently use unsigned for array
index variables.
2005-02-18 Matt Rice <ratmice@yahoo.com>
* EOAccess/EOModel.m (-addEntity:, -setName:): Call -willChange:
when modifying the receiver.
(-setConnectionDictionary:, -addEntity:, -removeEntity:): Ditto.
(-addStoredProcedure:, -removeStoredProcedure:, -setAdaptorName): Ditto.
* EOAccess/EOAttribute.m (-setName:, -setProtoType:,): Ditto.
(-setDefinition:, -setReadOnly:, -setWidth:, -setPrecision:): Ditto.
(-setScale:, -setWriteFormat:, -setReadFormat:): Ditto.
(-setParameterDirection:, -setServerTimeZone:): Ditto.
(-setValueFactoryMethodName:): Ditto.
(-setAdaptorValueConversionMethodName:): Ditto.
(-setFactoryMethodArgumentType:): Ditto.
* EOAccess/EOEntity.m (-setRestrictingQualifier:): Ditto.
(-setCachesObjects:, -setReadOnly:, -addAttribute:): Ditto.
(-removeAttribute:, -addRelationship:, -removeRelationship:): Ditto.
(-addFetchSpecification:withName:): Ditto.
(-removeFetchSpecificationNamed:): Ditto.
(-setClassProperties:, -setPrimaryKeyAttributes:): Ditto.
(-setAttributesUsedForLocking:, -addSubEntity:): Ditto.
(-removeSubEntity:, -setIsAbstractEntity:): Ditto.
(-setMaxNumberOfInstancesToBatch:): Ditto.
(-setStoredProcedure:forOperation:): Ditto.
(-setParentEntity:): Ditto, And add comments
* EOAccess/EORelationship.m (setToMany:): Call -willChange when
modifying the receiver
(-setNumberOfToManyFaultsToBatch:, -setDeleteRule:): Ditto.
(-setInverseRelationship:): Ditto and comment.
(-removeJoin:): Move -willChange call after error handling.
* EOAccess/EOStoredProcedure: Include EOObserving headers.
(-setName:, -setExternalName:, -setArguments:): Call -willChange:
when modifying the receiver.
(-setUserInfo:): Ditto.
2005-02-17 David Ayers <d.ayers@inode.at>
* EOAccess/EOEntity.m: Remove unnecessary include.
(-setClassProperties:, -setPrimaryKeyAttributes:)
(-setAttributesUsedForLocking:): Remove unnecessary casts.
* EOAccess/EODatabaseContext.m:
(-_currentCommittedSnapshotForObject:): Fix crash in logging.
(recordChangesInEditingContext): Remove shadowing of local
variable.
2005-02-16 David Ayers <d.ayers@inode.at>
* EOControl/EOClassDescription.m ([NSObject-snapshot]):
Return valid dictionary for EONull.
* EOControl/EONSAddOns.h/m ([NSString-hasShellPatternCharacter]):
Remove.
* EOControl/EOPriv.h/m (GDL2_shellPatternCharacterSet): Remove.
(GDL2PrivInit): Remove usage of GDL2_shellPatternCharacterSet.
* EOControl/EOMutableKnownKeyDictionary.m
([EOMKKDInitializer-arrayMappingForKeys:]): Correct call to
GDL2ObjectAtIndexWithImp.
([EOMKKDInitializer-subsetMappingForSourceDictionaryInitializer:
sourceKeys:destinationKeys:]): Ditto.
* EOControl/EOGenericRecord.m (-storedValueForKey:)
(-takeStoredValue:forKey:, -takeValue:forKey:, valueForKey):
Use GSSelectorFromName instead of sel_get_any_uid. Omit test
to islower. Format according to coding standards.
* EOControl/EOKeyValueCoding.m (-takeValue:forKeyPath:isSmart:)
Use unsigned for index bookkeeping.
* EOAccess/EOAccessFault.m ([EOAccessFaultHandler-init])
([EOAccessFaultHandler-dealloc])
([EOAccessArrayFaultHandler-dealloc]): Use GSCurrentThread instead
of objc_thread_id.
(-completeInitializationOfObject): Correct comment.
2005-02-15 David Ayers <d.ayers@inode.at>
* EOAccess/EOAttribute.h/m (EOAdaptorUnknownType): Remove.
(protoOverride): Increase range.
(isAttributeValueInitialized): New flag.
(extraRefCount): Make standalone instance variable.
(setValueClassName:): Use isAttributeValueInitialized flag
instead of EOAdaptorUnknownType.
(adaptorValueType): Use isAttributeValueInitialized flag
instead of EOAdaptorUnknownType.
* EOAdaptors/Postgres95/Postgres95Values.m
(newValueForBytes:length:attribute:): Remove reference to
EOAdaptorUnknownType.
* EOAdaptors/Postgres95/Postgres95SQLExpression.m
(externalNameQuoteCharacter): Remove.
2005-02-14 David Ayers <d.ayers@inode.at>
* EOAccess/EOModel.m (-writeToFile:): Clairfy documentation about
setting receivers name and path.
* EOControl/EOCheapArray.h/m (-initWithArray:): Correct signature
and only initialize instance variable if call to super init was
successfull.
(-shallowCopy): Correct signature.
* EOControl/EOClassDescription.m
(-dictionaryForInstanceProperties): Remove casts.
([NSObject-shallowCopy], [NSObject-snapshot])
([NSObject-updateFromSnapshot:]): Ditto.
([NSObject-validateValue:forKey:]): Correct key determination and
use GSSelectorFromName instead of sel_get_any_uid.
([NSObject-addObject:toPropertyWithKey:]): Use GSSelectorFromName
instead of sel_get_any_uid. Minor optimization.
([NSObject-removeObject:fromPropertyWithKey:]): Ditto.
* EOControl/EOEditingContext.h/m (_objectBasedChangeInfoForGIDInfo:)
Only generate an entry for objects that the reciever actually
maps.
(-recordForGID:, -recordForObject:) Remove unused undocumented
methods.
(-updatedObjects, -insertedObjects, -deletedObjects): Reimplement.
(-unprocessedObjects, -unprocessedInfo, -pendingInfo)
(-hasUnprocessedChanges): Remove.
* EOControl/EONull.h/m ([NSObject isEONull], [NSObject isNotEONull])
(isNilOrEONull): Remove.
* EOControl/EOPriv.h (_isNilOrEONull): Make static inline function.
2005-02-13 Manuel Guesdon <mguesdon@orange-concept.com>
* EOControl/EOClassDescription.m:
o use IMPs
o avoid NSString build in -addObject:toPropertyWithKey:
o avoid NSString build in -removeObject:fromPropertyWithKey:
* EOAccess/EODatabaseContext.m:
o added and use EODatabaseContext_globalIDForObjectWithImpPtr
o use IMPs
* EOAccess/EOEntity.m:
o use IMPs
* EOAccess/EOAttribute.m:
o use IMPs
o optimized -validateValue
* EOAccess/EODatabaseContextPriv.h:
o added EODatabaseContext_globalIDForObjectWithImpPtr
* EOControl/EOPriv.[hm]:
o added more helpers
* EOControl/EOEditingContext.m:
o use IMPs
* EOControl/EOGenericRecord.m:
o use IMPs in descriptions
* EOAdaptors/Postgres95Values.m:
o use GDL2StringDefaultCStringEncoding() in
+newValueForCharactersType:length:attribute:
* EOAdaptors/Postgres95Channel.m:
o IMP optimizations
* EOAdaptors/Postgres95Adaptor.m:
o IMP optimizations
2005-02-11 Manuel Guesdon <mguesdon@orange-concept.com>
* EOAccess/EOAdaptor.m:
o optimization in 'for' loops
* EOAccess/EODatabase.m:
o include <EOCOntrol/EOPriv.h>
o replaced isNilOrEONull() by _isNilOrEONull()
* EOAccess/EODatabaseContext.h:
o added _snapshotForGlobalIDIMP
* EOAccess/EODatabaseContext.m:
o commented NSEmitTODO in -objectsForSourceGlobalID:relationshipName:editingContext:
o added beter exception format in qualifierForLockingAttributes:primaryKeyAttributes:entity:snapshot:
o fix compiler warning in -relayPrimaryKey:object:entity:
o logs
o optimizations in -objectsWithFetchSpecification:editingContext:
o replaced isNilOrEONull() by _isNilOrEONull()
o replace [EOFault isFault:] by _isFault()
o use _snapshotForGlobalIDIMP
o IMP usage optimization
* EOAccess/EOAttribute.[hm]:
o added EOAdaptorUnknownType
o added _adaptorValueType and avoid recomputing it each time
o added _valueTypeChar to avoid string comparaisons
o use EOPriv classes declarations
o Temporary reverted David changes in -adaptorValueByConvertingAttributeValue
* EOAccess/EOAttributePriv.h:
o added _valueTypeChar to avoid string comparaisons
* EOAccess/EOEntityPriv.h:
o moved -attributeForPath: and -relationshipForPath: to EOEntityGDL2Additions category
* EOAccess/EOEntity.h:
o moved private -attributeForPath: and -relationshipForPath: to EOEntityGDL2Additions category
* EOAccess/EOEntity.m:
o better exception in classProperties
o fix compiler warning in -setClassProperties:, -setPrimaryKeyAttributes:,
-setAttributesUsedForLocking:
o moved -attributeForPath: and -relationshipForPath: to EOEntityGDL2Additions category
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
* EOAccess/EOSQLExpression.m:
o optimization in -tableListWithRootEntity:
o optimization in -formatSQLString:format:
o optimization in +sqlPatternFromShellPattern:
o optimization in +sqlPatternFromShellPattern:withEscapeCharacter:
o fix in -sqlStringForKeyValueQualifier:
o added log in -sqlStringForKeyValueQualifier: for not handled readFormat
o added log -addInsertListAttribute:value: for not handled writeFormat
o added log -addUpdateListAttribute:value: for not handled writeFormat
o changed EOFLOGObjectFnStart to EOFLOGObjectFnStartCond
o changed EOFLOGObjectFnStop to EOFLOGObjectFnStopCond
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
* EOAccess/EOSQLQualifier.m:
o implemented EOKeyComparisonQualifier -schemaBasedQualifierWithRootEntity
* EOAccess/EOUtilities.m:
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
* EOControl/EOPriv.[hm]:
o added. Contains various classes/selectors/IMPs
* EOControl/EOClassDescription.m:
o handle EONull case in -propagateDeleteForObject:editingContext:,
-addObject:toPropertyWithKey:, -snapshot, -removeObject:fromPropertyWithKey:,
_setObject:forBothSidesOfRelationshipWithKey:, addObject:toBothSidesOfRelationshipWithKey:,
-removeObject:fromBothSidesOfRelationshipWithKey:
o fix compiler warning in -dictionaryForInstanceProperties, -shallowCopy, -updateFromSnapshot:, -snapshot
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
o replaced isNilOrEONull() by _isNilOrEONull()
o fix in -validateForSave
o rewritten -validateValue:forKey: selector build
* EOControl/EOEditingContext.h:
o added -hasUnprocessedChanges
* EOControl/EOEditingContext.m:
o added -hasUnprocessedChanges
o added NS_DURING,... to catch exceptions
o replace [EOFault isFault:] by _isFault()
o IMP usage optimization
* EOControl/EOKeyGlobalID.m:
o replaced isNilOrEONull() by _isNilOrEONull()
o include <EOCOntrol/EOPriv.h>
* EOControl/EOGenericRecord.m:
o partially rewritten -description
o include <EOCOntrol/EOPriv.h>
o replaced isNilOrEONull() by _isNilOrEONull()
o replace [EOFault isFault:] by _isFault()
o changed variable name type of _infoForInstanceVariableNamed:retType:retSize:retOffset:
o rewritten valueForKey:,... to use cString NSKeyValueCoding
* EOControl/EOKeyValueCoding.m:
o changed NSAssert in NSArray -valueForKey:
o optimization in NSDictionary -takeValue:forKeyPath:isSmart:
o optimization in NSDictionary -takeStoredValue:forKeyPath:
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
o include <EOCOntrol/EOPriv.h>
* EOControl/EOKeyValueQualifier.m:
o fixes for EONull/nil in -evaluateWithObject:
o replaced [EONull null] by GDL2EONull
o include <EOCOntrol/EOPriv.h>
* EOControl/EOSortOrdering.m:
o include <EOCOntrol/EOPriv.h>
o replaced [EONull null] by GDL2EONull
* EOAdaptors/Postgres95SQLExpression.m:
o float formatting in +formatValue:forAttribute:
o added -externalNameQuoteCharacter
o added +sqlPatternFromShellPattern:
o added +sqlPatternFromShellPattern:withEscapeCharacter:
o replaced isNilOrEONull() by _isNilOrEONull()
* EOAdaptors/Postgres95Channel.m:
o logs
* EOAdaptors/Postgres95Values.m:
o logs
o fix in +setPostgres95Format:
o fix calendard format to handle timezone (%z)
o optimizations
* EOControl/EOMutableKnownKeyDictionary.m
o removed EOMKKDArrayMapping +dictionaryFromDictionary:subsetMapping:
o include <EOCOntrol/EOPriv.h>
o replaced isNilOrEONull() by _isNilOrEONull()
* EOControl/EONSAddOns.[hm]:
o added NSString(ShellPattern)
2005-02-10 David Ayers <d.ayers@inode.at>
* EOControl/EOEditingContext.m (_globalIDChanged:): Make assert
more accurate.
(-_invalidatedAllObjectsInStore:): Implement.
(+setUsesContextRelativeEncoding:): Implement.
(+usesContextRelativeEncoding): Implement.
(+initialize): Set default value of usesContextRelativeEncoding
depending on whether we are a gsweb application.
* EOControl/EOObjectStoreCoordinator.m
(_invalidatedAllObjectsInSubStore:): Implement.
2005-02-08 Matt Rice <ratmice@yahoo.com>
* EOControl/EOEditingContext.m (-_globalIDChanged:): Add key
to the snapshot dict before removing the temporary gid. Assert
that the temporary gid and the new gid are not equal.
2005-02-08 David Ayers <d.ayers@inode.at>
* EOAccess/EOModel.m (-init): Initialize _storedProcedures.
(-storedProcedureNames): Simplify.
(-storedProcedureNamed:): Reimplement.
(-storedProcedures): Simplify.
(-writeToFile:): Call _setPath: after preliminary testing. Write
stored procedures.
(-initWithTableOfContentsPropertyList:path:): Reimplement stored
procedure handling.
(-encodeTableOfContentsIntoPropertyList:): Handle stored
procedures.
(-encodeIntoPropertyList:): Fix encoding title for stored
procedures.
(-addStoredProcedure:, -removeStoredProcedure:) Make more thread
safe.
(-loadAllModelObjects): Implement.
* EOAccess/EOStoredProcedure.m (-initWithPropertyList:): Call
awakeWithPropertyList: to finish initialization.
(-encodeIntoPropertyList:): Implement.
(-description): Implement.
(-_setIsEdited): Implement.
* EOControl/EOEditingContext.m
(-_objectBasedChangeInfoForGIDInfo:): Make a little more gdb
friendly.
2005-02-07 Matt Rice <ratmice@yahoo.com>
* EOControl/EOObjectStore.m: Assign correct key names for EOUpdatedKey,
EOInsertedKey, EODeletedKey, EOInvalidatedKey.
* EOAccess/EODatabaseContext.m (-_objectsChanged:, -commitChanges): Use
EOUpdatedKey, EOInsertedKey, EODeletedKey, EOInvalidatedKey, instead
of hard coded keys.
* EOControl/EOEditingContext.m (-didSaveChanges, pendingInfo): Ditto.
2005-02-03 David Ayers <d.ayers@inode.at>
* EOAccess/EODatabaseContext.h/m:(_numLocked): Removed.
(_lockedObjects): Use hash table instead of plain memory.
(-_registerDatabaseContext:) Only attempt to retrieve entities
with valid names.
(-dealloc): Update _lockedObjects usage.
(-lockObjectWithGlobalID:editingContext:): Inialize local variable.
Fire fault if necessary to obtain snapshot and raise upon
failure.
(-registerLockedObjectWithGlobalID:): Use new hash table.
(-isObjectLockedWithGlobalID:): Ditto.
(-_cleanUpAfterSave): Ditto.
(-invalidateAllObjects): Call -invalidateResultCache and make more
gdb friendly.
(-invalidateObjectsWithGlobalIDs:): Call
forgetSnapshotsForGlobalIDs: on self instead of the _database.
(-commitChanges): Execute the commit if a transaction is open
to insure held locks are freed server side.
(-snapshotForGlobalID): Move implementation to ...
(-snapshotForGlobalID:after:): ... here and call this version
in the _database.
(-forgetSnapshotsForGlobalIDs:): Implement.
(-forgetAllLocks): Ditto.
(-forgetLocksForObjectsWithGlobalIDs:) Ditto.
* EOAccess/EODatabaseDataSource.m (-insertObject): Do not
insert object into the editing context.
* EOAdaptors/Postgres95/Postgres95Adaptor.m (externalTypeNames):
Add new types.
* EOControl/EOEditingContext.h
(_objectsById): Rename to _globalIDsByObject.
(ignoreSharedContextNotifications, isSharedContextLocked): Added.
(_sharedContext, fetchTimestamp): Ditto.
(-_insertObject:withGlobalID:, -_observeUndoManagerNotifications)
(-_processDeletedObjects)
(-_processOwnedObjectsUsingChangeTable:deleteTable:)
(-_registerClearStateWithUndoManager): Remove public declarations
of private methods.
(-didMergeChangedObjectsInEditingContext:) Rename to
-editingContextDidMergeChanges:.
* EOControl/EOEditingContext.m: Update header dependencies.
Declare private methods locally.
(EOThreadSafeQueue): New local class.
(null, EOEditingContextClass, EOAssociationClass)
(ecDeallocHT, assocDeallocHT): New static local variables.
(EOConstObject, EOConstChanges, EOConstKey, EOConstValue)
(EOConstAdd, EOConstDel): Added experimental variables.
(_mergeValueForKey): New function.
(-_mergeObject:withChanges:): Implement.
(-_objectBasedChangeInfoForGIDInfo:): Ditto.
(-_processObjectStoreChanges:): Implement.
(-_objectsChangedInStore:): Reimplement.
(-_changesFromInvalidatingObjectsWithGlobalIDs:): Implement.
(-_uncommittedChangesForObject:fromSnapshot:): Implement.
(-_mutableSetFromToManyArray:): Implement.
(-_globalIDChanged:): Reimplement.
(-_processNotificationQueue): Implement.
(-_sendOrEnqueueNotification:selector:): Implement.
(-invalidateAllObjects): Reimplement.
(-_forgetObjectWithGlobalID:): Implement.
(-_invalidateObject:withGlobalID:) Implement.
(-_invalidateObjectWithGlobalID:) Implement.
(-_invalidateObjectsWithGlobalIDs:) Implement.
(-invalidateObjectsWithGlobalIDs:) Reimplement.
(-_resetAllChanges:): Implement.
(-_resetAllChanges): Implement.
(-_enqueueEndOfEventNotification): Reimplement.
(-_processEndOfEventNotification): Reimplement.
(-noop:): Implement.
(-_undoManagerCheckpoint:): Remove TODO.
(-processRecentChanges): Ditto.
(-_processRecentChanges:): Reimplement.
(-_clearChangedThisTransaction:): Implement.
(+initialize): Initialize some static variables.
(+objectDeallocated:): Implemented.
(_objectsById): Update usages with _globalIDsByObject.
Do not retain objects but rely on new objectDeallocated:
mechanism.
(-initWithParentObjectStore:): Initialize undo manager.
(-init): Make more gdb friendly.
(-insertObject:): Use standard autorelease macro.
(-_insertObject:withGlobalID:) Always insert the a new object
into the inserted objects independent of previous GID mappings.
(-hasChanges): Also check unprocessed changes.
(-revert): Enable undo manager handling.
(-objectWillChange:): Register for revert.
(-recordObject:globalID:): Initialize ecDeallocHT and insert
objects that are registered.
(-forgetObject:): Remove objects from ecDeallocHT.
([NSObject-dealloc]): Added hack to automagically deregister
objects fromm the editing context and association mappings.
* EOControl/EOFetchSpecification.h/m
(allVariablesRequiredFromBindings): Rename to
requiresAllQualifierBindingVariables.
(-setRequiresAllQualifierBindingVariables:)
(-requiresAllQualifierBindingVariables): Implement.
(-setAllVariablesRequiredFromBindings:)
(-allVariablesRequiredFromBindings): Deprecate.
Update various setter methods to make them promotion safe.
* EOControl/EOObjectStoreCoordinator.m
(requestStoreForGlobalID:fetchSpecification:object):
Add all information to the notfication.
(-invalidateObjectsWithGlobalIDs:): Reimplement via map table.
(-lockObjectWithGlobalID:editingContext:): Implement.
(-isObjectLockedWithGlobalID:editingContext:): Implement.
* EOControl/EOObserver.m (+addObserver:forObject:): Cairify
documentation.
2005-02-02 Matt Rice <ratmice@yahoo.com>
* EOAccess/EOEntity.m (-setName:): Validate the new name and remove
the checks from here.
(-validateName): Don't check if an attribute or a relationship with
the name exist. Check if an entity of the same name exists.
Return an exception with a valid reason in all cases.
* EOAccess/EOAttribute.m (validateName): Return an exception with a
valid reason in all cases. Don't check if a relationship with the
name exists.
* EOAccess/EOAttribute.m (validateName): Return an exception with a
valid reason in all cases. Don't check if a attribute with the
name exists.
2005-01-27 David Ayers <d.ayers@inode.at>
* EOAccess/EODatabase.h/m:(EODistantPastTimeInterval): Added
global variable.
(snapshotForGlobalID:after:): Implemented.
2005-01-27 David Ayers <d.ayers@inode.at>
* EOControl/EOEditingContext.h/m
(setDefaultFetchTimestampLag:, defaultFetchTimestampLag):
Implemented.
2005-01-26 David Ayers <d.ayers@inode.at>
* EOAccess/EOUtilities.m (NSObjectNotAvailableException):
Reactivate correct exception name. Correct a few whitespace
issues.
2005-01-26 Juergen Lorenz Simon <juergen_simon@mac.com>
David Ayers <d.ayers@inode.at>
* EOAccess/EOEntity.m (-initWithPropertyList:owner:): Correct
test for file existance and reformat.
* EOControl/EOFetchSpecification.h/m
(-fetchSpecificationByApplyingBindings:) Remove obsolete method.
(-fetchSpecificationWithQualifierBindings:) Implement.
* EOControl/EOQualifier.m (initWithKeyValueUnarchiver:):
Implement.
(-encodeWithKeyValueArchiver:): Ditto.
2005-01-22 David Ayers <d.ayers@inode.at>
* EOControl/EOQualifer.m (getKey): Allow literal numbers without
class declarations. Reported by Dirk Lattermann.
2005-01-18 Peter Cooper <comrade@obverse.com>
* EOAdaptors/Postgres95/Postgres95Channel.m
([-_describeBasicEntityWithName:forModel:]): Ignore droped
columns.
2004-11-23 Matt Rice <ratmice@yahoo.com>
* EOControl/EOQualifier.m ([-filteredArrayUsingQualifier]): Handle
nil qualifier argument.
2004-11-04 David Ayers <d.ayers@inode.at>
* EOAccess/EOModelGroup.m ([+globalModelGroup]): Search for
.eomodel files as well and call -addModelWithFile: with full
path.
* EOAccess/EOModel.m ([-initWithContentsOfFile:]): Add assert
if file could not be read.
* EOControl/EOKeyGlobalID.m ([-hash]): Improve quality of hash
values.
2004-11-03 David Ayers <d.ayers@inode.at>
* EOAccess/EOAdaptorContext.h: Only use ASCII characters.
* EOAccess/EOSQLQualifier.m: Ditto.
2004-11-02 David Ayers <d.ayers@inode.at>
* GDL2.gsdoc: New file for documentation project.
* GNUmakefile: Build documentation project.
* EOAccess/gdl2.gsdoc: Rename to ...
* EOAccess/EOAccess.gsdoc: ... new name.
* EOControl/gdl2control.gsdoc: Rename to ...
* EOControl/EOControl.gsdoc: ... new name.
* EOAccess/GNUmakefile: Update documentation project name.
* EOControl/GNUmakefile: Ditto.
* README: Remove reference to potentially obsolete name.
* Tools/eomodeltemplate.gsdoc: Update encoding, DTD reference and
minor reformatting.
* Tools/gdl2gsdoc.gsdoc: Update DTD reference and add myself as
coauthor.
* EOAccess/EODatabaseContext.h/m:
(EOStoredProcedureNameHintKey, EOCustomQueryExpressionHintKey):
Define missing keys.
* EOControl/EODeprecated.h: (EOPrefetchingRelationshipHintKey)
(EOFetchLimitHintKey, EOPromptAfterFetchLimitHintKey): Ditto.
* EOControl/EOFetchSpecification.m:
(EOPrefetchingRelationshipHintKey, EOFetchLimitHintKey)
(EOPromptAfterFetchLimitHintKey): Ditto. Use globally defined
keys instead of local strings.
* EOAccess/EODatabaseChannel.m
(_selectWithFetchSpecification:editingContext:) Use globally
defined keys instead of local strings.
* EOControl/EOQualifier.m (+[stringForOperatorSelector:]):
Return selector name instead of nil if not given a standard
EOQualifierOperator selector.
2004-10-20 David Ayers <d.ayers@inode.at>
* EOInterface/EODetailSelectionAssociation.h/m: New files.
* EOInterface/EOMasterCopyAssociation.h/m: Ditto.
* EOInterface/EOMasterDetailAssociation.h/m: Ditto.
* EOInterface/EOMasterPeerAssociation.m: Ditto.
* EOInterface/EOMatrixAssociation.h/m: Ditto.
* EOInterface/EOPickTextAssociation.h/m: Ditto.
* EOInterface/EOPopUpAssociation.h/m: Ditto.
* EOInterface/EORadioMatrixAssociation.h/m: Ditto.
* EOInterface/EORecursiveBrowserAssociation.h/m: Ditto.
* EOInterface/EOTextAssociation.h/m: Ditto.
* EOInterface/EODeprecated.h: Ditto.
* EOInterface/EOInterface.h: Added new header files.
* EOInterface/GNUmakefile: Added new files.
* EOInterface/EODisplayGroup.m: Update includes.
(setSortOrdering:, sortOrdering): Add deprecated methods.
* EOInterface/EOAssociation.h: Remove redundant include.
2004-10-17 David Ayers <d.ayers@inode.at>
* EOInterface/EOComboBoxAssociation.h/m: New files.
* EOInterface/EOControlAssociation.h/m: Ditto.
* EOInterface/EOGenericControlAssociation.m: Ditto.
* EOInterface/EOActionCellAssociation.m: Ditto.
* EOInterface/NSImage+Additions.m: Ditto.
* EOInterface/EOInterface.h: Added new headers.
* EOInterface/GNUmakefile: Use new files. Remove superfluous
header files directory variable.
2004-10-16 David Ayers <d.ayers@inode.at>
* EOInterface/EOActionAssociation.h/m: New files.
* EOInterface/EOActionInsertionAssociation.h/m: Ditto.
* EOInterface/EOColumnAssociation.h/m: Ditto.
* EOInterface/EOTableViewAssociation.m: Ditto.
* EOInterface/EOInterface.h: Added new headers.
* EOInterface/GNUmakefile: Use new files.
* EOInterface/EOAssociation.m: (-[debugDescription]): Remove debug
method.
2004-10-15 David Ayers <d.ayers@inode.at>
* EOInterface/EOAssociation.h/m: New files.
* EOInterface/EOInterface.h: Add EOAssocitaion.
* EOInterface/GNUmakefile: Ditto.
* EOInterface/EODisplayGroup.h: Add missing forward declaration.
* EOInterface/EODisplayGroup.m: ([-insertObjectAtIndex]):
avoid warning.
2004-10-14 David Ayers <d.ayers@inode.at>
* EOInterface: New directory.
* EOInterface/GNUmakefile: New file.
* EOInterface/Makefile.preamble: Ditto.
* EOInterface/EOInterface.h: Ditto.
* EOInterface/EODisplayGroup.h: Ditto.
* EOInterface/EODisplayGroup.m: Ditto.
2004-10-07 David Ayers <d.ayers@inode.at>
* EOAccess/EOAttribute.m (encodeIntoPropertyList:): Encode numeric
values as stings for WO45 EOModel format compatibility.
2004-09-28 David Ayers <d.ayers@inode.at>
* EOAccess/EOEntity.m ([EOEntityClassDescription
awakeObject:fromInsertionInEditingContext:]): Only process class
properties. Remove inactive code. Document.
* EOControl/EOObserver.m ([EOObserverCenter observersForObject:]):
Document as final. Return immutable copy if observers.
([EOObserverCenter observerForObject:ofClass:]): Revert to using
internal map. Avoid allocating spurious enumerator. Update
documentation.
* EOControl/EODebug.m (TypeToNSString): Use #ifdef to test for
_C_LNG_LNG handling.
* EOControl/EOFault.m: Include limits.h for UINT_MAX.
* EOControl/EOGenericRecord.m: Ditto.
* EOControl/EONSAddOns.m: Ditto.
2004-09-26 David Ayers <d.ayers@inode.at>
* EOControl/EOObserver.m: Update includes. Document classes and
methods.
(+[EOObserverCenter addObserver:forObject:]): Do not retain
object. Add logging.
(+[EOObserverCenter removeObserver:forObject:]): Do not release
object.
(+[EOObserverCenter observerForObject:]): Use +observersForObject:
to obtain the observers for overriding subclasses.
(+[EOObserverCenter enableObserverNotification]): Raise
NSInternalInconsistencyException when called to often.
(-[EODelayedObserver objectWillChange:]): Use the receivers
observerQueue for overriding subclasses.
(-[EODelayedObserver discardPendingNotification]): Ditto.
(-[EODelayedObserverQueue enqueueObserver:]): Relocate assertion
to safer place.
(-[EOObserverProxy initWithTarget:action:priority:]): Implement.
(-[EOObserverProxy dealloc],-[EOObserverProxy priority])
(-[EOObserverProxy subjectChanged]): Ditto.
* EOAccess/EOEntity.m (-[setName:]): Skip the uniqueing if the
name is the same.
2004-09-25 David Ayers <d.ayers@inode.at>
* EOControl/EOObserver.m
(-[EODelayedObserverQueue _notifyObservers:]): Fix prototype set
queue flag.
(-[EODelayedObserverQueue enqueueObserver:]): Fix setting of queue
flag and registering observers.
(-[EODelayedObserverQueue dequeueObserver:]): Break linked list.
Correct highestNonEmptyQueue setting. Fix setting of queue flag.
(-[EODelayedObserverQueue notifyObserversUpToPriority]): Dequeue
observers during processing.
2004-09-24 David Ayers <d.ayers@inode.at>
* EOAccess/EOEntity.m (-[setName:],-[setExternalName:])
(-[setExternalQuery:],-[setClassName:],-[setDocComment]): Use
ASSIGNCOPY instead of ASSIGN to deal with mutable strings.
2004-09-09 Simon Stapleton <simon@tufty.co.uk>
David Ayers <d.ayers@inode.at>
* config.h.in (HAVE_DECL_PQFREEMEM, HAVE_DECL_PQUNESCAPEBYTEA):
Added new test markers.
* config/postgres.m4; Add tests for new markers.
* configure: Regenerated.
* EOAdaptors/Postgres95/Postgres95Compatibility.h: New file.
* EOAdaptors/Postgres95/Postgres95Adaptor.m: Change default data
type for NSData to bytea.
* EOAdaptors/Postgres95/Postgres95SQLExpression.m
([Postgres95SQLExpression formatValue:forAttribute:])
Format bytea data.
* EOAdaptors/Postgres95/Postgres95Values.m
([Postgres95Values newValueForBytesType:length:attribute:]):
Decode bytea data.
2004-09-08 David Ayers <d.ayers@inode.at>
* EOAccess/EOAttribute.m (-[copyWithZone:]): Override
implementation of GCObject as it isn't safe to copy EOAttributes.
* EOAccess/EOEntity.m (-[addAttribute:]); Use NSAsserts to check
integrity of parameters. Insure that attribute is not used by
other entity or stored procedure.
(-[_setModel:]): Rename from -setModel:. Assert that entity is
not used by another model.
* EOAccess/EOEntityPriv.h (-[_setModel:]): Rename from
-setModel:.
* EOAccess/EOModel.m (-[_addEntity:]): Use -_setModel: instead of
-setModel:.
(-[removeEntity:]): Ditto.
(-[addEntity:)): Use NSAssert to insure that entity name is unique
and that the entity is not being used by other mode. Use
-_setModel: instead of -setModel:.
2004-09-07 David Ayers <d.ayers@inode.at>
* EOAccess/EOAttribute.h
* EOAccess/EOAttribute.m (_parent, -[setParent:]): Do not retain
backward reference.
(-[setName:]): Mark as editited if parent is an entity.
* EOAccess/EOModel.m (-[_updateCache]): New method.
(-[_addEntity:]): Set model via public API.
* EOAccess/EOEntity.m
* EOAccess/EOEntityPriv.h
(-[EOModel _updateCache]): Declare private EOModel method.
(-[setName:]): Insure model updates its cache.
(-[setModel:]): Set instance variable directly without
retaining it.
(-[_setModel:]): Remove.
(-[gcDecrementRefCountOfContainedObjects]): Do not decrement
backward reference to owning model.
* EOAccess/EORelationship.m
(-[setDefinition:]): Allow definition to unset.
(-[setEntity:]): Mark both old and new entity as edited.
* EOAccess/EOStoredProcedure.m
(-[initWithPropertyList:]): Make return type explicit.
* EOControl/EOGenericRecord.m
(-[_infoForInstanceVariableNamed:retType:retSize:retOffset:]):
Replace usage of deprecated GSFindInstanceVariable with
GSObjCFindVariable.
(-[_getValueForKey:selector:type:size:offset:]): Replace
usage of deprecated GSGetValue with GSObjCGetValue.
(-[_setValueForKey:object:selector:type:size:offset:]): Replace
usage of deprecated GSSetValue with GSObjCSetValue.
* EOControl/EOFault.m (+/-[respondsToSelector:]): Replace usage
of deprecated GSGetInstanceMethod with GSGetMethod.
2004-06-23 David Ayers <d.ayers@inode.at>
* EOAccess/EOAccessFault.m: Include privat headers locally.
* EOAccess/EOAdaptor.m: Ditto.
* EOAccess/EOAdaptorChannel.m: Ditto.
* EOAccess/EOAdaptorContext.m: Ditto.
* EOAccess/EOAttribute.m: Ditto.
* EOAccess/EODatabaseChannel.m: Ditto.
* EOAccess/EODatabaseContext.m: Ditto.
* EOAccess/EODatabaseOperation.m: Ditto.
* EOAccess/EOModel.m: Ditto.
* EOAccess/EORelationship.m: Ditto.
* EOAccess/EOSQLExpression.m: Ditto.
* EOAccess/EOSQLQualifier.m: Ditto.
* EOAccess/EOEntity.h: Remove declarations of privat methods.
Reorder declaraions.
(+[entity], +[entityWithPropertyList:owner:]): Deprecate.
(-[sharedObjectFetchSpecificationNames]): New method.
(-[setSharedObjectFetchSpecificationsByName:]: Ditto.
(-[addSharedObjectFetchSpecificationByName:]: Ditto.
(-[removeSharedObjectFetchSpecificationByName:]: Ditto.
* EOAccess/EOEntityPriv.h: Add declarations of privat methods.
Reorder declarations.
* EOAccess/EOEntity.m: Reorder implementations according to
headers. Include privat headers locally.
(+[entity], +[entityWithPropertyList:owner:]): Deprecate.
(-[sharedObjectFetchSpecificationNames]): New method.
(-[setSharedObjectFetchSpecificationsByName:]: Ditto.
(-[addSharedObjectFetchSpecificationByName:]: Ditto.
(-[removeSharedObjectFetchSpecificationByName:]: Ditto.
* EOAccess/EOEntity.m: Adapt usage of deprecated -[entity...]
and privat methods.
* EOAccess/EOModel.m: Ditto.
* EOAdaptors/Postgres95/Postgres95SQLExpression.m: Ditto.
* TODO: Add comment.
2004-06-21 David Ayers <d.ayers@inode.at>
* EOControl/EONSAddOns.h/m
(GDL2_ActivateCategory, GDL2_ActivateAllGDL2Categories)
(GDL2_DumpMethodList): New functions.
* EOControl/EOKeyValueCoding.m
(initialize): Make order of initialization more thread safe.
(NilToNull): Remove helper class.
([NSObject -unableToSetNilForKey:]): Implement.
([NSObject -GDL2KVCNSObjectICategoryID]): New method.
([NSObject +load]): Ditto.
([NSDictionary -GDL2KVCNSDictionaryICategoryID]): Ditto.
([NSDictionary +load]): Ditto.
([NSMutableDictionary -GDL2KVCNSDictionaryICategoryID]): Ditto.
([NSMutableDictionary +load]): Ditto.
* EOControl/EOClassDescription.m
([NSObject -GDL2CDNSObjectICategoryID]): New method.
([NSObject +load]): New method.
([NSObject -validateValue:forKey:]) Introduce temporary variable
to allow correct formatting.
([NSObject -snapshot]): Reformat log string.
([NSObject -addObject], [NSObject -removeObject])
([NSObject _setObject], [NSObject -editingContext]): Reformat.
2004-06-04 Simon Stapelton <simon@tufty.co.uk>
* EOControl/EOAndQualifier.m,
* EOControl/EOKeyComparisonQualifier.m,
* EOControl/EOOrQualifier.m:
([-initWithKeyValueUnarchiver]): Implement.
2004-05-16 David Ayers <d.ayers@inode.at>
* EOAccess/EODatabaseContext.m: Replace EOFLOGObjectLevel and
EOFLOGObjectLevelArgs with NSDebugMLLog. Remove some superfluos
NSLogs and replace others woth NSDebugMLLogs. Reformat.
* EOAccess/EOEntity.m ([EOEntity primaryKeyForGlobalID:]): Ditto.
2004-05-15 Matt Rice <ratmice@yahoo.com>
* EOAdaptors/Postgres95/Postgres95Channel.m
([Postgres95Channel describeModelWithTableNames:]):
Set class properties.
2004-05-15 David Ayers <d.ayers@inode.at>
* EOAdaptors/Postgres95/Postgres95Values.m
(-[NSCalendarDate postgres95Format]): Return ISO date format.
(-[NSCalendarDate setPostgres95Format:]): Deprecate method.
* EOAdaptors/Postgres95/Postgres95Channel.m
(-[Postgres95Channel _setDateStyle]): New method to request ISO
date format.
(-[Postgres95Channel openChannel]): Call -_setDateStyle to set ISO
date fromat.
* EOAccess/EOAttribute.m
([EOAttribute initialize]): Implement class caching.
([EOAttribute *]): Use cached classes.
([EOAttribute adaptorValueByConvertingAttributeValue:]):
Only convert attributes when necessary.
2004-05-14 David Ayers <d.ayers@inode.at>
* EOControl/EOEditingContext.m
(-[EOEditingContext validateChangesForSave]): Use processed
changes instead of unprocessed changes.
2004-05-12 Matt Rice <ratmice@yahoo.com>
* EOControl/EOQualifier.h: Add NSMutableSet class declaration.
2004-05-12 David Ayers <d.ayers@inode.at>
* EOAccess/EOModel.m ([EOModel entityNamed:]): Fix typo.
* EOControl/EOQualifier.h/m
([EOQualifier allQualifierKeys])
([EOQualifier addQualifierKeysToSet:]): Implement new methods.
* EOControl/EOAndQualifier.m
* EOControl/EOKeyComparisonQualifier.m
* EOControl/EOKeyValueQualifier.m
* EOControl/EONotQualifier.m
* EOControl/EOOrQualifier.m
([EO*Qualifier addQualifierKeysToSet:]): Implement new method.
2004-05-07 David Ayers <d.ayers@inode.at>
Alexander Malmberg <alexander@malmberg.org>
* EOControl/EONSAddOns.h/m
([NSString initialCapitalizedString]): New method.
* EOControl/EOKeyValueCoding.m
([NSArray-valueForKey:]): Allow ommitting keys for computational
key paths. Correct key capitalization. Update documentation.
([NSArray-valueForKeyPath]): Ditto.
2004-04-23 David Ayers <d.ayers@inode.at>
* EOAccess/EOAdaptor.m ([EOAdaptor availableAdaptorNames]):
Return unique names if multiple Adaptors are found. Document.
Reported by Matt Rice <ratmice@yahoo.com>.
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.