src/Pure/Thy/store.scala
changeset 78369 ba71ea02d965
parent 78367 4978a158dc4c
child 78372 30d3faa6c245
equal deleted inserted replaced
78368:6689b4c07bba 78369:ba71ea02d965
   421 
   421 
   422   def clean_session_info(db: SQL.Database, name: String): Boolean = {
   422   def clean_session_info(db: SQL.Database, name: String): Boolean = {
   423     Export.clean_session(db, name)
   423     Export.clean_session(db, name)
   424     Document_Build.clean_session(db, name)
   424     Document_Build.clean_session(db, name)
   425 
   425 
   426     Store.Data.transaction_lock(db,
   426     Store.Data.transaction_lock(db, create = true, label = "Store.clean_session_info") {
   427       create = true,
       
   428       synchronized = true,
       
   429       label = "Store.clean_session_info"
       
   430     ) {
       
   431       val already_defined = session_info_defined(db, name)
   427       val already_defined = session_info_defined(db, name)
   432 
   428 
   433       db.execute_statement(
   429       db.execute_statement(
   434         Store.Data.Session_Info.table.delete(
   430         Store.Data.Session_Info.table.delete(
   435           sql = Store.Data.Session_Info.session_name.where_equal(name)))
   431           sql = Store.Data.Session_Info.session_name.where_equal(name)))
   446     session_name: String,
   442     session_name: String,
   447     sources: Store.Sources,
   443     sources: Store.Sources,
   448     build_log: Build_Log.Session_Info,
   444     build_log: Build_Log.Session_Info,
   449     build: Store.Build_Info
   445     build: Store.Build_Info
   450   ): Unit = {
   446   ): Unit = {
   451     Store.Data.transaction_lock(db, synchronized = true, label = "Store.write_session_info") {
   447     Store.Data.transaction_lock(db, label = "Store.write_session_info") {
   452       Store.Data.write_sources(db, session_name, sources)
   448       Store.Data.write_sources(db, session_name, sources)
   453       Store.Data.write_session_info(db, cache.compress, session_name, build_log, build)
   449       Store.Data.write_session_info(db, cache.compress, session_name, build_log, build)
   454     }
   450     }
   455   }
   451   }
   456 
   452