746 val return_code = SQL.Column.int("return_code") |
746 val return_code = SQL.Column.int("return_code") |
747 val build_columns = List(sources, input_heaps, output_heap, return_code) |
747 val build_columns = List(sources, input_heaps, output_heap, return_code) |
748 |
748 |
749 val table = SQL.Table("isabelle_session_info", build_log_columns ::: build_columns) |
749 val table = SQL.Table("isabelle_session_info", build_log_columns ::: build_columns) |
750 |
750 |
751 def where_session_name(name: String): String = |
|
752 "WHERE " + session_name.sql_name + " = " + SQL.quote_string(name) |
|
753 |
|
754 def select_statement(db: SQL.Database, name: String, columns: List[SQL.Column]) |
751 def select_statement(db: SQL.Database, name: String, columns: List[SQL.Column]) |
755 : PreparedStatement = |
752 : PreparedStatement = |
756 db.select_statement(table, columns, where_session_name(name)) |
753 db.select_statement(table, columns, session_name.sql_where_eq_string(name)) |
757 |
754 |
758 def delete_statement(db: SQL.Database, name: String): PreparedStatement = |
755 def delete_statement(db: SQL.Database, name: String): PreparedStatement = |
759 db.delete_statement(table, where_session_name(name)) |
756 db.delete_statement(table, session_name.sql_where_eq_string(name)) |
760 } |
757 } |
761 |
758 |
762 def store(system_mode: Boolean = false): Store = new Store(system_mode) |
759 def store(system_mode: Boolean = false): Store = new Store(system_mode) |
763 |
760 |
764 class Store private[Sessions](system_mode: Boolean) extends Properties.Store |
761 class Store private[Sessions](system_mode: Boolean) extends Properties.Store |