Commit graph

81 commits

Author SHA1 Message Date
mguesdon
858cbe7f44 * EOAccess/EODatabase.[hm]
add -forgetSnapshotForSourceGlobalID:relationshipName:
* EOAccess/EODatabaseContext.[hm]
  add -forgetSnapshotForSourceGlobalID:relationshipName:
  add -refaultObject:withSourceGlobalID:relationshipName:editingContext:
  add -clearOriginalSnapshotForObject:sourceGlobalID:relationshipName:editingContext:
  add -_turnToArrayFault:sourceGID:relationshipName:editingContext:isComplete:
* EOControl/EOCustomObject.m
  fix -validateValue:forKey:
  fix -validateValue:forKey:error:
  fix -addObject:toPropertyWithKey:
  fix -removeObject:object fromPropertyWithKey: 
* EOControl/EOEditingContext.[hm]
  add -refaultObject:withSourceGlobalID:relationshipName:editingContext:
* EOControl/EONSAddOns.[hm]
  add -performSelector:withPointer:
* EOControl/EOObjectStore.[hm]
  add -refaultObject:withSourceGlobalID:relationshipName:editingContext:
  add -clearOriginalSnapshotForObject:sourceGlobalID:relationshipName:editingContext:
* EOControl/EOObjectStoreCoordinator.m
  add -refaultObject:withSourceGlobalID:relationshipName:editingContext:
  add -clearOriginalSnapshotForObject:sourceGlobalID:relationshipName:editingContext:


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@38006 72102866-910b-0410-8b05-ffd578937521
2014-07-24 21:09:40 +00:00
mguesdon
c8cfc0fed3 * EOAccess/EOAccessFault.m
remove empty init methods
  fix warnings
* EOAccess/EOAdaptor.[hm]
  add -expressionFactory
* EOAccess/EOAdaptorChannel.m
  clean -performAdaptorOperation:
* EOAccess/EOAdaptorOperation.m
  fix warnings
* EOAccess/EODatabase.[hm]
  add/handle _timestamp
* EOAccess/EODatabaseChannel.h
  remove delegate (moved to EODatabaseContext)
  add _currentEditingContextTimestamp
  add _refreshedGIDs
* EOAccess/EODatabaseChannel.m
  fix warnings
  remove delegate (moved to EODatabaseContext)
  add _currentEditingContextTimestamp
  add _refreshedGIDs
  rewrite -setEntity:
  rewrite -setCurrentEditingContext:
  rewrite -fetchObject
  rewrite -cancelFetch
  rewrite -_selectWithFetchSpecification:editingContext:
* EOAccess/EODatabaseContext.h
  add EODatabaseChannel delegate stuff
* EOAccess/EODatabaseContextPriv.h
  add EODatabaseChannel delegate stuff
* EOAccess/EODatabaseContext.m
  add EODatabaseChannel delegate stuff
  fix EOAdaptor..Operator / EODatabase..Operator mismatch
* EOAccess/EODatabaseOperation.m
  fix warnings
* EOAccess/EOEntity.[hm], EOAccess/EOEntityPriv.h
  fix warnings
  add singleTable... methods
* EOAccess/EOExpressionArray.m
  fix warnings
* EOAccess/EOSQLExpression.m
  rewrite -prepareInsertExpressionWithRow:
* EOAccess/EOSQLExpressionFactory.[hm]
  new class
* EOAccess/EOUtilities.[hm]
  remove duplicate methods
* EOAccess/GNUmakefile
  add EOSQLExpressionFactory.[hm]
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.h
  remove duplicate _adaptorContext
* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m
  remove duplicate _adaptorContext
  remove unused pgResultDictionary()
* EOControl/EOEditingContext.h
  handle fetchTimestamp
* EOControl/EOEditingContext.m
  handle fetchTimestamp
  rewrite -deleteObject:
  fix warnings
* EOControl/EOGenericRecord.m
  fix warnings
* EOControl/EOMutableKnownKeyDictionary.m
  fix warnings
* EOControl/EONSAddOns.[hm]
  remove duplicate method
* EOControl/EONull.m
  fix warnings


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@37938 72102866-910b-0410-8b05-ffd578937521
2014-06-03 19:04:01 +00:00
buzzdee
70ff29d9ec * nearly every file
get rid of RCSID/RCS_ID

as shortly discussed with David and Manuel



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@37928 72102866-910b-0410-8b05-ffd578937521
2014-05-30 17:37:46 +00:00
mguesdon
64604f3337 * EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m:
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
2014-05-29 12:06:02 +00:00
mguesdon
8be4f65ada * EOAccess/EODatabaseContext.m
implement _objectFaultWithSnapshot:relationship:editingContext:
  fix -initializeObject:row:entity:editingContext:
  finish implementation of -_obtainOpenChannel
  implement -_forceDisconnect
  fix -_openChannelWithLoginPanel:
  implement -_verifyNoChangesToReadonlyEntity:
* EOAccess/EOAttributePriv.h
  add -_isNonUpdateable
  add -_isPrimaryKeyClassProperty
  add _flags.isNonUpdateable
  add _flags.isNonUpdateableInitialized
* EOAccess/EOAttribute.m
  add -_isNonUpdateable
  add -_isPrimaryKeyClassProperty


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@37905 72102866-910b-0410-8b05-ffd578937521
2014-05-22 18:31:05 +00:00
mguesdon
ea4c7676b6 * EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m:
fix newValueForDateTypeLengthAttribute
* EOAccess/EOEntityPriv.h
  declare -_isSingleTableEntity
  declare -_assertNoPropagateKeyCycleWithEntities:relationships:
* EOAccess/EOEntity.m
  fix _flattenAttribute:relationshipPath:currentAttributes:
  use relationshipPathBy...Component
  make _addAttributesToFetchForRelationshipPath:atts: more understandable
  implement -_assertNoPropagateKeyCycleWithEntities:relationships:
  implement -_isSingleTableEntity
  fix validateValue:forKey: 
* EOAccess/EOExpressionArray.m
  implement -valueWithSQLExpressionElement:forSQLExpression:
  fix -valueForSQLExpression:
* EOAccess/EODatabaseContext.m
  reformat -batchNewPrimaryKeysWithEntity:count:
  reformat -prepareForSaveWithCoordinator:editingContext:
  reformat and fix -recordChangesInEditingContext:
  reformat -recordUpdateForObject:changes:
  fix -valuesForKeys:object:
  fix -nullifyAttributesInRelationship:sourceObject:destinationObject:
  add -_mutableValuesForKeys:object:
  add -_recordInsertForIntermediateRowFromSourceObject:...
  fix -relayAttributesInRelationship:sourceObject:destinationObject:
  fix -relayPrimaryKey:sourceObject:destObject:relationship:
  fix -relayPrimaryKey:object:entity:
  fix -createAdaptorOperationsForDatabaseOperation:
  fix -_buildPrimaryKeyGeneratorListForEditingContext:
* EOAccess/EODatabaseOperation.m
  clean code
* EOAccess/EODatabaseChannel.m
  fix -_propertiesToFetch
* EOControl/EONSAddOns.[hm]
  add NSString (EORelationshipPath)



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@37902 72102866-910b-0410-8b05-ffd578937521
2014-05-22 14:05:51 +00:00
mguesdon
c959f7c14c * EOAccess/EOAdaptorChannel.m
call delegate -adaptorChannel:willPerformOperations:
	* EOAccess/EODatabaseContext.m:
	  propagate delegate to channel
	  fix objectsForSourceGlobalID:relationshipName:editingContext: 
	    isToManyToOne case
	* EOAdaptors/PostgreSQLAdaptor/PostgreSQLChannel.m:
	  call delegate methods
	  adding assert to catch bad dates
	  use adaptor -primaryKeySequenceNameFormat
	* EOAccess/EOrelationship.m
	  implement -isParentRelationship
	  verify/clean -isReciprocalToRelationship:
	  implement -qualifierWithSourceRow:
	  small fix on -removeJoin:
	  use batch faulting when -setNumberOfToManyFaultsToBatchFetch:
	  improve -setIsMandatory
	  fix exception message -validateValue:
	  clean -_intermediateAttributes
	  clean -isMultiHop
	  implement -primaryKeyForTargetRowFromSourceDBSnapshot:
	  implement -_setSourceToDestinationKeyMap:
	  implement -qualifierForDBSnapshot:
	  fix/implement -isToManyToOne
	  fix -foreignKeyInDestination
	  implement -isPropagatesPrimaryKeyPossible
	  implement -qualifierOmittingAuxiliaryQualifierWithSourceRow
	  implement -auxiliaryQualifier
	  implement -setAuxiliaryQualifier:
	  clean -_sourceRowToForeignKeyMapping
	  add comment in -_sourceAttributeNames
	  fix -joinForAttribute:
	  fix -_flushCache
	  fix -_stringFromDeleteRule:
	  implement -_rightSideKeyMap
	  implement -_leftSideKeyMap
	  implement -_substitutionRelationshipForRow:
	  fix -isFlattened
	  remove _componentRelationships
	* EOAccess/EORelationship.h
	  remove _componentRelationships
	* EOAccess/EOEntityPriv.[hm]
	  fix _hiddenRelationships return type
	* EOAccess/Entity.m:
	  implement -_mapAttribute:toDestinationAttributeInLastComponentOfRelationshipPath:
	  implement -_inverseRelationshipPathForPath:
	  implement -_relationshipPathHasIdenticalKeys:
	  rewrite & fix -_keyMapForRelationshipPath:
	  rewrite & fix -_keyMapForIdenticalKeyRelationshipPath:
	  implement -valueForSQLExpression:
	  fix -validateObjectForDelete:
	  implement -qualifierForDBSnapshot:
	  fix -_addAttributesToFetchForRelationshipPath:atts:
	  fix -_parsePropertyName:	
	  implement -fetchSpecificationNamed:
	  implement +externalNameForInternalName:separatorString:useAllCaps:
	  implement +nameForExternalName:separatorString:initialCaps:
	  implement -stringByMarkingUpcaseTransitionsWithDelimiter
	  implement -snapshotKeyForAttributeName:
	  implement -_flattenedAttNameToSnapshotKeyMapping
	  fix -_attributesToFetch
	  fix -_attributesToSave
	* EOAccess/Entity.h:
	  fix _inverseRelationshipPathForPath:
	  fix -_relationshipPathHasIdenticalKey:
	  add _flgas.isSingleTableEntity
	* EOAccess/EntityPriv.h:
	  fix -qualifierForDBSnapshot:
	* EOAccess/EOPrivate.[hm]
	  add GDL2_EORelationshipClass
	  add GDL2_EOEntityClass
	* EOAccess/EOModel.m:
	  cache [EOEntity class]
	  add -propertyListForEntity:name: to enable subclassing
	* EOAccess/EOAttribute.m
	  fix -isFlattened
	  implement -targetAttribute
	  implement -relationshipPath
	  fix -_setDefinitionWithoutFlushingCaches:
	  fix -_normalizeDefinition:path:
	  fix -isReadOnly
	  implement -_setOverrideForKeyEnum:
	  implement -_hasAnyOverrides
	  implement -_isKeyEnumOverriden:
	  implement -_prototypeKeys
	  fix -initWithPropertyList:owner:
	  fix -readFormat
	  fix -writeFormat
	  fix -scale
	  fix -precision
	  fix -width
	  fix -allowsNull
	  fix -isReadOnly
	  fix -valueClassName
	  fix -externalType
	  fix -valueType
	  implement -_setValuesFromTargetAttribute
	* EOAccess/EOAttribute.h
	  declare -targetAttribute
	  declare -relationshipPath
	* EOAccess/EOAttributePriv.h
	  declare EOAttributeProtoOverrideBits enum
	  fix method arguments
	  declare  _setValuesFromTargetAttribute()
	* EOAccess/EOExpressionArray.h
	  declare -_isPropertyPath
	* EOAccess/EOExpressionArray.m
	  implement -_isPropertyPath



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@37813 72102866-910b-0410-8b05-ffd578937521
2014-04-26 18:23:22 +00:00
buzzdee
857c934072 more fixes to format strings and direct isa usage
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@37738 72102866-910b-0410-8b05-ffd578937521
2014-03-09 08:17:55 +00:00
buzzdee
23118a1d58 fix warnings related to format strings
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@36234 72102866-910b-0410-8b05-ffd578937521
2013-03-02 15:28:25 +00:00
buzzdee
203890e0c3 * shutup all clang warnings of type:
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
2013-03-02 13:59:48 +00:00
fredkiefer
073437b55c ubmit another patch by Georg Fleischmann <Georg.Fleischmann@vhf.de>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@31509 72102866-910b-0410-8b05-ffd578937521
2010-10-13 20:21:38 +00:00
fredkiefer
361449d5cc Apply patches by Georg Fleischmann <Georg.Fleischmann@vhf.de>.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@31339 72102866-910b-0410-8b05-ffd578937521
2010-09-12 17:54:00 +00:00
dwetzel
2668a64a0b * EOAccess/EODatabaseContext.m
fix lockObjectWithGlobalID:editingContext:



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@31190 72102866-910b-0410-8b05-ffd578937521
2010-08-21 07:51:08 +00:00
dwetzel
87005f5ae5 * EOAccess/EODatabaseContext.m
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
2010-07-05 08:17:00 +00:00
dwetzel
dea8f72cf5 use memset in place of bzero
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30921 72102866-910b-0410-8b05-ffd578937521
2010-07-04 17:20:07 +00:00
dwetzel
fe2d1a281f * 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.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30918 72102866-910b-0410-8b05-ffd578937521
2010-07-04 10:00:57 +00:00
dwetzel
2e927042fb * EOAccess/EODatabaseOperation.m
fix typo in string
* EOAccess/EODatabaseContext.m
add compareUsingEntityNames()
-orderAdaptorOperations
refactor
-entityNameOrderingArrayForEntities:
implemented
* EOControl/EOMutableKnownKeyDictionary.m
remove log



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30911 72102866-910b-0410-8b05-ffd578937521
2010-07-02 04:12:26 +00:00
dwetzel
baafd000a1 * 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



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30910 72102866-910b-0410-8b05-ffd578937521
2010-07-01 23:18:07 +00:00
dwetzel
4961ed55e0 * 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.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30886 72102866-910b-0410-8b05-ffd578937521
2010-06-29 03:10:35 +00:00
dwetzel
49249efbd7 * 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:



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30875 72102866-910b-0410-8b05-ffd578937521
2010-06-28 09:31:49 +00:00
dwetzel
a1d5f3b8e7 * 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 



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30874 72102866-910b-0410-8b05-ffd578937521
2010-06-27 08:34:28 +00:00
dwetzel
aef2be1753 * 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 


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30722 72102866-910b-0410-8b05-ffd578937521
2010-06-15 03:48:52 +00:00
dwetzel
7671304816 * 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



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30675 72102866-910b-0410-8b05-ffd578937521
2010-06-11 12:17:45 +00:00
dwetzel
fcecb446bd * 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:	



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30633 72102866-910b-0410-8b05-ffd578937521
2010-06-09 12:48:33 +00:00
dwetzel
bb8f3c22ca * 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



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30586 72102866-910b-0410-8b05-ffd578937521
2010-06-06 08:52:37 +00:00
dwetzel
db008dd8dd * 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. 



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30569 72102866-910b-0410-8b05-ffd578937521
2010-06-04 05:41:58 +00:00
dwetzel
118333b97e Remove lots of logging.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30496 72102866-910b-0410-8b05-ffd578937521
2010-05-30 19:25:53 +00:00
dwetzel
4efc992099 * 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



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30494 72102866-910b-0410-8b05-ffd578937521
2010-05-30 18:24:14 +00:00
dwetzel
9d524177e5 * EOAccess/EODatabaseContext.m
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
2010-04-26 21:52:42 +00:00
ayers
181faef1c2 * EOAccess/EODatabaseContext.m
(prepareForSaveWithCoordinator:editingContext:): Correct logic
	for primary key generation.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30219 72102866-910b-0410-8b05-ffd578937521
2010-04-22 09:38:07 +00:00
dwetzel
61d02eac6d start transaction in
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
2010-04-20 06:11:53 +00:00
ayers
7fe4f08d30 * EOAccess/EODatabaseContext.m
(qualifierForLockingAttributes:primaryKeyAttributes:entity:snapshot:)
	Revert rewrite.  Adapt to NSUInteger.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30194 72102866-910b-0410-8b05-ffd578937521
2010-04-19 07:45:08 +00:00
ayers
a43ebf8406 revert EODatabaseContext rewrite.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30193 72102866-910b-0410-8b05-ffd578937521
2010-04-19 07:32:31 +00:00
dwetzel
4dd8ce12ee rewrote qualifierForLockingAttributes:primaryKeyAttributes:entity:snapshot:
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30191 72102866-910b-0410-8b05-ffd578937521
2010-04-19 07:15:05 +00:00
ayers
c762ccfcbd * EOAccess/EODatabase.m (setUpdateStrategy:): Count the snapshots
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
2009-03-16 08:26:00 +00:00
ayers
0c2ea50226 * EOAccess/EODatabaseContext.m
([-initializeObject:row:entity:editingContext:]): Remove debug logs.
	* EOAccess/EOEntity.m ([-_dictionaryForInstanceProperties],
	[-primaryKeyForGlobalID:]) Remove debug logs.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26481 72102866-910b-0410-8b05-ffd578937521
2008-05-01 18:08:18 +00:00
ayers
5df3ba435a * 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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@25994 72102866-910b-0410-8b05-ffd578937521
2008-01-22 13:57:07 +00:00
ayers
5f0e695609 * COPYING.LIB: Update to LGPL 3.
* DB2Modeler/COPYING:  Update to GPL 3.
	* *.*: Update copyright notices.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@25326 72102866-910b-0410-8b05-ffd578937521
2007-07-12 06:39:22 +00:00
ayers
888396bab3 * EOAccess/EODatabaseContext.h (recordChangesInEditingContext):
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
2007-02-22 20:40:10 +00:00
ayers
4c056a14f2 * 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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@24302 72102866-910b-0410-8b05-ffd578937521
2007-01-01 11:52:38 +00:00
ayers
9a013cca64 * EOAdaptors/Postgres95/GNUmakefile.in:
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
2006-09-14 16:06:21 +00:00
ayers
d249638f2c * EOAccess/EODatabaseContext.m ([-dealloc], [-rollbackChanges])
([-_cleanUpAfterSave]): Guard against missing hash table.
	([-registerLockedObjectWithGlobalID:]): Reformat.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21653 72102866-910b-0410-8b05-ffd578937521
2005-08-17 21:11:40 +00:00
ayers
6c7bbf590a * COPYING.LIB: Update to LGPL 2.1.
* configure: Regenerate.
	* Update FSF Address and Copyright years.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21645 72102866-910b-0410-8b05-ffd578937521
2005-08-17 08:07:57 +00:00
ayers
baf0a9404b * EOAccess/EODatabaseContext.m (-forgetSnapshotForGlobalID:):
Handle deleted globalIDs correctly.
        (-forgetSnapshotsForGlobalIDs:): Ditto.
        (-_commitTransaction, -_beginTransaction): Ditto.
        (-_rollbackTransaction): Implement.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20836 72102866-910b-0410-8b05-ffd578937521
2005-03-03 14:00:42 +00:00
ayers
e2c2cf6221 * 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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20779 72102866-910b-0410-8b05-ffd578937521
2005-02-22 16:14:03 +00:00
ayers
adc5ba956a * 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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20766 72102866-910b-0410-8b05-ffd578937521
2005-02-20 20:33:09 +00:00
ayers
3d9dbffe7f * 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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20759 72102866-910b-0410-8b05-ffd578937521
2005-02-20 10:52:57 +00:00
ayers
9fd2363f39 * EOAccess/EODatabaseContext.m:
(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-17 12:19:38 +00:00
ayers
c9d7ddde85 * EOAccess/EODatabaseContext.m:
(-_currentCommittedSnapshotForObject:): Fix crash in logging.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20738 72102866-910b-0410-8b05-ffd578937521
2005-02-17 09:52:14 +00:00
mguesdon
9911f8d782 Optimizations :
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
2005-02-13 13:04:19 +00:00