// Aprica2
// copyright Pirmin Braun 1997-2007 - pirmin@pirmin.de
// all Rights reserved;
#import "Aprica.h"
@interface PBDD:NSObject
{ NSMutableArray *tables;
NSMutableDictionary *tableDict;
BOOL isConsistent;
}
// Accessor
- (void)setIsConsistent:(BOOL)yn;
- (BOOL)isConsistent;
- (NSMutableArray *)plainAttributes;
- (NSMutableDictionary *)tableDict;
- (NSArray *)tables;
// core
- (id)initFromPath:(NSString *)mp;
- (void)loadIDMFile: (NSString *)path;
- (void)reorg;
// query
- (PBDDTable *)tableNamed:(NSString *)value;
- (PBDDTable *)tableNamedCheap:(NSString *)value;
- (NSArray *)tablesIncludingAbstract:(BOOL)yn;
- (NSArray *)realTables;
- (NSArray *)positionsTabellenForTablenamed:(NSString *)tn;
// editing
- (BOOL)addTable:pbt;
- (void)addTables:(NSArray *)a;
- (BOOL)removeTable:pbt;
// PBWOEditor convenience
- (NSArray *)minimalAttributesFrom:(NSArray *)a;
- (PBDDAttribute *)minimalAttributeNamed:(NSString *)s;
// performance
- (void)shrink;
- (NSArray *)dbDifferencesToDDNew:(PBDD *)odb;
- (NSMutableString *)sqlStatmentsForChanges:(NSArray *)chgs;
@end