[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
GDL2, EOSQLQualifier Implementation
From: |
Georg Fleischmann |
Subject: |
GDL2, EOSQLQualifier Implementation |
Date: |
Fri, 24 Jul 2009 12:17:09 +0800 |
Hi,
here is my implementation of EOSQLQualifier.
EOExpressionArray seems to be an overkill here, but I just used the
ivar as is.
* EOAccess/EOSQLQualifier:
[EOSQLQualifier -initWithEntity:qualifierFormat:]
[EOSQLQualifier -schemaBasedQualifierWithRootEntity:]
[EOSQLQualifier -sqlStringForSQLExpression:]
[EOSQLQualifier -dealloc]
implemented
Best wishes,
Georg Fleischmann
*** EOAccess/EOSQLQualifier.m.old Sun Jul 19 12:18:00 2009
--- EOAccess/EOSQLQualifier.m Tue Jul 21 12:23:32 2009
***************
*** 58,63 ****
--- 58,64 ----
#include <EOAccess/EOJoin.h>
#include <EOAccess/EOEntity.h>
#include <EOAccess/EOSQLExpression.h>
+ #include <EOAccess/EOExpressionArray.h>
#include <EOControl/EOQualifier.h>
#include <EOControl/EOEditingContext.h>
***************
*** 81,102 ****
- (id)initWithEntity: (EOEntity *)entity
qualifierFormat: (NSString *)qualifierFormat, ...
{
! NSEmitTODO(); //TODO
! [self notImplemented: _cmd]; //TODO
! return nil;
}
- (EOQualifier *)schemaBasedQualifierWithRootEntity:(EOEntity *)
entity
{
! [self notImplemented: _cmd];
! return nil;
}
- (NSString *)sqlStringForSQLExpression:(EOSQLExpression *)
sqlExpression
{
! [self notImplemented: _cmd];
! return nil;
}
@end
--- 82,124 ----
- (id)initWithEntity: (EOEntity *)entity
qualifierFormat: (NSString *)qualifierFormat, ...
{
! va_list args;
! NSMutableString *sqlString;
! if(!entity)
! [NSException raise: NSInvalidArgumentException
! format: @"%@ -- %@ 0x%x: no entity specified",
! NSStringFromSelector(_cmd),
! NSStringFromClass([self class]),
! self];
!
! ASSIGN(_entity, entity);
!
! va_start (args, qualifierFormat);
! sqlString = [NSMutableString stringWithFormat:qualifierFormat
arguments:args];
! va_end (args);
!
! _contents = [[EOExpressionArray alloc] initWithPrefix:sqlString
infix:nil suffix:nil];
!
! return self;
}
- (EOQualifier *)schemaBasedQualifierWithRootEntity:(EOEntity *)
entity
{
! return self;
}
- (NSString *)sqlStringForSQLExpression:(EOSQLExpression *)
sqlExpression
{
! return [_contents expressionValueForContext:nil];
! }
!
! - (void)dealloc
! {
! DESTROY(_entity);
! DESTROY(_contents);
!
! [super dealloc];
}
@end
- GDL2, EOSQLQualifier Implementation,
Georg Fleischmann <=