Commit graph

92 commits

Author SHA1 Message Date
Manuel Guesdon
3425fb640b * 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
Sebastian Reitenbach
2d60697be7 * 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
Manuel Guesdon
551011134a * 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
Manuel Guesdon
04d6bb3aac * 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
Sebastian Reitenbach
97b6302f68 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
Sebastian Reitenbach
291ec858bf * EOAccess/EOEntity.m
remove unused variable
        * EOControl/EOEditingContext.m
          use the object, instead of the EOGlobalID to get the entityName
        * EOControl/EOGenericRecord.m
        * EOInterface/EOColumnAssociation.[h|m]
        * EOInterface/EOTableViewAssociation.m
          some NS(U)Integer conversions


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@36677 72102866-910b-0410-8b05-ffd578937521
2013-05-29 13:24:29 +00:00
Sebastian Reitenbach
de5c0311d1 * 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
Dave Wetzel
385770a9a1 * 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
Dave Wetzel
f14aafa3fc * 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
Dave Wetzel
4878a85bbe * 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
Dave Wetzel
d193acd41c * 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
Dave Wetzel
689fa01970 * 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
Dave Wetzel
8f66ac4667 * 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.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30536 72102866-910b-0410-8b05-ffd578937521
2010-06-02 07:55:16 +00:00
Dave Wetzel
1935fd8e22 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
Dave Wetzel
fb061e0a13 added support for stored procedures
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30461 72102866-910b-0410-8b05-ffd578937521
2010-05-27 06:50:25 +00:00
Dave Wetzel
b6d3915786 * 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.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30397 72102866-910b-0410-8b05-ffd578937521
2010-05-16 08:14:49 +00:00
Dave Wetzel
e92812fdff * 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
Dave Wetzel
a8f69ea595 globalIDForRow: isFinal: - create EOKeyGlobalID ouside loop
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30201 72102866-910b-0410-8b05-ffd578937521
2010-04-20 06:14:21 +00:00
Fred Kiefer
ce2d3fb811 Fix a few compiler warnings.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@30199 72102866-910b-0410-8b05-ffd578937521
2010-04-19 18:00:53 +00:00
David Ayers
c1a1ad155e * EOAccess/EOEntity.m (-dealloc): Invalidate class description
cache.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@27910 72102866-910b-0410-8b05-ffd578937521
2009-02-18 05:52:42 +00:00
Matt Rice
f7ceba56ed * 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.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@27908 72102866-910b-0410-8b05-ffd578937521
2009-02-18 05:05:21 +00:00
Matt Rice
a6415d024a EOAccess/EOEntity.m (performSelectorOnArrayWithEachObjectOfClass()):
Perform the selectors on a copy of the array.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26595 72102866-910b-0410-8b05-ffd578937521
2008-06-05 23:18:39 +00:00
Matt Rice
82d27b5e48 * EOAccess/EOEntity.m (-[isValidPrimaryKeyAttribute:],
-[isValidAttributeUsedForLocking:],
-[isValidClassProperty:]): Test object equality as well as name.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26484 72102866-910b-0410-8b05-ffd578937521
2008-05-03 08:14:22 +00:00
David Ayers
0867ca8cf4 * 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
Matt Rice
40f55c0218 * 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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26480 72102866-910b-0410-8b05-ffd578937521
2008-05-01 10:42:08 +00:00
Matt Rice
468200f8ae * 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.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26415 72102866-910b-0410-8b05-ffd578937521
2008-03-31 16:03:16 +00:00
David Ayers
74d90ef26e * 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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26388 72102866-910b-0410-8b05-ffd578937521
2008-03-29 11:18:58 +00:00
Matt Rice
6c47a5bb17 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.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26383 72102866-910b-0410-8b05-ffd578937521
2008-03-28 16:04:59 +00:00
Matt Rice
2cac738da8 * 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.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26275 72102866-910b-0410-8b05-ffd578937521
2008-03-11 19:43:57 +00:00
Matt Rice
379b5306f8 rearrange attribute and relationship name cache invalidation and creation.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26259 72102866-910b-0410-8b05-ffd578937521
2008-03-10 11:53:12 +00:00
Matt Rice
e35a70da43 * DBModeler/Modeler.m,
* EOAccess/EOEntityPriv.h,
        * EOAccess/EOModel.h/m,
        * EOAccess/EOEntity.h/m,
        * EOAccess/EORelationship.h/m: Remove setCreateMutableObjects: and
        createsMutableObjects.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26227 72102866-910b-0410-8b05-ffd578937521
2008-03-06 16:28:22 +00:00
David Ayers
be3346e4ad * 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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@26222 72102866-910b-0410-8b05-ffd578937521
2008-03-06 09:31:16 +00:00
David Ayers
9720ac993d * 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
David Ayers
c4bf6fba06 * 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
Matt Rice
11c2e9260a * 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.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@24253 72102866-910b-0410-8b05-ffd578937521
2006-12-26 16:41:37 +00:00
Matt Rice
a34631c202 * EOAccess/EOEntity.m: Break retain cycle for parent/sub entities.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23956 72102866-910b-0410-8b05-ffd578937521
2006-10-23 18:00:09 +00:00
Matt Rice
c3bb66bcc3 * EOAccess/EOEntity.m (-dealloc): Add missing calls to release,
reorganize.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23955 72102866-910b-0410-8b05-ffd578937521
2006-10-23 17:39:24 +00:00
Matt Rice
9e08693c96 * 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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23954 72102866-910b-0410-8b05-ffd578937521
2006-10-23 15:29:27 +00:00
Matt Rice
a1605b6f72 * EOAccess: Revert previous changes.
git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23949 72102866-910b-0410-8b05-ffd578937521
2006-10-23 11:39:48 +00:00
Matt Rice
f9f1fdb6d3 * 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.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23946 72102866-910b-0410-8b05-ffd578937521
2006-10-22 20:16:31 +00:00
Matt Rice
da74a77858 * 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.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23874 72102866-910b-0410-8b05-ffd578937521
2006-10-15 12:23:42 +00:00
Matt Rice
fa9b96612d * 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:



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23740 72102866-910b-0410-8b05-ffd578937521
2006-10-03 15:19:33 +00:00
Matt Rice
a7f90ca359 * 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.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23707 72102866-910b-0410-8b05-ffd578937521
2006-10-02 07:29:29 +00:00
Matt Rice
f9d210a522 * 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.



git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23696 72102866-910b-0410-8b05-ffd578937521
2006-10-01 17:18:04 +00:00
David Ayers
7331d77528 * 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
David Ayers
ad43813eb0 * EOAccess/EOSQLExpression.h (deleteStatementWithQualifier:entity:)
* EOAccess/EOSQLExpressionPriv.h (_aliasForRelationshipPath:)
	(_flattenRelPath:entity:, _aliasForRelatedAttribute:relationshipPath:)
	* EOAccess/EOSQLExpression.m (insertStatementForRow:entity:)
	(updateStatementForRow:qualifier:entity:)
	(deleteStatementWithQualifier:entity:)
	(selectStatementForAttributes🔒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.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@23472 72102866-910b-0410-8b05-ffd578937521
2006-09-12 19:36:24 +00:00
Matt Rice
c19aa897d7 * EOAccess/EOEntity.m (-relationships): Fix whitespace from previous
commit.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@22684 72102866-910b-0410-8b05-ffd578937521
2006-03-19 18:39:38 +00:00
Matt Rice
fbedef852f * 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.




git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@22681 72102866-910b-0410-8b05-ffd578937521
2006-03-19 18:03:50 +00:00
David Ayers
9647f11503 * 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
Matt Rice
4ba78b33b4 * dev-apps/test/Testsuite/gdl2/GDL2Testing.h: Include ObjectTesting.h instead of stuff.h.
* dev-apps/test/Testsuite/gdl2/EOModel/test05.m: New test for -removeEntity:.

* dev-libs/gdl2/EOAccess/EOEntity.m (-_setModel:): Accept nil argument, comment.
* dev-libs/gdl2/EOAccess/EOModel.m (-removeEntity:): Comment.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21321 72102866-910b-0410-8b05-ffd578937521
2005-06-17 14:46:37 +00:00