mirror of
https://github.com/gnustep/libs-gdl2.git
synced 2025-04-22 21:00:44 +00:00
* 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:
parent
7a86463f81
commit
2465b08acc
4 changed files with 368 additions and 0 deletions
|
@ -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:):
|
||||
|
|
148
EOAccess/EOSchemaSynchronization.h
Normal file
148
EOAccess/EOSchemaSynchronization.h
Normal 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
|
214
EOAccess/EOSchemaSynchronization.m
Normal file
214
EOAccess/EOSchemaSynchronization.m
Normal 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
|
|
@ -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 \
|
||||
|
|
Loading…
Reference in a new issue