src/Pure/Tools/build_process.scala
changeset 77636 dc96e6c56369
parent 77635 dcd2c3bb4b68
child 77637 afb1a19307c4
equal deleted inserted replaced
77635:dcd2c3bb4b68 77636:dc96e6c56369
   329         })
   329         })
   330     }
   330     }
   331 
   331 
   332     def stop_build(db: SQL.Database, build_uuid: String): Unit =
   332     def stop_build(db: SQL.Database, build_uuid: String): Unit =
   333       db.execute_statement(
   333       db.execute_statement(
   334         Base.table.update(List(Base.stop), sql = SQL.where(Generic.sql(build_uuid = build_uuid))),
   334         Base.table.update(List(Base.stop), sql = Base.build_uuid.where_equal(build_uuid)),
   335         body = { stmt => stmt.date(1) = db.now() })
   335         body = { stmt => stmt.date(1) = db.now() })
   336 
   336 
   337     def clean_build(db: SQL.Database): Unit = {
   337     def clean_build(db: SQL.Database): Unit = {
   338       val old =
   338       val old =
   339         db.execute_query_statement(
   339         db.execute_query_statement(
   468         ).getOrElse(false)
   468         ).getOrElse(false)
   469 
   469 
   470       def stop_db(): Unit =
   470       def stop_db(): Unit =
   471         db.execute_statement(
   471         db.execute_statement(
   472           Base.table.update(
   472           Base.table.update(
   473             List(Base.progress_stopped),
   473             List(Base.progress_stopped), sql = Base.build_uuid.where_equal(build_uuid)),
   474             sql = SQL.where(Generic.sql(build_uuid = build_uuid))
       
   475           ),
       
   476           body = { stmt => stmt.bool(1) = true })
   474           body = { stmt => stmt.bool(1) = true })
   477 
   475 
   478       val stopped = build_progress.stopped
   476       val stopped = build_progress.stopped
   479 
   477 
   480       if (stopped_db && !stopped) build_progress.stop()
   478       if (stopped_db && !stopped) build_progress.stop()
   541       def err(msg: String): Nothing =
   539       def err(msg: String): Nothing =
   542         error("Cannot start worker " + worker_uuid + if_proper(msg, "\n" + msg))
   540         error("Cannot start worker " + worker_uuid + if_proper(msg, "\n" + msg))
   543 
   541 
   544       val build_stop =
   542       val build_stop =
   545         db.execute_query_statementO(
   543         db.execute_query_statementO(
   546           Base.table.select(List(Base.stop), sql = SQL.where(Generic.sql(build_uuid = build_uuid))),
   544           Base.table.select(List(Base.stop), sql = Base.build_uuid.where_equal(build_uuid)),
   547           res => res.get_date(Base.stop))
   545           res => res.get_date(Base.stop))
   548 
   546 
   549       build_stop match {
   547       build_stop match {
   550         case Some(None) =>
   548         case Some(None) =>
   551         case Some(Some(_)) => err("for already stopped build process " + build_uuid)
   549         case Some(Some(_)) => err("for already stopped build process " + build_uuid)
   575       serial: Long,
   573       serial: Long,
   576       stop: Boolean = false
   574       stop: Boolean = false
   577     ): Unit = {
   575     ): Unit = {
   578       val sql =
   576       val sql =
   579         Workers.table.update(List(Workers.stamp, Workers.stop, Workers.serial),
   577         Workers.table.update(List(Workers.stamp, Workers.stop, Workers.serial),
   580           sql = SQL.where(Generic.sql(worker_uuid = worker_uuid)))
   578           sql = Workers.worker_uuid.where_equal(worker_uuid))
   581       db.execute_statement(sql, body =
   579       db.execute_statement(sql, body =
   582         { stmt =>
   580         { stmt =>
   583           val now = db.now()
   581           val now = db.now()
   584           stmt.date(1) = now
   582           stmt.date(1) = now
   585           stmt.date(2) = if (stop) Some(now) else None
   583           stmt.date(2) = if (stop) Some(now) else None