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
|
|
@ -17,32 +17,10 @@
|
|||
conn
|
||||
(lambda (conn)
|
||||
(let* ((url "test-url")
|
||||
(id (git-repository-url->git-repository-id conn url)))
|
||||
(insert-git-branch-entry conn
|
||||
"master"
|
||||
"test-commit"
|
||||
id
|
||||
(current-date)))
|
||||
#t)
|
||||
#:always-rollback? #t))
|
||||
|
||||
(test-assert "insert-git-branch-entry works twice"
|
||||
(with-postgresql-transaction
|
||||
conn
|
||||
(lambda (conn)
|
||||
(let* ((url "test-url")
|
||||
(id (git-repository-url->git-repository-id conn url)))
|
||||
(insert-git-branch-entry conn
|
||||
"master"
|
||||
"test-commit"
|
||||
id
|
||||
(current-date))
|
||||
(insert-git-branch-entry conn
|
||||
"master"
|
||||
"test-commit"
|
||||
id
|
||||
(current-date)))
|
||||
#t)
|
||||
(git-repository-id
|
||||
(git-repository-url->git-repository-id conn url)))
|
||||
(insert-git-branch-entry conn git-repository-id "master")
|
||||
#t))
|
||||
#:always-rollback? #t))))
|
||||
|
||||
(test-end)
|
||||
|
|
|
|||
52
tests/model-git-commit.scm
Normal file
52
tests/model-git-commit.scm
Normal file
|
|
@ -0,0 +1,52 @@
|
|||
(define-module (test-model-git-commit)
|
||||
#:use-module (srfi srfi-19)
|
||||
#:use-module (srfi srfi-64)
|
||||
#:use-module (guix-data-service database)
|
||||
#:use-module (guix-data-service model git-repository)
|
||||
#:use-module (guix-data-service model git-branch)
|
||||
#:use-module (guix-data-service model git-commit))
|
||||
|
||||
(test-begin "test-model-git-commit")
|
||||
|
||||
(with-postgresql-connection
|
||||
"test-module-git-commit"
|
||||
(lambda (conn)
|
||||
(check-test-database! conn)
|
||||
|
||||
(test-assert "insert-git-commit-entry works"
|
||||
(with-postgresql-transaction
|
||||
conn
|
||||
(lambda (conn)
|
||||
(let* ((url "test-url")
|
||||
(git-repository-id
|
||||
(git-repository-url->git-repository-id conn url))
|
||||
(git-branch-id
|
||||
(insert-git-branch-entry conn git-repository-id "master")))
|
||||
(insert-git-commit-entry conn
|
||||
git-branch-id
|
||||
"test-commit"
|
||||
(current-date)))
|
||||
#t)
|
||||
#:always-rollback? #t))
|
||||
|
||||
(test-assert "insert-git-commit-entry works twice"
|
||||
(with-postgresql-transaction
|
||||
conn
|
||||
(lambda (conn)
|
||||
(let* ((url "test-url")
|
||||
(git-repository-id
|
||||
(git-repository-url->git-repository-id conn url))
|
||||
(git-branch-id
|
||||
(insert-git-branch-entry conn git-repository-id "master")))
|
||||
(insert-git-commit-entry conn
|
||||
git-branch-id
|
||||
"test-commit"
|
||||
(current-date))
|
||||
(insert-git-commit-entry conn
|
||||
git-branch-id
|
||||
"test-commit"
|
||||
(current-date)))
|
||||
#t)
|
||||
#:always-rollback? #t))))
|
||||
|
||||
(test-end)
|
||||
Loading…
Add table
Add a link
Reference in a new issue