UpdateJSON.defineTable()
defineTable()
メソッドは、personContacts
表が存在する場合、それを削除します。表を削除すると、ストアからすべての表データが削除されます。defineTable()
メソッドでは、その後、データを含まない新しい表が作成されます。
適切なDDL文を使用してストア内で表が定義されるまで、データをストアに書き込むことはできません。
このメソッドは、この付録の後半で示されているUpdateJSON.runDDL()メソッドに依存しています。
// Drops the example table if it exists. This removes all table
// data and indexes. The table is then created in the store.
// The loadTable() method is used to populate the newly created
// table with data.
private void defineTable(KVStore kvstore) {
System.out.println("Dropping table....");
String statement = "DROP TABLE IF EXISTS personContacts";
boolean success = runDDL(kvstore, statement);
if (success) {
statement =
"CREATE TABLE personContacts (" +
"account INTEGER," +
"person JSON," +
"PRIMARY KEY(account))";
System.out.println("Creating table....");
success = runDDL(kvstore, statement);
if (!success) {
System.out.println("Table creation failed.");
System.exit(-1);
}
}
}