729 val universal_table: SQL.Table = |
729 val universal_table: SQL.Table = |
730 { |
730 { |
731 val table1 = meta_info_table |
731 val table1 = meta_info_table |
732 val table2 = pull_date_table |
732 val table2 = pull_date_table |
733 val table3 = sessions_table |
733 val table3 = sessions_table |
734 |
734 val table4 = ml_statistics_table |
735 val aux_columns = log_name :: pull_date :: meta_info_table.columns.tail |
735 |
736 val aux_table = SQL.Table("aux", aux_columns, |
736 val a_columns = log_name :: pull_date :: meta_info_table.columns.tail |
737 SQL.select(aux_columns.take(2) ::: aux_columns.drop(2).map(_.apply(table1))) + |
737 val a_table = |
738 table1 + SQL.join_outer + table2 + " ON " + |
738 SQL.Table("a", a_columns, |
739 Prop.isabelle_version(table1) + " = " + Prop.isabelle_version(table2)) |
739 SQL.select(a_columns.take(2) ::: a_columns.drop(2).map(_.apply(table1))) + |
740 |
740 table1 + SQL.join_outer + table2 + " ON " + |
741 val columns = aux_columns ::: sessions_table.columns.tail |
741 Prop.isabelle_version(table1) + " = " + Prop.isabelle_version(table2)) |
742 SQL.Table("isabelle_build_log", columns, |
742 |
|
743 val b_columns = a_columns ::: sessions_table.columns.tail |
|
744 val b_table = |
|
745 SQL.Table("b", b_columns, |
|
746 SQL.select(log_name(a_table) :: b_columns.tail) + a_table.query_named + |
|
747 SQL.join_inner + table3 + " ON " + log_name(a_table) + " = " + log_name(table3)) |
|
748 |
|
749 SQL.Table("isabelle_build_log", b_columns ::: List(ml_statistics), |
743 { |
750 { |
744 SQL.select(log_name(aux_table) :: columns.tail) + aux_table.query_named + |
751 SQL.select(b_columns.map(_.apply(b_table)) ::: List(ml_statistics)) + |
745 SQL.join_inner + table3 + " ON " + log_name(aux_table) + " = " + log_name(table3) |
752 b_table.query_named + SQL.join_outer + table4 + " ON " + |
|
753 log_name(b_table) + " = " + log_name(table4) + " AND " + |
|
754 session_name(b_table) + " = " + session_name(table4) |
746 }) |
755 }) |
747 } |
756 } |
748 } |
757 } |
749 |
758 |
750 |
759 |