VirtualBox

source: vbox/trunk/src/VBox/ValidationKit/testmanager/debug/functions.pgsql

Last change on this file was 106061, checked in by vboxsync, 2 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: 2.9 KB
Line 
1-- $Id: functions.pgsql 106061 2024-09-16 14:03:52Z vboxsync $
2--- @file
3-- ?????????????????????????
4--
5
6--
7-- Copyright (C) 2012-2024 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\connect testmanager;
38
39DROP FUNCTION authenticate_testbox(inet, uuid);
40DROP FUNCTION testbox_status_set(integer, TestBoxState_T);
41
42-- Authenticate Test Box record by IP and UUID and set its state to IDLE
43-- Args: IP, UUID
44CREATE OR REPLACE FUNCTION authenticate_testbox(inet, uuid) RETURNS testboxes AS $$
45 DECLARE
46 _ip ALIAS FOR $1;
47 _uuidSystem ALIAS FOR $2;
48 _box TestBoxes;
49 BEGIN
50 -- Find Test Box record
51 SELECT *
52 FROM testboxes
53 WHERE ip=_ip AND uuidSystem=_uuidSystem INTO _box;
54 IF FOUND THEN
55 -- Update Test Box status if exists
56 UPDATE TestBoxStatuses SET enmState='idle' WHERE idTestBox=_box.idTestBox;
57 IF NOT FOUND THEN
58 -- Otherwise, add new record to TestBoxStatuses table
59 INSERT
60 INTO TestBoxStatuses(idTestBox, idGenTestBox, enmState)
61 VALUES (_box.idTestBox, _box.idGenTestBox, 'idle');
62 END IF;
63 END IF;
64 return _box;
65 END;
66$$ LANGUAGE plpgsql;
67
68-- Set Test Box status and make sure if it has been set
69-- Args: Test Box ID, new status
70CREATE OR REPLACE FUNCTION testbox_status_set(integer, TestBoxState_T) RETURNS VOID AS $$
71 DECLARE
72 _box ALIAS FOR $1;
73 _status ALIAS FOR $2;
74 BEGIN
75 -- Update Test Box status if exists
76 UPDATE TestBoxStatuses SET enmState=_status WHERE idTestBox=_box;
77 IF NOT FOUND THEN
78 RAISE EXCEPTION 'Test Box (#%) was not found in database', _box;
79 END IF;
80 END;
81$$ LANGUAGE plpgsql;
82
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