respect GNUstep coding standard (curly brackets placement, indentation)
use IMP for some -objectAtIndex calls
* EOControl/EONSAddOns.h
add -overrideEntriesWithObjectsFromDictionary:forKeys:
add +diffOldArray:newArray:returnsRemovedValues:addedValues:
* EOControl/EONSAddOns.h
add -overrideEntriesWithObjectsFromDictionary:forKeys:
add +diffOldArray:newArray:returnsRemovedValues:addedValues:
use IMP for some -objectAtIndex calls
use NSUInteger for count and indexes
rewrite -containsIdenticalObjectsWithArray: to use diffOldArray:...
* EOControl/EODetailDataSource.m
fix -editingContext
* EOAccess/EODatabaseContext.m
use IMP for some -objectAtIndex calls
rewrite -faultForGlobalID:editingContext:
optimize -recordChangesInEditingContext:
rewrite part of -databaseOperationForObject:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@37920 72102866-910b-0410-8b05-ffd578937521
equality comparison with extraneous parentheses
all harmless, but in EOEntity.m it actually was wrong
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@36231 72102866-910b-0410-8b05-ffd578937521
valuesForKeys: -> dictionaryWithValuesForKeys:
(The old valuesForKeys: causes a log message on OSX)
some reformats and DebugLog removals
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30924 72102866-910b-0410-8b05-ffd578937521
-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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30886 72102866-910b-0410-8b05-ffd578937521
-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
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30874 72102866-910b-0410-8b05-ffd578937521
* 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
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30675 72102866-910b-0410-8b05-ffd578937521
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:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30633 72102866-910b-0410-8b05-ffd578937521
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.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30569 72102866-910b-0410-8b05-ffd578937521
implemented _assertValidStateWithSelector:
fixed leaks
* EOAccess/Makefile.preamble: added -Werror-implicit-function-declaration
* EOAccess/*: ported to new runtime and OS X
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30242 72102866-910b-0410-8b05-ffd578937521
objectsWithFetchSpecification: editingContext:
if none was in place before.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30200 72102866-910b-0410-8b05-ffd578937521
to determine if we actually already have fetched them.
Reported by: Thierry Delhaise <befree_fr@mac.com>
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@28085 72102866-910b-0410-8b05-ffd578937521
Collect propagations in collections and then execute
recordToManySnapshot:dbOpes:,
nullifyAttributesInRelationship:relationships:
and relayAttributesInRelationship:relationships: at the end.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@24684 72102866-910b-0410-8b05-ffd578937521
Install into GNUSTEP_SYSTEM_ROOT by default.
* * Update email addresses for Mirko Viviani and David Ayers.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23510 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
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
(_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