equal
deleted
inserted
replaced
29 def read_names(db: SQL.Database, session_name: String, theory_name: String): List[String] = |
29 def read_names(db: SQL.Database, session_name: String, theory_name: String): List[String] = |
30 { |
30 { |
31 val select = Data.table.select(List(Data.name), Data.where_equal(session_name, theory_name)) |
31 val select = Data.table.select(List(Data.name), Data.where_equal(session_name, theory_name)) |
32 db.using_statement(select)(stmt => |
32 db.using_statement(select)(stmt => |
33 stmt.execute_query().iterator(res => res.string(Data.name)).toList) |
33 stmt.execute_query().iterator(res => res.string(Data.name)).toList) |
|
34 } |
|
35 |
|
36 def read_name(db: SQL.Database, session_name: String, theory_name: String, name: String): Boolean = |
|
37 { |
|
38 val select = |
|
39 Data.table.select(List(Data.name), |
|
40 Data.where_equal(session_name, theory_name) + " AND " + Data.name.equal(name)) |
|
41 db.using_statement(select)(stmt => stmt.execute_query().next()) |
34 } |
42 } |
35 |
43 |
36 def message(msg: String, theory_name: String, name: String): String = |
44 def message(msg: String, theory_name: String, name: String): String = |
37 msg + " " + quote(name) + " for theory " + quote(theory_name) |
45 msg + " " + quote(name) + " for theory " + quote(theory_name) |
38 |
46 |
97 private val consumer = |
105 private val consumer = |
98 Consumer_Thread.fork(name = "export")(consume = (entry: Entry) => |
106 Consumer_Thread.fork(name = "export")(consume = (entry: Entry) => |
99 { |
107 { |
100 entry.body.join |
108 entry.body.join |
101 db.transaction { |
109 db.transaction { |
102 if (read_names(db, entry.session_name, entry.theory_name).contains(entry.name)) { |
110 if (read_name(db, entry.session_name, entry.theory_name, entry.name)) { |
103 val err = message("Duplicate export", entry.theory_name, entry.name) |
111 val err = message("Duplicate export", entry.theory_name, entry.name) |
104 export_errors.change(errs => err :: errs) |
112 export_errors.change(errs => err :: errs) |
105 } |
113 } |
106 else entry.write(db) |
114 else entry.write(db) |
107 } |
115 } |