CoreData で SQLite を使う場合でも SQLite のオプション(pragma)を設定することができる。今回はその覚え書き。
Persistent Store Features
SQLite Store > Configuring a SQLite Store's Save Behavior
Mac Dev Center: Core Data Programming Guide: Persistent Store Features
サンプルコードを以下に引用する。
NSPersistentStoreCoordinator *psc = /* assume this exists */ ;
NSMutableDictionary *pragmaOptions = [NSMutableDictionary dictionary];
[pragmaOptions setObject:@"NORMAL" forKey:@"synchronous"];
[pragmaOptions setObject:@"1" forKey:@"fullfsync"];
NSDictionary *storeOptions =
[NSDictionary dictionaryWithObject:pragmaOptions forKey:NSSQLitePragmasOption];
NSPersistentStore *store;
NSError *error;
store = [psc addPersistentStoreWithType:NSSQLiteStoreType
configuration: nil
URL:url
options:storeOptions
error:&error];
NSPersistentSore を用意する時に NSSQLitePragmasOption をキーにして SQLite の pragma を渡すことができる。
paragma は SQLiteのページで紹介されている。
Pragma statements supported by SQLite
SQLite の挙動を調整したい場合に使える。