Commit graph

86 commits

Author SHA1 Message Date
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
David Ayers
d7ba99629e Fix bug reported by: jim _at_ uchicago dot edu.
* EOAccess/EOEntity.m (-primaryKeyRootName): Recurse to
	through primaryKeyRootName of parent entity.
        * EOAdaptors/Postgres95/Postgres95Channel.m
        (primaryKeyForNewRowWithEntity:): Use primaryKeyRootName to
        construct sequence name.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@21126 72102866-910b-0410-8b05-ffd578937521
2005-04-19 14:14:37 +00:00
David Ayers
6a28dfbc6e * EOAccess/EOEntity.m (initWithPropertyList:owner:):
Reformatting for GNU coding standards.
        (-attributes): Fix memory leak.  Use global class cache.
        Handle partially converted attributes array.
        (-_attributeNameChangedFrom:to:): New privat method.
        * EOAccess/EOEntityPriv.h (-_attributeNameChangedFrom:to:):
        Declare new private method.
        * EOAccess/EOAttribute.m (setName:): Call
        -[EOEntity _attributeNameChangedFrom:to:] if attribute is in
        an EOEntity.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20835 72102866-910b-0410-8b05-ffd578937521
2005-03-03 12:17:57 +00:00
David Ayers
86b1325708 * 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
David Ayers
0d24407fcf * 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
Matt Rice
74a8e976bf Call -willChange: to support EOObserving in EOModel, EOEntity, EOAttribute,
EORelationship, EOStoredProcedure.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20745 72102866-910b-0410-8b05-ffd578937521
2005-02-18 16:46:38 +00:00
David Ayers
cd0f130fc7 * EOAccess/EOEntity.m: Remove unnecessary include.
(-setClassProperties:, -setPrimaryKeyAttributes:)
        (-setAttributesUsedForLocking:): Remove unnecessary casts.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@20737 72102866-910b-0410-8b05-ffd578937521
2005-02-17 09:41:09 +00:00