(+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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21439 72102866-910b-0410-8b05-ffd578937521
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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21438 72102866-910b-0410-8b05-ffd578937521
* 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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21404 72102866-910b-0410-8b05-ffd578937521
Only resort to EOClassDescription if _masterClassDescriptionName
is set. Otherwise ask the _masterDataSource for its
classDescriptionForObjects.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21366 72102866-910b-0410-8b05-ffd578937521
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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21221 72102866-910b-0410-8b05-ffd578937521
Add internal documentation. Filter managed objects instead
of attempting to convert gids to objects. Reported by Manuel
Guesdon.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21183 72102866-910b-0410-8b05-ffd578937521
and internalTypeNames variables, replaced both with typeNames.
(isValidQualifierType:model:): Use new variable.
(externalToInternalTypeMap:): Ditto.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21152 72102866-910b-0410-8b05-ffd578937521
* EOAccess/EOEntity.m (-primaryKeyRootName): Recurse to
through primaryKeyRootName of parent entity.
* EOAdaptors/Postgres95/Postgres95Channel.m
(primaryKeyForNewRowWithEntity:): Use primaryKeyRootName to
construct sequence name.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21126 72102866-910b-0410-8b05-ffd578937521
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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21070 72102866-910b-0410-8b05-ffd578937521
to temporary fix defaulting problem with
NSAutoreleasePool optimizations
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20917 72102866-910b-0410-8b05-ffd578937521
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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20835 72102866-910b-0410-8b05-ffd578937521
on EOAccess/EOAttributePriv.h and EOControl/EONSAddOns.h.
(attrRespondsToValueClass, attrRespondsToValueTypeChar): New
static locals.
(+initialize, +newValueForNumberType:length:attribute:):
Remove dependency and used static locals instead.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20751 72102866-910b-0410-8b05-ffd578937521
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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20750 72102866-910b-0410-8b05-ffd578937521
(recordChangesInEditingContext): Remove shadowing of local
variable.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20739 72102866-910b-0410-8b05-ffd578937521
(-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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20733 72102866-910b-0410-8b05-ffd578937521
(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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20723 72102866-910b-0410-8b05-ffd578937521
(-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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20711 72102866-910b-0410-8b05-ffd578937521
signature and only initialize instance variable if call to super init
was successfull.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20709 72102866-910b-0410-8b05-ffd578937521
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
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20700 72102866-910b-0410-8b05-ffd578937521
* 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)
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20688 72102866-910b-0410-8b05-ffd578937521
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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20682 72102866-910b-0410-8b05-ffd578937521
to the snapshot dict before removing the temporary gid. Assert
that the temporary gid and the new gid are not equal.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20679 72102866-910b-0410-8b05-ffd578937521
(-_objectBasedChangeInfoForGIDInfo:): Make a little more gdb
friendly.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20677 72102866-910b-0410-8b05-ffd578937521
(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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20658 72102866-910b-0410-8b05-ffd578937521
(allVariablesRequiredFromBindings): Rename to
requiresAllQualifierBindingVariables.
(-setRequiresAllQualifierBindingVariables:)
(-requiresAllQualifierBindingVariables): Implement.
(-setAllVariablesRequiredFromBindings:)
(-allVariablesRequiredFromBindings): Deprecate.
Update various setter methods to make them promotion safe.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20657 72102866-910b-0410-8b05-ffd578937521
(_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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20653 72102866-910b-0410-8b05-ffd578937521
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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20652 72102866-910b-0410-8b05-ffd578937521
without class declarations. Reported by Dirk Lattermann.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20595 72102866-910b-0410-8b05-ffd578937521
.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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20294 72102866-910b-0410-8b05-ffd578937521
(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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20279 72102866-910b-0410-8b05-ffd578937521
numeric values as stings for WO45 EOModel format compatibility.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20202 72102866-910b-0410-8b05-ffd578937521
awakeObject:fromInsertionInEditingContext:]): Only process
class properties. Remove inactive code. Document.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20166 72102866-910b-0410-8b05-ffd578937521
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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20149 72102866-910b-0410-8b05-ffd578937521
(-[setExternalQuery:],-[setClassName:],-[setDocComment]): Use
ASSIGNCOPY instead of ASSIGN to deal with mutable strings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20121 72102866-910b-0410-8b05-ffd578937521
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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20042 72102866-910b-0410-8b05-ffd578937521
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:.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20032 72102866-910b-0410-8b05-ffd578937521
(-[_addEntity:]): Set model via public API.
* EOAccess/EOEntityPriv.h (-[_setModel:]): Remove.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20027 72102866-910b-0410-8b05-ffd578937521
(-[_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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20026 72102866-910b-0410-8b05-ffd578937521
(-[setDefinition:]): Allow definition to unset.
(-[setEntity:]): Mark both old and new entity as edited.
* EOAccess/EOStoredProcedure.m
(-[initWithPropertyList:]): Make return type explicit.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20024 72102866-910b-0410-8b05-ffd578937521
* EOAccess/EOEntity.m
(-[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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20023 72102866-910b-0410-8b05-ffd578937521
* EOAccess/EOAttribute.m (_parent, -[setParent:]): Do not
retain backward reference.
(-[setName:): Mark as editited if parent is an entity.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20022 72102866-910b-0410-8b05-ffd578937521