aboutsummaryrefslogtreecommitdiff
path: root/sqitch
Commit message (Expand)AuthorAge
* Add an index on derivation_output_details.id•••Where hash is not null, since this helps with the fixed output package derivations query. Christopher Baines2021-07-11
* Track package replacements•••Start at least looking for package replacements, and storing the details (particularly the derivation). I'm looking at doing this so that build servers using the Guix Data Service can build these derivations. Christopher Baines2021-07-11
* Add index for package_metadata•••This index speeds up inserting new entries to the package_metadata table. Signed-off-by: Christopher Baines <mail@cbaines.net> Canan Talayhan2021-05-27
* Add some indexes•••This is from reading the slow query log on data.guix.gnu.org. Christopher Baines2021-05-17
* Create a table for systems•••And use it for the systems in the derivations and package derivations tables. The primary motivation here is to allow quickly working out what systems the database contains, and having a small table with just the right data seems a good way to do that. Christopher Baines2021-04-23
* Store channel instance derivations in a separate transaction•••This means that these derivations are stored, even if a later part of the process fails. Having the channel instance derivations stored might help work out why the failure occurred, or better display information about it. Christopher Baines2021-02-02
* Increase statistics targets for the derivation_inputs table•••It has a lot of rows, and this seems to help the query planning for select-required-builds-that-failed, as I think it helps PostgreSQL better estimate the row counts that different parts of the query will produce. Christopher Baines2020-12-27
* Add index to speed up deleting revisions•••This is necessary to quickly delete entries from package_derivaitons. Christopher Baines2020-10-27
* Regenerate the latest_build_status table•••As it doesn't handle wierdness for statuses, like builds being canceled with a timestamp of 0. Christopher Baines2020-10-21
* Add a latest_build_status table•••This will avoid many queries trying to figure out what the latest build status is, which will hopefuly simplify queries as well as improving performance. Christopher Baines2020-10-13
* Support storing whether to authenticate commits by git repository•••To allow using the Guix Data Service when commits aren't authenticated. Christopher Baines2020-10-07
* Add an index for derivation_sources.derivation_source_file_id•••As this speeds up deleting derivation_source_files. Christopher Baines2020-10-02
* Change a constraint to add ON DELETE CASCADE•••I've not used these in many places, to try and avoid hiding deleting data, but in this case, this will allow more easily deleting the derivation source file nars, by just deleting the derivation_source_files table entry. Christopher Baines2020-10-02
* Change the autovacuum config for some tables•••Looking at data for the the patches deployment of the Guix Data Service, these tables look like they might benefit from vacuuming/analyzing more often, so adjust the configuration so this will hopefully happen. Christopher Baines2020-10-01
* Change the locale codeset representation•••From the normalized one, to the one actually contained within glibc. Recent versions of glibc also contain symlinks linking the normalized codeset to the locales with the .UTF-8 ending, but older ones do not. Maybe handling codeset normalisation for queries would be good, but the locale values ending in .UTF-8 are more compatible and allow the code to be simplified. For querying, maybe there should be a locales table which handles different representations. Christopher Baines2020-09-26
* Change a package_descriptions index to use MD5 of the description•••To avoid the index data being too large. This was first seen in guix commit 1bb4fd64b7bbe5a17eda6f0ca8105283c038f7c8: psql-query-error (fatal-error PGRES_FATAL_ERROR ERROR: index row size 2808 exceeds maximum 2712 for index "package_descriptions_locale_description_key" HINT: Values larger than 1/3 of a buffer page cannot be indexed. Christopher Baines2020-08-23
* Add the package_metadata_tsvectors table•••Signed-off-by: Christopher Baines <mail@cbaines.net> Danjela Lura2020-08-12
* Add a index to derivation_output_details_sets•••This helps with queries like: SELECT * FROM derivation_output_details_sets WHERE ARRAY[5563227] <@ derivation_output_details_ids; Christopher Baines2020-07-04
* Remove the constraint on having one derivation build per server•••As the Guix Build Coordinator can build one derivation many times. Christopher Baines2020-07-01
* Avoid duplicate build status entries•••This effectively makes adding build status entries idempotent to some degree. Christopher Baines2020-07-01
* Support storing the id's representing builds in other services•••Like Cuirass, or the Guix Data Service. This isn't so necessary with Cuirass, as the derivation/output are unique identifiers, but for the Guix Build Coordinator, one derivation/output can be built many times, with potentially differing results. Christopher Baines2020-06-27
* Make build_status.timestamp nullable•••The Guix Build Coordinator doesn't record timestamps for events currently. This is something to fix, but allow for build statuses without timestamps as they're not necessary. Christopher Baines2020-06-27
* Get the translated package synopsis and descriptions into the database•••Signed-off-by: Christopher Baines <mail@cbaines.net> Danjela Lura2020-06-19
* Get the translated lint checker descriptions into the database•••Signed-off-by: Christopher Baines <mail@cbaines.net> Danjela Lura2020-06-07
* Make nar_urls file sizes optionalChristopher Baines2020-06-03
* Add a lookup_builds field to the build_servers table•••This is to allow for build servers where only the substitutes should be queried, and it shouldn't be assumed that they're running Cuirass. Christopher Baines2020-05-24
* Remove odd package derivations with mismatched systems•••This follows on from 79993bfaeff3097d37838bc0636fc20c6fc4283d, disassociating the relevant derivations from the revisions. Christopher Baines2020-04-24
* Fix a missing ; in a Sqitch migrationChristopher Baines2020-03-29
* Make jobs unique by commit•••Given that a commit, regardless of what repository it comes from should contain the same exactly the same data, just track jobs by commit. Christopher Baines2020-03-28
* Create an index on narinfo_fetch_records•••This greatly improves the performance of the derivation-outputs page. Christopher Baines2020-03-25
* Stop using package_versions_by_guix_revision_range•••It's been replaced by the package_derivations_by_guix_revision_range table. Christopher Baines2020-03-24
* Generate and store system test derivations for all supported systems•••Rather than just the native system. I'm not quite sure of the value here, as I guess system tests should behave the same regardless of the way the software is compiled, but this seems like it could be useful, and being explicit about the system the derivation is for is good. Christopher Baines2020-03-20
* Make a constraint deferrable•••To allow for deferring it in a transaction when deleting derivations. Christopher Baines2020-02-16
* Update the build_servers_build_config values•••Change target to '' if it matches system, as this matches the updated way of storing derivations. Christopher Baines2020-02-13
* Start storing channel instance derivations•••These are the ones that relate to Guix pull. Christopher Baines2020-02-11
* Support excluding and including branches from a repository•••So that you can have the Guix Data Service only pay attention to some of the branches. Christopher Baines2020-02-08
* Rework cross derivations support•••Stop using the system values as targets, and remove package derivation entries where this is the case. Switch the non-cross derivation case to have a target of "", rather than matching the system, as this makes more sense, and is more consistent now that the target values no longer match the system values. Hardcode some more correct target values, and use these instead. Hopefully this can be better integrated with Guix in the future. This commit also includes a migration attempting to shrink some indexes. Christopher Baines2020-02-08
* Add missing migrationChristopher Baines2020-02-03
* Store information about system testsChristopher Baines2020-02-03
* Don't hardcode the expected x-git-repo header value•••Rather than expecting it always to be "guix", store the expected value in the database, and use the value of the header to find the relevant repository. Christopher Baines2020-01-11
* Add a table to configure which build servers build whatChristopher Baines2020-01-05
* Create an index on the hash component of the store path•••For derivation_source_files. Christopher Baines2019-12-29
* Add a new table to nars for derivation source files•••This will allow serving the nars for derivation source files. Christopher Baines2019-12-28
* Create an index for the hash component of derivation filenames•••This is to aid rendering of narinfo files. They're requested with the path /HASH.narinfo, so to quickly find the relevant derivation, this index can be used. Christopher Baines2019-12-26
* Add new derivation_output_details_set_id column to the builds table•••As this will hopefully provide a faster way of associating derivations with builds. Christopher Baines2019-12-12
* Start storing and identifying sets of derivation outputs•••Derivations are effectively equivalent if they produce the same set of outputs, which is possible because of the equivalence of fixed output derivations. A fixed output derivation can be different, but equivalent, because it produces the same fixed output. To better allow tracking equivalent derivations, primarily to allow working out what derivations might correspond to a build, store the sets of derivation outputs, and which derivations they relate to. Christopher Baines2019-12-12
* Add some database indexesChristopher Baines2019-12-12
* Deduplicate builds and add a unique index•••Duplicate builds could creep in if the code to create them ran concurrently. I didn't exclude them initially, as I was unsure if there should be such a restriction, but at least for now, Cuirass builds map exactly to a single derivation, so use the same restriction here. Christopher Baines2019-12-12
* Change nar_urls size to bigint•••As some nars can be bigger than the size of an int. Christopher Baines2019-12-12
* Change nars size to bigint•••As some nars can be bigger than the maximum size of an int. Christopher Baines2019-12-12