VirtualBox

source: vbox/trunk/src/VBox/ValidationKit/testmanager/db/tmdb-r01-builds-1.pgsql@ 98523

Last change on this file since 98523 was 98103, checked in by vboxsync, 22 months ago

Copyright year updates by scm.

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.1 KB
Line 
1-- $Id: tmdb-r01-builds-1.pgsql 98103 2023-01-17 14:15:46Z vboxsync $
2--- @file
3-- VBox Test Manager Database - Changed Builds to be historized.
4--
5
6--
7-- Copyright (C) 2012-2023 Oracle and/or its affiliates.
8--
9-- This file is part of VirtualBox base platform packages, as
10-- available from https://www.virtualbox.org.
11--
12-- This program is free software; you can redistribute it and/or
13-- modify it under the terms of the GNU General Public License
14-- as published by the Free Software Foundation, in version 3 of the
15-- License.
16--
17-- This program is distributed in the hope that it will be useful, but
18-- WITHOUT ANY WARRANTY; without even the implied warranty of
19-- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
20-- General Public License for more details.
21--
22-- You should have received a copy of the GNU General Public License
23-- along with this program; if not, see <https://www.gnu.org/licenses>.
24--
25-- The contents of this file may alternatively be used under the terms
26-- of the Common Development and Distribution License Version 1.0
27-- (CDDL), a copy of it is provided in the "COPYING.CDDL" file included
28-- in the VirtualBox distribution, in which case the provisions of the
29-- CDDL are applicable instead of those of the GPL.
30--
31-- You may elect to license modified versions of this file under the
32-- terms and conditions of either the GPL or the CDDL or both.
33--
34-- SPDX-License-Identifier: GPL-3.0-only OR CDDL-1.0
35--
36
37
38DROP TABLE OldBuilds;
39DROP TABLE NewBuilds;
40DROP INDEX BuildsLookupIdx;
41
42\set ON_ERROR_STOP 1
43
44--
45-- idBuild won't be unique, so it cannot be used directly as a foreign key
46-- by TestSets.
47--
48ALTER TABLE TestSets
49 DROP CONSTRAINT TestSets_idBuild_fkey;
50ALTER TABLE TestSets
51 DROP CONSTRAINT TestSets_idBuildTestSuite_fkey;
52
53
54--
55-- Create the table, filling it with the current Builds content.
56--
57CREATE TABLE NewBuilds (
58 idBuild INTEGER DEFAULT NEXTVAL('BuildIdSeq') NOT NULL,
59 tsCreated TIMESTAMP WITH TIME ZONE DEFAULT current_timestamp NOT NULL,
60 tsEffective TIMESTAMP WITH TIME ZONE DEFAULT current_timestamp NOT NULL,
61 tsExpire TIMESTAMP WITH TIME ZONE DEFAULT TIMESTAMP WITH TIME ZONE 'infinity' NOT NULL,
62 uidAuthor INTEGER DEFAULT NULL,
63 idBuildCategory INTEGER REFERENCES BuildCategories(idBuildCategory) NOT NULL,
64 iRevision INTEGER NOT NULL,
65 sVersion TEXT NOT NULL,
66 sLogUrl TEXT,
67 sBinaries TEXT NOT NULL,
68 fBinariesDeleted BOOLEAN DEFAULT FALSE NOT NULL,
69 UNIQUE (idBuild, tsExpire)
70);
71
72INSERT INTO NewBuilds (idBuild, tsCreated, tsEffective, uidAuthor, idBuildCategory, iRevision, sVersion, sLogUrl, sBinaries)
73 SELECT idBuild, tsCreated, tsCreated, uidAuthor, idBuildCategory, iRevision, sVersion, sLogUrl, sBinaries
74 FROM Builds;
75COMMIT;
76
77-- Switch the tables.
78ALTER TABLE Builds RENAME TO OldBuilds;
79ALTER TABLE NewBuilds RENAME TO Builds;
80COMMIT;
81
82-- Finally index the table.
83CREATE INDEX BuildsLookupIdx ON Builds (idBuildCategory, iRevision);
84COMMIT;
85
86DROP TABLE OldBuilds;
87COMMIT;
88
89-- Fix implicit index name.
90ALTER INDEX newbuilds_idbuild_tsexpire_key RENAME TO builds_idbuild_tsexpire_key;
91
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette