* EOAccess/EOJoin.h: Update memory mangement comments.

* EOAccess/EOJoin.m (dealloc): Implement.
	* EOAccess/EORelationship.m (dealloc,_flushCahce): Fix memory leaks.
	* EOAccess/EOAttribute.h: Update some signatures.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@27695 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
ayers 2009-01-26 12:05:29 +00:00
parent ec3cd7097f
commit 57e9f93b82
5 changed files with 45 additions and 14 deletions

View file

@ -1,3 +1,10 @@
2009-01-26 David Ayers <ayers@fsfe.org>
* EOAccess/EOJoin.h: Update memory mangement comments.
* EOAccess/EOJoin.m (dealloc): Implement.
* EOAccess/EORelationship.m (dealloc,_flushCahce): Fix memory leaks.
* EOAccess/EOAttribute.h: Update some signatures.
2009-01-25 Matt Rice <ratmice@gmail.com>
* DBModeler/MainModelEditor.m: Implement

View file

@ -144,9 +144,9 @@ typedef enum {
- (NSString *)valueType;
- (unsigned)width;
- (unsigned int)width;
- (unsigned)precision;
- (unsigned int)precision;
- (int)scale;
@ -186,9 +186,9 @@ typedef enum {
- (void)setValueClassName: (NSString *)name;
- (void)setWidth: (unsigned)length;
- (void)setWidth: (unsigned int)length;
- (void)setPrecision: (unsigned)precision;
- (void)setPrecision: (unsigned int)precision;
- (void)setScale: (int)scale;
@ -235,12 +235,12 @@ typedef enum {
encoding: (NSStringEncoding)encoding;
- (NSCalendarDate *)newDateForYear: (int)year
month: (unsigned)month
day: (unsigned)day
hour: (unsigned)hour
minute: (unsigned)minute
second: (unsigned)second
millisecond: (unsigned)millisecond
month: (unsigned int)month
day: (unsigned int)day
hour: (unsigned int)hour
minute: (unsigned int)minute
second: (unsigned int)second
millisecond: (unsigned int)millisecond
timezone: (NSTimeZone *)timezone
zone: (NSZone *)zone;

View file

@ -35,14 +35,10 @@
@interface EOJoin : NSObject
{
/* Garbage collectable objects */
EOAttribute *_sourceAttribute;
EOAttribute *_destinationAttribute;
}
+ (EOJoin *)joinWithSourceAttribute: (EOAttribute *)source
destinationAttribute: (EOAttribute *)destination;
- (id)initWithSourceAttribute: (EOAttribute *)source
destinationAttribute: (EOAttribute *)destination;
@ -61,6 +57,9 @@
//+ (EOJoin *)joinFromPropertyList: (id)propertyList;
//- (void)replaceStringsWithObjectsInRelationship: (EORelationship *)entity;
//- (id)propertyList;
+ (EOJoin *)joinWithSourceAttribute: (EOAttribute *)source
destinationAttribute: (EOAttribute *)destination;
@end /* EOJoin (EOJoinPrivate) */

View file

@ -80,6 +80,13 @@ RCS_ID("$Id$")
return self;
}
- (void)dealloc
{
DESTROY(_sourceAttribute);
DESTROY(_destinationAttribute);
[super dealloc];
}
- (unsigned)hash
{
return [_sourceAttribute hash];

View file

@ -114,6 +114,8 @@ RCS_ID("$Id$")
- (void)dealloc
{
[self _flushCache];
DESTROY(_name);
DESTROY(_qualifier);
DESTROY(_sourceNames);
@ -121,9 +123,15 @@ RCS_ID("$Id$")
DESTROY(_userInfo);
DESTROY(_internalInfo);
DESTROY(_docComment);
DESTROY(_joins);
DESTROY(_sourceToDestinationKeyMap);
DESTROY(_sourceRowToForeignKeyMapping);
DESTROY(_definitionArray);
_entity = nil;
_destination = nil;
[super dealloc];
}
@ -679,8 +687,17 @@ to know what to-many mean :-) **/
return joinSemanticString;
}
/**
* Returns the array of relationships composing this flattend relationship.
* Returns nil of the reciever isn't flattend.
*/
- (NSArray *)componentRelationships
{
/* FIXME:TODO: Have this method deterimne the components dynamically
without caching them in the ivar. Possibly add some tracing code to
see if caching the values can actually improve performance.
(Unlikely that it's worth the trouble this may cause for entity
edititng). */
if (!_componentRelationships)
{
return _definitionArray; //OK ??????
@ -2157,6 +2174,7 @@ dst entity primaryKeyAttributeNames
DESTROY(_destinationAttributes);
DESTROY(_inverseRelationship);
DESTROY(_hiddenInverseRelationship);
DESTROY(_componentRelationships);
}
- (EOExpressionArray*) _definitionArray