2009-06-24 Georg Fleischmann <g.fleischmann@vhf.de>

2009-06-24  David Ayers  <ayers@fsfe.org>

	* EOAccess/EOPrivate.h (EOQualifier <EOQualifierSQLGeneration>):
	Declare.
	* EOAccess/EOSQLQualifier.m
	([EOQualifier schemaBasedQualifierWithRootEntity:]),
	([EOQualifier sqlStringForSQLExpression:]): Add preliminary dummy
	implementations.
	([EONotQualifier schemaBasedQualifierWithRootEntity:]): Implement.
	


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@28406 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
David Ayers 2009-07-24 16:20:27 +00:00
parent 8351843e41
commit 2883b0b21c
3 changed files with 58 additions and 8 deletions

View file

@ -1,3 +1,14 @@
2009-06-24 Georg Fleischmann <g.fleischmann@vhf.de>
2009-06-24 David Ayers <ayers@fsfe.org>
* EOAccess/EOPrivate.h (EOQualifier <EOQualifierSQLGeneration>):
Declare.
* EOAccess/EOSQLQualifier.m
([EOQualifier schemaBasedQualifierWithRootEntity:]),
([EOQualifier sqlStringForSQLExpression:]): Add preliminary dummy
implementations.
([EONotQualifier schemaBasedQualifierWithRootEntity:]): Implement.
2009-06-01 Georg Fleischmann <g.fleischmann@vhf.de>
* EOAdaptor/PostgreSQLAdaptor/EOPostgreSQLExpression.m
@ -941,7 +952,7 @@
nullifyAttributesInRelationship:relationships:
and relayAttributesInRelationship:relationships: at the end.
2007-02-18 Nicola Pero <nicola.pero@meta-innovation.com>
2007-02-18 Nicola Pero <nicola.pero@meta-innovation.com>
* configure.ac: Check for GNUSTEP_MAKEFILES, not
GNUSTEP_SYSTEM_ROOT.
@ -999,7 +1010,7 @@
and +foreignKeyConstraintStatementsForRelationship: to return empty
arrays.
007-01-05 Matt Rice <ratmice@gmail.com>
2007-01-05 Matt Rice <ratmice@gmail.com>
* Documentation/GDL2Intro/GDL2Intro.texi: Add more docs.
* Documentation/GDL2Intro/Examples/eoexample.m: Use an

View file

@ -30,6 +30,8 @@
#include "EODefines.h"
#include "../EOControl/EOPrivate.h"
#include "EOSQLQualifier.h"
@class EODatabaseContext;
// ==== Classes ====
@ -47,4 +49,13 @@ GDL2ACCESS_EXPORT void GDL2_EOAccessPrivateInit();
GDL2ACCESS_EXPORT NSDictionary* EODatabaseContext_snapshotForGlobalIDWithImpPtr(EODatabaseContext* dbContext,IMP* impPtr,EOGlobalID* gid);
GDL2ACCESS_EXPORT EOGlobalID* EODatabaseContext_globalIDForObjectWithImpPtr(EODatabaseContext* dbContext,IMP* impPtr,id object);
/* EOQualifier implements schemaBasedQualifierWithRootEntity:
but it instead of simply declaring and documenting that EOF
merely declares the protocol for its subclasses and uses
EORequestConcreteImplementation for other classes.
*/
@interface EOQualifier (EOQualifierSQLGeneration) <EOQualifierSQLGeneration>
@end
#endif /* __EOAccess_EOPrivat_h__ */

View file

@ -70,12 +70,10 @@ RCS_ID("$Id$")
#include "EOEntityPriv.h"
@implementation EOSQLQualifier
+ (EOQualifier *)qualifierWithQualifierFormat: (NSString *)format, ...
{
NSEmitTODO(); //TODO
[self notImplemented: _cmd]; //TODO
return nil;
}
@ -84,18 +82,19 @@ RCS_ID("$Id$")
{
NSEmitTODO(); //TODO
[self notImplemented: _cmd]; //TODO
return nil;
}
- (EOQualifier *)schemaBasedQualifierWithRootEntity:(EOEntity *)entity
{
NSEmitTODO(); //TODO
[self notImplemented: _cmd];
return nil;
}
- (NSString *)sqlStringForSQLExpression:(EOSQLExpression *)sqlExpression
{
NSEmitTODO(); //TODO
[self notImplemented: _cmd];
return nil;
}
@ -103,6 +102,24 @@ RCS_ID("$Id$")
@end
/* Undocumente method which uses EORequestConcreteImplementation
to determine an implementation to use for non EOF-Qualifiers.
*/
@implementation EOQualifier (EOQualifierSQLGeneration)
- (EOQualifier *)schemaBasedQualifierWithRootEntity:(EOEntity *)entity
{
NSEmitTODO(); //TODO
[self notImplemented: _cmd];
return nil;
}
- (NSString *)sqlStringForSQLExpression:(EOSQLExpression *)sqlExpression
{
NSEmitTODO(); //TODO
[self notImplemented: _cmd];
return nil;
}
@end
@implementation EOAndQualifier (EOQualifierSQLGeneration)
- (NSString *)sqlStringForSQLExpression: (EOSQLExpression *)sqlExpression
@ -496,9 +513,20 @@ RCS_ID("$Id$")
- (EOQualifier *)schemaBasedQualifierWithRootEntity: (EOEntity *)entity
{
//TODO
[self notImplemented: _cmd];
return nil;
EOQualifier *returnedQualifier = self;
EOQualifier *schemaBasedQualifier;
schemaBasedQualifier
= [_qualifier schemaBasedQualifierWithRootEntity: entity];
// If we've got a different qualifier, return a new EONotQualifier
if (schemaBasedQualifier != _qualifier)
{
returnedQualifier
= [[self class] qualifierWithQualifier: schemaBasedQualifier];
}
return returnedQualifier;
}
@end