X-Git-Url: http://jaekl.net/gitweb/?p=cfb.git;a=blobdiff_plain;f=prod%2Fnet%2Fjaekl%2Fcfb%2Fdb%2FSchema.java;h=f802b58ca3cf71f89f7b5ef6c8b0f57c95382c66;hp=b6dc6012fc6d720ded5ecae5383c7943e4558afe;hb=3c10b6100c6035a65ce37dea846b027135289f67;hpb=88c635ae6a039a873cba2d794c55d726dcdc616d
diff --git a/prod/net/jaekl/cfb/db/Schema.java b/prod/net/jaekl/cfb/db/Schema.java
index b6dc601..f802b58 100644
--- a/prod/net/jaekl/cfb/db/Schema.java
+++ b/prod/net/jaekl/cfb/db/Schema.java
@@ -16,11 +16,13 @@ public class Schema {
String m_name;
DbDriver m_driver;
ArrayList
m_tables;
+ ArrayList m_sequences;
public Schema(String name, DbDriver driver) {
m_name = name;
m_driver = driver;
m_tables = new ArrayList();
+ m_sequences = new ArrayList();
}
public boolean ensureDbInitialized(Connection con) throws SQLException {
@@ -34,6 +36,10 @@ public class Schema {
return false;
}
+ if (!createAllSequences(con)) {
+ return false;
+ }
+
return true;
}
@@ -73,6 +79,15 @@ public class Schema {
return true;
}
+ boolean createAllSequences(Connection con) throws SQLException {
+ for (Sequence seq : m_sequences) {
+ if (!m_driver.createSequence(con, seq)) {
+ return false;
+ }
+ }
+ return true;
+ }
+
void addTable(Table table) {
m_tables.add(table);
}
@@ -88,5 +103,9 @@ public class Schema {
for (Object[][] table : tables) {
addTable(Table.construct(table));
}
- }
+ }
+
+ void addSequence(Sequence seq) {
+ m_sequences.add(seq);
+ }
}