Add optional API for PM Mapper
[dmaap/datarouter.git] / datarouter-prov / src / test / resources / create.sql
1 CREATE TABLE FEEDS (
2     FEEDID         INT UNSIGNED NOT NULL PRIMARY KEY,
3     GROUPID        INT(10) UNSIGNED NOT NULL DEFAULT 0,
4     NAME           VARCHAR(255) NOT NULL,
5     VERSION        VARCHAR(20) NOT NULL,
6     DESCRIPTION    VARCHAR(1000),
7     BUSINESS_DESCRIPTION VARCHAR(1000) DEFAULT NULL,
8     AUTH_CLASS     VARCHAR(32) NOT NULL,
9     PUBLISHER      VARCHAR(8) NOT NULL,
10     SELF_LINK      VARCHAR(256),
11     PUBLISH_LINK   VARCHAR(256),
12     SUBSCRIBE_LINK VARCHAR(256),
13     LOG_LINK       VARCHAR(256),
14     DELETED        BOOLEAN DEFAULT FALSE,
15     LAST_MOD       TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
16     SUSPENDED      BOOLEAN DEFAULT FALSE,
17     CREATED_DATE   TIMESTAMP DEFAULT CURRENT_TIMESTAMP
18 );
19
20 CREATE TABLE FEED_ENDPOINT_IDS (
21     FEEDID        INT UNSIGNED NOT NULL,
22     USERID        VARCHAR(20) NOT NULL,
23     PASSWORD      VARCHAR(32) NOT NULL
24 );
25
26 CREATE TABLE FEED_ENDPOINT_ADDRS (
27     FEEDID        INT UNSIGNED NOT NULL,
28     ADDR          VARCHAR(44) NOT NULL
29 );
30
31 CREATE TABLE SUBSCRIPTIONS (
32     SUBID                       INT UNSIGNED NOT NULL PRIMARY KEY,
33     FEEDID                      INT UNSIGNED NOT NULL,
34     GROUPID                     INT(10) UNSIGNED NOT NULL DEFAULT 0,
35     DELIVERY_URL                VARCHAR(256),
36     DELIVERY_USER               VARCHAR(20),
37     DELIVERY_PASSWORD           VARCHAR(32),
38     DELIVERY_USE100             BOOLEAN DEFAULT FALSE,
39     METADATA_ONLY               BOOLEAN DEFAULT FALSE,
40     SUBSCRIBER                  VARCHAR(8) NOT NULL,
41     SELF_LINK                   VARCHAR(256),
42     LOG_LINK                    VARCHAR(256),
43     LAST_MOD                    TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
44     SUSPENDED                   BOOLEAN DEFAULT FALSE,
45     PRIVILEGED_SUBSCRIBER       BOOLEAN DEFAULT FALSE,
46     CREATED_DATE                TIMESTAMP DEFAULT CURRENT_TIMESTAMP
47
48 );
49
50 CREATE TABLE PARAMETERS (
51     KEYNAME        VARCHAR(32) NOT NULL PRIMARY KEY,
52     VALUE          VARCHAR(4096) NOT NULL
53 );
54
55 CREATE TABLE LOG_RECORDS (
56     TYPE           ENUM('pub', 'del', 'exp', 'pbf', 'dlx') NOT NULL,
57     EVENT_TIME     BIGINT NOT NULL,           /* time of the publish request */
58     PUBLISH_ID     VARCHAR(64) NOT NULL,      /* unique ID assigned to this publish attempt */
59     FEEDID         INT UNSIGNED NOT NULL,     /* pointer to feed in FEEDS */
60     REQURI         VARCHAR(256) NOT NULL,     /* request URI */
61     METHOD         ENUM('DELETE', 'GET', 'HEAD', 'OPTIONS', 'PUT', 'POST', 'TRACE') NOT NULL, /* HTTP method */
62     CONTENT_TYPE   VARCHAR(256) NOT NULL,     /* content type of published file */
63     CONTENT_LENGTH BIGINT NOT NULL,  /* content length of published file */
64
65     FEED_FILEID    VARCHAR(256),        /* file ID of published file */
66     REMOTE_ADDR    VARCHAR(40),         /* IP address of publishing endpoint */
67     USER           VARCHAR(50),         /* user name of publishing endpoint */
68     STATUS         SMALLINT,            /* status code returned to delivering agent */
69
70     DELIVERY_SUBID INT UNSIGNED,        /* pointer to subscription in SUBSCRIPTIONS */
71     DELIVERY_FILEID  VARCHAR(256),      /* file ID of file being delivered */
72     RESULT         SMALLINT,            /* result received from subscribing agent */
73
74     ATTEMPTS       INT,             /* deliveries attempted */
75     REASON         ENUM('notRetryable', 'retriesExhausted', 'diskFull', 'other'),
76
77     RECORD_ID      BIGINT UNSIGNED NOT NULL PRIMARY KEY, /* unique ID for this record */
78     CONTENT_LENGTH_2 BIGINT,
79     FILENAME       VARCHAR(256),        /* Name of the file being published on DR */
80
81     INDEX (FEEDID) USING BTREE,
82     INDEX (DELIVERY_SUBID) USING BTREE,
83     INDEX (RECORD_ID) USING BTREE
84 ) ENGINE = MyISAM;
85
86 CREATE TABLE INGRESS_ROUTES (
87     SEQUENCE  INT UNSIGNED NOT NULL,
88     FEEDID    INT UNSIGNED NOT NULL,
89     USERID    VARCHAR(20),
90     SUBNET    VARCHAR(44),
91     NODESET   INT UNSIGNED NOT NULL
92 );
93
94 CREATE TABLE EGRESS_ROUTES (
95     SUBID    INT UNSIGNED NOT NULL PRIMARY KEY,
96     NODEID   INT UNSIGNED NOT NULL
97 );
98
99 CREATE TABLE NETWORK_ROUTES (
100     FROMNODE INT UNSIGNED NOT NULL,
101     TONODE   INT UNSIGNED NOT NULL,
102     VIANODE  INT UNSIGNED NOT NULL
103 );
104
105 CREATE TABLE NODESETS (
106     SETID   INT UNSIGNED NOT NULL,
107     NODEID  INT UNSIGNED NOT NULL
108 );
109
110 CREATE TABLE NODES (
111     NODEID  INT UNSIGNED NOT NULL PRIMARY KEY,
112     NAME    VARCHAR(255) NOT NULL,
113     ACTIVE  BOOLEAN DEFAULT TRUE
114 );
115
116 CREATE TABLE GROUPS (
117     GROUPID        INT UNSIGNED NOT NULL PRIMARY KEY,
118     AUTHID         VARCHAR(100) NOT NULL,
119     NAME           VARCHAR(50) NOT NULL,
120     DESCRIPTION    VARCHAR(255),
121     CLASSIFICATION VARCHAR(20) NOT NULL,
122     MEMBERS        TINYTEXT,
123     LAST_MOD       TIMESTAMP DEFAULT CURRENT_TIMESTAMP
124 );
125
126 INSERT INTO PARAMETERS VALUES
127     ('ACTIVE_POD',  'dmaap-dr-prov'),
128     ('PROV_ACTIVE_NAME',  'dmaap-dr-prov'),
129     ('STANDBY_POD', ''),
130     ('PROV_NAME',   'dmaap-dr-prov'),
131     ('NODES',       'dmaap-dr-node'),
132     ('PROV_DOMAIN', ''),
133     ('DELIVERY_INIT_RETRY_INTERVAL', '10'),
134     ('DELIVERY_MAX_AGE', '86400'),
135     ('DELIVERY_MAX_RETRY_INTERVAL', '3600'),
136     ('DELIVERY_FILE_PROCESS_INTERVAL', '600'),
137     ('DELIVERY_RETRY_RATIO', '2'),
138     ('LOGROLL_INTERVAL', '300'),
139     ('PROV_AUTH_ADDRESSES', 'dmaap-dr-prov|dmaap-dr-node'),
140     ('PROV_AUTH_SUBJECTS', ''),
141     ('PROV_MAXFEED_COUNT',  '10000'),
142     ('PROV_MAXSUB_COUNT',   '100000'),
143     ('PROV_REQUIRE_CERT', 'false'),
144     ('PROV_REQUIRE_SECURE', 'true'),
145     ('_INT_VALUES', 'LOGROLL_INTERVAL|PROV_MAXFEED_COUNT|PROV_MAXSUB_COUNT|DELIVERY_INIT_RETRY_INTERVAL|DELIVERY_MAX_RETRY_INTERVAL|DELIVERY_RETRY_RATIO|DELIVERY_MAX_AGE|DELIVERY_FILE_PROCESS_INTERVAL')
146     ;
147
148 INSERT INTO GROUPS(GROUPID, AUTHID, NAME, DESCRIPTION, CLASSIFICATION, MEMBERS)
149 VALUES (1, 'Basic dXNlcjE6cGFzc3dvcmQx', 'Group1', 'First Group for testing', 'Class1', 'Member1');
150
151 INSERT INTO SUBSCRIPTIONS(SUBID, FEEDID, DELIVERY_URL, DELIVERY_USER, DELIVERY_PASSWORD, DELIVERY_USE100, METADATA_ONLY, SUBSCRIBER, SUSPENDED, GROUPID, PRIVILEGED_SUBSCRIBER)
152 VALUES (1, 1, 'https://172.100.0.5:8080', 'user1', 'password1', true, false, 'user1', false, 1, false);
153
154 INSERT INTO SUBSCRIPTIONS(SUBID, FEEDID, DELIVERY_URL, DELIVERY_USER, DELIVERY_PASSWORD, SUBSCRIBER, SELF_LINK, LOG_LINK)
155 VALUES (23, 1, 'http://delivery_url', 'user1', 'somepassword', 'sub123', 'selflink', 'loglink');
156
157 INSERT INTO FEED_ENDPOINT_IDS(FEEDID, USERID, PASSWORD)
158 VALUES (1, 'USER', 'PASSWORD');
159
160 INSERT INTO FEEDS(FEEDID, GROUPID, NAME, VERSION, DESCRIPTION, BUSINESS_DESCRIPTION, AUTH_CLASS, PUBLISHER, SELF_LINK, PUBLISH_LINK, SUBSCRIBE_LINK, LOG_LINK)
161 VALUES (1, 1,'Feed1','v0.1', 'First Feed for testing', 'First Feed for testing', 'auth_class', 'pub','self_link','publish_link','subscribe_link','log_link');
162
163 insert into INGRESS_ROUTES(SEQUENCE, FEEDID , USERID, SUBNET, NODESET)
164 VALUES (1,1,'user',null,2);
165
166 insert into INGRESS_ROUTES(SEQUENCE, FEEDID , USERID, SUBNET, NODESET)
167 VALUES (2,1,'user',null,2);
168
169 insert into NODESETS(SETID, NODEID)
170 VALUES (2,2);
171
172 insert into LOG_RECORDS(RECORD_ID,TYPE,EVENT_TIME,PUBLISH_ID,FEEDID,REQURI,METHOD,CONTENT_TYPE,CONTENT_LENGTH,FEED_FILEID,REMOTE_ADDR,USER,STATUS,DELIVERY_SUBID,DELIVERY_FILEID,RESULT,ATTEMPTS,REASON)
173 VALUES(1,'pub',2536159564422,'ID',1,'URL','GET','application/vnd.dmaap-dr.log-list; version=1.0',100,1,'172.0.0.8','user',204,1,1,204,0,'other');
174
175 CREATE ALIAS IF NOT EXISTS `SUBSTRING_INDEX` AS $$
176     String Function(String one, String two, String three){
177         return "url";
178     }
179 $$;
180
181 insert into NETWORK_ROUTES(FROMNODE, TONODE, VIANODE)
182 VALUES (1, 3, 2);
183
184 insert into NODES(NODEID, NAME) values
185     (1, 'stub_from.'),
186     (2, 'stub_via.'),
187     (3, 'stub_to.'),
188     (4, 'node01.'),
189     (5, 'node02.'),
190     (6, 'node03.')
191 ;
192 insert into EGRESS_ROUTES(SUBID, NODEID) values (1, 1);
193