ページ

2009年12月10日木曜日

CoreData - SQLite のオプション(pragma)

このエントリーをブックマークに追加 このエントリーを含むはてなブックマーク

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 の挙動を調整したい場合に使える。