aboutsummaryrefslogtreecommitdiffstats
path: root/packages/policy-xacmlpdp-tarball/src/main/resources/mysql/sql/createguardtable.sql
diff options
context:
space:
mode:
Diffstat (limited to 'packages/policy-xacmlpdp-tarball/src/main/resources/mysql/sql/createguardtable.sql')
-rw-r--r--packages/policy-xacmlpdp-tarball/src/main/resources/mysql/sql/createguardtable.sql71
1 files changed, 52 insertions, 19 deletions
diff --git a/packages/policy-xacmlpdp-tarball/src/main/resources/mysql/sql/createguardtable.sql b/packages/policy-xacmlpdp-tarball/src/main/resources/mysql/sql/createguardtable.sql
index aea02f70..34851a6f 100644
--- a/packages/policy-xacmlpdp-tarball/src/main/resources/mysql/sql/createguardtable.sql
+++ b/packages/policy-xacmlpdp-tarball/src/main/resources/mysql/sql/createguardtable.sql
@@ -1,5 +1,5 @@
-- ============LICENSE_START=======================================================
--- Copyright (C) 2019-2021 AT&T Intellectual Property. All rights reserved.
+-- Copyright (C) 2019-2022 AT&T Intellectual Property. All rights reserved.
-- ================================================================================
-- Licensed under the Apache License, Version 2.0 (the "License");
-- you may not use this file except in compliance with the License.
@@ -14,25 +14,58 @@
-- limitations under the License.
-- ============LICENSE_END=========================================================
-use operationshistory;
-
-create table if not exists operationshistory (
- id int(11) not null auto_increment,
- closedLoopName varchar(255) not null,
- requestId varchar(50),
- actor varchar(50) not null,
- operation varchar(50) not null,
- target varchar(50) not null,
- starttime timestamp not null,
- outcome varchar(50) not null,
- message varchar(255),
- subrequestId varchar(50),
- endtime timestamp not null default current_timestamp,
+USE operationshistory;
+
+CREATE TABLE IF NOT EXISTS operationshistory (
+ id INT(11) NOT NULL AUTO_INCREMENT,
+ closedLoopName VARCHAR(255) NOT NULL,
+ requestId VARCHAR(50),
+ actor VARCHAR(50) NOT NULL,
+ operation VARCHAR(50) NOT NULL,
+ target VARCHAR(50) NOT NULL,
+ starttime timestamp NOT NULL,
+ outcome VARCHAR(50) NOT NULL,
+ message VARCHAR(255),
+ subrequestId VARCHAR(50),
+ endtime timestamp NULL DEFAULT current_timestamp,
PRIMARY KEY (id)
);
-create index if not exists operationshistory_clreqid_index on
- operationshistory(requestId, closedLoopName);
+DROP PROCEDURE IF EXISTS create_clreqid_index;
+
+\d $$
+CREATE PROCEDURE create_clreqid_index()
+BEGIN
+ DECLARE index_count INT DEFAULT 1;
+
+ SELECT count(index_name) INTO index_count FROM information_schema.statistics
+ WHERE table_schema=DATABASE() AND table_name='operationshistory' AND index_name='operationshistory_clreqid_index';
+
+ IF index_count = 0 THEN
+ CREATE INDEX operationshistory_clreqid_index ON operationshistory(requestId, closedLoopName);
+ END IF;
+END
+$$
+
+\d ;
+
+CALL create_clreqid_index();
+
+DROP PROCEDURE IF EXISTS create_target_index;
+
+\d $$
+CREATE PROCEDURE create_target_index()
+BEGIN
+ DECLARE index_count INT DEFAULT 1;
+
+ SELECT count(index_name) INTO index_count FROM information_schema.statistics
+ WHERE table_schema=DATABASE() AND table_name='operationshistory' AND index_name='operationshistory_target_index';
+
+ IF index_count = 0 THEN
+ CREATE INDEX operationshistory_target_index ON operationshistory(target, operation, actor, endtime);
+ END IF;
+END
+$$
-create index if not exists operationshistory_target_index on
- operationshistory(target, operation, actor, endtime);
+CALL create_target_index();
+\d ;