Partition the package_derivations_by_guix_revision_range table
And create a proper git_branches table in the process. I'm hoping this will help with slow deletions from the package_derivations_by_guix_revision_range table in the case where there are lots of branches, since it'll separate the data for one branch from another. These migrations will remove the existing data, so rebuild-package-derivations-table will currently need manually running to regenerate it.
This commit is contained in:
parent
89545caa3f
commit
64be52844e
19 changed files with 442 additions and 167 deletions
38
guix-data-service/model/git-commit.scm
Normal file
38
guix-data-service/model/git-commit.scm
Normal file
|
|
@ -0,0 +1,38 @@
|
|||
;;; Guix Data Service -- Information about Guix over time
|
||||
;;; Copyright © 2019 Christopher Baines <mail@cbaines.net>
|
||||
;;;
|
||||
;;; This program is free software: you can redistribute it and/or
|
||||
;;; modify it under the terms of the GNU Affero General Public License
|
||||
;;; as published by the Free Software Foundation, either version 3 of
|
||||
;;; the License, or (at your option) any later version.
|
||||
;;;
|
||||
;;; This program is distributed in the hope that it will be useful,
|
||||
;;; but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
;;; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
||||
;;; Affero General Public License for more details.
|
||||
;;;
|
||||
;;; You should have received a copy of the GNU Affero General Public
|
||||
;;; License along with this program. If not, see
|
||||
;;; <http://www.gnu.org/licenses/>.
|
||||
|
||||
(define-module (guix-data-service model git-commit)
|
||||
#:use-module (ice-9 match)
|
||||
#:use-module (json)
|
||||
#:use-module (squee)
|
||||
#:use-module (srfi srfi-19)
|
||||
#:use-module (guix-data-service model utils)
|
||||
#:export (insert-git-commit-entry))
|
||||
|
||||
(define (insert-git-commit-entry conn
|
||||
git-branch-id
|
||||
commit
|
||||
datetime)
|
||||
(exec-query
|
||||
conn
|
||||
"
|
||||
INSERT INTO git_commits (commit, git_branch_id, datetime)
|
||||
VALUES ($1, $2, to_timestamp($3))
|
||||
ON CONFLICT DO NOTHING"
|
||||
(list commit
|
||||
(number->string git-branch-id)
|
||||
(date->string datetime "~s"))))
|
||||
Loading…
Add table
Add a link
Reference in a new issue