* EOAccess/EOSchemaSynchronization.h/m: New files with stub

implementations.
	* EOAccess/GNUmakefile: Add EOSchemaSynchronization.h/m.


git-svn-id: svn+ssh://svn.gna.org/svn/gnustep/libs/gdl2/trunk@25318 72102866-910b-0410-8b05-ffd578937521
This commit is contained in:
ayers 2007-07-11 18:13:47 +00:00
parent 7a86463f81
commit 2465b08acc
4 changed files with 368 additions and 0 deletions

View file

@ -4,6 +4,10 @@
implementations.
* EOControl/GNUmakefile: Add EOAggregateEvent.h/m.
* EOAccess/EOSchemaSynchronization.h/m: New files with stub
implementations.
* EOAccess/GNUmakefile: Add EOSchemaSynchronization.h/m.
2007-05-05 Matt Rice <ratmice@gmail.com>
* EOInterface/EODisplayGroup.m (-deleteObjectAtIndex:):

View file

@ -0,0 +1,148 @@
/* -*-objc-*-
EOSchemaSynchronization.h
Copyright (C) 2007 Free Software Foundation, Inc.
Date: July 2007
This file is part of the GNUstep Database Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#ifndef __EOAccess_EOSchemaSynchronization_h__
#define __EOAccess_EOSchemaSynchronization_h__
#include <EOAccess/EOAdaptor.h>
#include <EOAccess/EOAdaptorChannel.h>
#include <EOAccess/EOSQLExpression.h>
GDL2ACCESS_EXPORT NSString *EOSchemaSynchronizationForeignKeyConstraintsKey;
GDL2ACCESS_EXPORT NSString *EOSchemaSynchronizationPrimaryKeyConstraintsKey;
GDL2ACCESS_EXPORT NSString *EOSchemaSynchronizationPrimaryKeySupportKey;
GDL2ACCESS_EXPORT NSString *EOAllowsNullKey;
GDL2ACCESS_EXPORT NSString *EOColumnNameKey;
GDL2ACCESS_EXPORT NSString *EOExternalNameKey;
GDL2ACCESS_EXPORT NSString *EOExternalTypeKey;
GDL2ACCESS_EXPORT NSString *EONameKey;
GDL2ACCESS_EXPORT NSString *EOPrecisionKey;
GDL2ACCESS_EXPORT NSString *EORelationshipsKey;
GDL2ACCESS_EXPORT NSString *EOScaleKey;
GDL2ACCESS_EXPORT NSString *EOWidthKey;
@protocol EOColumnTypes
- (NSString *)name;
- (unsigned)precision;
- (int)scale;
- (unsigned)width;
@end
@interface EOAdaptor (EOSchemaSynchronization)
- (NSDictionary *)objectStoreChangesFromAttribute:(EOAttribute *)schemaAttribute
toAttribute:(EOAttribute *)modelAttribute;
@end
@interface EOAdaptorChannel (EOSchemaSynchronization)
- (void)beginSchemaSynchronization;
- (void)endSchemaSynchronization;
@end
@interface NSObject (EOSchemaSynchronizationDelegates)
- (BOOL)allowsNullForColumnNamed:(NSString *)columnName
inSchemaTableNamed:(NSString *)tableName;
- (BOOL)isSchemaTableNamed:(NSString *)tableName;
- (EOAdaptor *)schemaSynchronizationAdaptor;
- (EOAdaptorChannel *)schemaSynchronizationAdaptorChannelForModel:(EOModel *)model;
- (void)schemaSynchronizationStatements:(NSArray *)statements
willCopyTableNamed:(NSString *)tableName;
- (void)schemaSynchronizationStatements:(NSArray *)statements
willDeleteTableNamed:(NSString *)tableName;
@end
@interface EOSQLExpression (EOSchemaSynchronization)
+ (BOOL)isCaseSensitive;
+ (BOOL)isColumnType:(id <EOColumnTypes>)columnType1
equivalentToColumnType:(id <EOColumnTypes>)columnType2
options:(NSDictionary *)options;
+ (NSArray *)logicalErrorsInChangeDictionary:(NSDictionary *)changes
forModel:(EOModel *)model
options:(NSDictionary *)options;
+ (NSString *)phraseCastingColumnNamed:(NSString *)columnName
fromType:(id <EOColumnTypes>)type
toType:(id <EOColumnTypes>)castType
options:(NSDictionary *)options;
+ (id)schemaSynchronizationDelegate;
+ (void)setSchemaSynchronizationDelegate:(id)delegate;
+ (NSArray *)statementsToCopyTableNamed:(NSString *)tableName
intoTableForEntityGroup:(NSArray *)entityGroup
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options;
+ (NSArray *)statementsToModifyColumnNamed:(NSString *)columnName
inTableNamed:(NSString *)tableName
toNullRule:(BOOL)allowsNull
options:(NSDictionary *)options;
+ (NSArray *)statementsToConvertColumnNamed:(NSString *)columnName
inTableNamed:(NSString *)tableName
fromType:(id <EOColumnTypes>)type
toType:(id <EOColumnTypes>)newType
options:(NSDictionary *)options;
+ (NSArray *)statementsToDeleteColumnNamed:(NSString *)columnName
inTableNamed:(NSString *)tableName
options:(NSDictionary *)options;
+ (NSArray *)statementsToInsertColumnForAttribute:(EOAttribute *)attribute
options:(NSDictionary *)options;
+ (NSArray *)statementsToRenameColumnNamed:(NSString *)columnName
inTableNamed:(NSString *)tableName
newName:(NSString *)newName
options:(NSDictionary *)options;
+ (NSArray *)statementsToDropForeignKeyConstraintsOnEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options;
+ (NSArray *)statementsToDropPrimaryKeyConstraintsOnEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options;
+ (NSArray *)statementsToDropPrimaryKeySupportForEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options;
+ (NSArray *)statementsToImplementForeignKeyConstraintsOnEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options;
+ (NSArray *)statementsToImplementPrimaryKeyConstraintsOnEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options;
+ (NSArray *)statementsToImplementPrimaryKeySupportForEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options;
+ (NSArray *)statementsToRenameTableNamed:(NSString *)tableName
newName:(NSString *)newName
options:(NSDictionary *)options;
+ (NSArray *)statementsToUpdateObjectStoreForModel:(EOModel *)model
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options;
+ (NSArray *)statementsToUpdateObjectStoreForEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options;
+ (BOOL)supportsDirectColumnNullRuleModification;
+ (BOOL)supportsDirectColumnCoercion;
+ (BOOL)supportsDirectColumnDeletion;
+ (BOOL)supportsDirectColumnInsertion;
+ (BOOL)supportsDirectColumnRenaming;
+ (BOOL)supportsSchemaSynchronization;
@end
#endif

View file

@ -0,0 +1,214 @@
/* -*-objc-*-
EOSchemaSynchronization.m
Copyright (C) 2007 Free Software Foundation, Inc.
Date: July 2007
This file is part of the GNUstep Database Library.
This library is free software; you can redistribute it and/or
modify it under the terms of the GNU Library General Public
License as published by the Free Software Foundation; either
version 2 of the License, or (at your option) any later version.
This library is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
Library General Public License for more details.
You should have received a copy of the GNU Library General Public
License along with this library; see the file COPYING.LIB.
If not, write to the Free Software Foundation,
51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
*/
#include <Foundation/Foundation.h>
#include "EOSchemaSynchronization.h"
NSString *EOSchemaSynchronizationForeignKeyConstraintsKey = @"EOSchemaSynchronizationForeignKeyConstraintsKey";
NSString *EOSchemaSynchronizationPrimaryKeyConstraintsKey = @"EOSchemaSynchronizationPrimaryKeyConstraintsKey";
NSString *EOSchemaSynchronizationPrimaryKeySupportKey = @"EOSchemaSynchronizationPrimaryKeySupportKey";
NSString *EOAllowsNullKey = @"allowsNull";
NSString *EOColumnNameKey = @"columnName";
NSString *EOExternalNameKey = @"externalName";
NSString *EOExternalTypeKey = @"externalType";
NSString *EONameKey = @"name";
NSString *EOPrecisionKey = @"precision";
NSString *EORelationshipsKey = @"relationships";
NSString *EOScaleKey = @"scale";
NSString *EOWidthKey = @"width";
@implementation EOAdaptor (EOSchemaSynchronization)
- (NSDictionary *)objectStoreChangesFromAttribute:(EOAttribute *)schemaAttribute
toAttribute:(EOAttribute *)modelAttribute
{
return nil;
}
@end
@implementation EOAdaptorChannel (EOSchemaSynchronization)
- (void)beginSchemaSynchronization
{
}
- (void)endSchemaSynchronization
{
}
@end
@implementation EOSQLExpression (EOSchemaSynchronization)
+ (BOOL)isCaseSensitive
{
return NO;
}
+ (BOOL)isColumnType:(id <EOColumnTypes>)columnType1
equivalentToColumnType:(id <EOColumnTypes>)columnType2
options:(NSDictionary *)options
{
return NO;
}
+ (NSArray *)logicalErrorsInChangeDictionary:(NSDictionary *)changes
forModel:(EOModel *)model
options:(NSDictionary *)options
{
return nil;
}
+ (NSString *)phraseCastingColumnNamed:(NSString *)columnName
fromType:(id <EOColumnTypes>)type
toType:(id <EOColumnTypes>)castType
options:(NSDictionary *)options
{
return nil;
}
+ (id)schemaSynchronizationDelegate
{
return nil;
}
+ (void)setSchemaSynchronizationDelegate:(id)delegate
{
}
+ (NSArray *)statementsToCopyTableNamed:(NSString *)tableName
intoTableForEntityGroup:(NSArray *)entityGroup
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToModifyColumnNamed:(NSString *)columnName
inTableNamed:(NSString *)tableName
toNullRule:(BOOL)allowsNull
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToConvertColumnNamed:(NSString *)columnName
inTableNamed:(NSString *)tableName
fromType:(id <EOColumnTypes>)type
toType:(id <EOColumnTypes>)newType
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToDeleteColumnNamed:(NSString *)columnName
inTableNamed:(NSString *)tableName
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToInsertColumnForAttribute:(EOAttribute *)attribute
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToRenameColumnNamed:(NSString *)columnName
inTableNamed:(NSString *)tableName
newName:(NSString *)newName
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToDropForeignKeyConstraintsOnEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToDropPrimaryKeyConstraintsOnEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToDropPrimaryKeySupportForEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToImplementForeignKeyConstraintsOnEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToImplementPrimaryKeyConstraintsOnEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToImplementPrimaryKeySupportForEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToRenameTableNamed:(NSString *)tableName
newName:(NSString *)newName
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToUpdateObjectStoreForModel:(EOModel *)model
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options
{
return nil;
}
+ (NSArray *)statementsToUpdateObjectStoreForEntityGroups:(NSArray *)entityGroups
withChangeDictionary:(NSDictionary *)changes
options:(NSDictionary *)options
{
return nil;
}
+ (BOOL)supportsDirectColumnNullRuleModification
{
return NO;
}
+ (BOOL)supportsDirectColumnCoercion
{
return NO;
}
+ (BOOL)supportsDirectColumnDeletion
{
return NO;
}
+ (BOOL)supportsDirectColumnInsertion
{
return NO;
}
+ (BOOL)supportsDirectColumnRenaming
{
return NO;
}
+ (BOOL)supportsSchemaSynchronization
{
return NO;
}
@end

View file

@ -50,6 +50,7 @@ EOAdaptorChannel.m \
EOAdaptorOperation.m \
EODatabaseOperation.m \
EOSchemaGeneration.m \
EOSchemaSynchronization.m \
EOSQLExpression.m \
EOSQLQualifier.m \
EODatabase.m \
@ -82,6 +83,7 @@ EODatabaseContext.h \
EOAccessFault.h \
EOPropertyListEncoding.h \
EODatabaseDataSource.h \
EOSchemaSynchronization.h \
EOSchemaGeneration.h \
EOUtilities.h \
EODefines.h \