@nsshunt/stsdatamanagement 1.18.196 → 1.18.199
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/db-scripts/builddb-01.sql +386 -0
- package/db-scripts/builddb-02.sql +2176 -0
- package/db-scripts/builddb-stsrest01.sql +2176 -0
- package/db-scripts/builddb.sql +210 -36
- package/dist/databaseutils.js +13 -6
- package/dist/databaseutils.js.map +1 -1
- package/package.json +1 -1
- package/types/databaseutils.d.ts.map +1 -1
|
@@ -0,0 +1,386 @@
|
|
|
1
|
+
---- stsresfhir ------------------------------------------------------------------------------------------
|
|
2
|
+
-- This table will always hold the current version of a resource type.
|
|
3
|
+
CREATE TABLE stsresfhir (
|
|
4
|
+
PID UUID PRIMARY KEY,
|
|
5
|
+
PARTITION_ID INTEGER,
|
|
6
|
+
PARTITION_DATE INTEGER,
|
|
7
|
+
RES_ID TEXT NOT NULL,
|
|
8
|
+
RES_TYPE TEXT NOT NULL,
|
|
9
|
+
RES_VER INTEGER NOT NULL,
|
|
10
|
+
RES_VERSION TEXT NOT NULL,
|
|
11
|
+
RES_PUBLISHED BIGINT NOT NULL,
|
|
12
|
+
RES_UPDATED BIGINT NOT NULL,
|
|
13
|
+
RES_DELETED_AT BIGINT,
|
|
14
|
+
UNIQUE (RES_TYPE, RES_ID)
|
|
15
|
+
);
|
|
16
|
+
|
|
17
|
+
---- stsresfhirver ------------------------------------------------------------------------------------------
|
|
18
|
+
|
|
19
|
+
-- This table holds all the versions of a resource type.
|
|
20
|
+
CREATE TABLE stsresfhirver (
|
|
21
|
+
PID UUID PRIMARY KEY,
|
|
22
|
+
PARTITION_ID INTEGER,
|
|
23
|
+
PARTITION_DATE INTEGER,
|
|
24
|
+
RES_ID TEXT NOT NULL,
|
|
25
|
+
RES_TYPE TEXT NOT NULL,
|
|
26
|
+
RES_VER INTEGER NOT NULL,
|
|
27
|
+
OPERATION TEXT NOT NULL, -- operation that created this record (CREATE, PUT, PATCH, DELETE)
|
|
28
|
+
RES TEXT NOT NULL,
|
|
29
|
+
-- Uniqueness of each version per resource:
|
|
30
|
+
CONSTRAINT uq_stsresfhirver_triplet UNIQUE (RES_TYPE, RES_ID, RES_VER),
|
|
31
|
+
-- We only need (RES_ID, RES_TYPE) as the FK because the parent table always holds the current version.
|
|
32
|
+
FOREIGN KEY (RES_TYPE, RES_ID) REFERENCES stsresfhir(RES_TYPE, RES_ID)
|
|
33
|
+
);
|
|
34
|
+
|
|
35
|
+
-- Seek-friendly sort index for keyset pagination:
|
|
36
|
+
CREATE INDEX idx_stsresfhirver_seek
|
|
37
|
+
ON stsresfhirver (RES_TYPE, RES_ID, RES_VER DESC);
|
|
38
|
+
|
|
39
|
+
---- stsresfhirlink ------------------------------------------------------------------------------------------
|
|
40
|
+
|
|
41
|
+
CREATE TABLE stsresfhirlink (
|
|
42
|
+
PID UUID PRIMARY KEY,
|
|
43
|
+
PARTITION_ID INTEGER,
|
|
44
|
+
PARTITION_DATE INTEGER,
|
|
45
|
+
SP_NAME TEXT NOT NULL,
|
|
46
|
+
SP_PARAM_TYPE TEXT NOT NULL,
|
|
47
|
+
SP_STR TEXT,
|
|
48
|
+
SRC_PATH TEXT NOT NULL,
|
|
49
|
+
RES_ID TEXT NOT NULL,
|
|
50
|
+
RES_TYPE TEXT NOT NULL,
|
|
51
|
+
SP_MISSING BOOLEAN NOT NULL,
|
|
52
|
+
TARGET_RESOURCE_TYPE TEXT,
|
|
53
|
+
TARGET_RESOURCE_ID TEXT, -- Either ID or URL - not both
|
|
54
|
+
TARGET_RESOURCE_URL TEXT, -- Either ID or URL - not both
|
|
55
|
+
UPDATED BIGINT NOT NULL,
|
|
56
|
+
PATH_FOR_COMP TEXT,
|
|
57
|
+
COMPOSITE TEXT,
|
|
58
|
+
COMPOSITE_HASH_EXACT BIGINT
|
|
59
|
+
);
|
|
60
|
+
|
|
61
|
+
CREATE INDEX idx_stsresfhirlink_type_id
|
|
62
|
+
ON stsresfhirlink (RES_ID, RES_TYPE);
|
|
63
|
+
|
|
64
|
+
CREATE INDEX idx_stsresfhirlink_identity
|
|
65
|
+
ON stsresfhirlink (SP_NAME, RES_TYPE);
|
|
66
|
+
|
|
67
|
+
CREATE INDEX idx_stsresfhirlink_identity_target_id
|
|
68
|
+
ON stsresfhirlink (SP_NAME, RES_TYPE, TARGET_RESOURCE_TYPE, TARGET_RESOURCE_ID)
|
|
69
|
+
WHERE TARGET_RESOURCE_ID IS NOT NULL;
|
|
70
|
+
|
|
71
|
+
CREATE INDEX idx_stsresfhirlink_identity_target_url
|
|
72
|
+
ON stsresfhirlink (SP_NAME, RES_TYPE, TARGET_RESOURCE_TYPE, TARGET_RESOURCE_URL)
|
|
73
|
+
WHERE TARGET_RESOURCE_URL IS NOT NULL;
|
|
74
|
+
|
|
75
|
+
---- stsresfhirstring ------------------------------------------------------------------------------------------
|
|
76
|
+
|
|
77
|
+
CREATE TABLE stsresfhirstring (
|
|
78
|
+
PID UUID PRIMARY KEY,
|
|
79
|
+
PARTITION_ID INTEGER,
|
|
80
|
+
PARTITION_DATE INTEGER,
|
|
81
|
+
SP_NAME TEXT NOT NULL,
|
|
82
|
+
SP_PARAM_TYPE TEXT NOT NULL,
|
|
83
|
+
RES_ID TEXT NOT NULL,
|
|
84
|
+
RES_TYPE TEXT NOT NULL,
|
|
85
|
+
SP_MISSING BOOLEAN NOT NULL,
|
|
86
|
+
SP_STR TEXT,
|
|
87
|
+
HASH_IDENTITY BIGINT,
|
|
88
|
+
HASH_EXACT BIGINT,
|
|
89
|
+
SP_VALUE_NORMALIZED TEXT,
|
|
90
|
+
SP_VALUE_EXACT TEXT,
|
|
91
|
+
UPDATED BIGINT NOT NULL,
|
|
92
|
+
PATH_FOR_COMP TEXT,
|
|
93
|
+
COMPOSITE TEXT,
|
|
94
|
+
COMPOSITE_HASH_EXACT BIGINT
|
|
95
|
+
);
|
|
96
|
+
|
|
97
|
+
CREATE INDEX idx_stsresfhirstring_search_prefix
|
|
98
|
+
ON stsresfhirstring (
|
|
99
|
+
RES_TYPE,
|
|
100
|
+
SP_NAME,
|
|
101
|
+
SP_PARAM_TYPE,
|
|
102
|
+
HASH_IDENTITY,
|
|
103
|
+
left(SP_VALUE_NORMALIZED, 3),
|
|
104
|
+
SP_VALUE_NORMALIZED text_pattern_ops,
|
|
105
|
+
RES_ID
|
|
106
|
+
)
|
|
107
|
+
WHERE SP_VALUE_NORMALIZED IS NOT NULL;
|
|
108
|
+
|
|
109
|
+
CREATE INDEX idx_stsresfhirstring_type_id
|
|
110
|
+
ON stsresfhirstring (RES_ID, RES_TYPE);
|
|
111
|
+
|
|
112
|
+
CREATE INDEX idx_stsresfhirstring_hash_identity
|
|
113
|
+
ON stsresfhirstring (HASH_IDENTITY);
|
|
114
|
+
|
|
115
|
+
CREATE INDEX idx_stsresfhirstring_hash_exact
|
|
116
|
+
ON stsresfhirstring (HASH_EXACT, SP_VALUE_EXACT)
|
|
117
|
+
WHERE HASH_EXACT IS NOT NULL AND SP_VALUE_EXACT IS NOT NULL;
|
|
118
|
+
|
|
119
|
+
CREATE INDEX idx_stsresfhirstring_hash_value_norm
|
|
120
|
+
ON stsresfhirstring (HASH_IDENTITY, SP_VALUE_NORMALIZED)
|
|
121
|
+
WHERE SP_VALUE_NORMALIZED IS NOT NULL;
|
|
122
|
+
|
|
123
|
+
CREATE INDEX idx_stsresfhirstring_hash_value_exact
|
|
124
|
+
ON stsresfhirstring (HASH_IDENTITY, SP_VALUE_EXACT)
|
|
125
|
+
WHERE SP_VALUE_EXACT IS NOT NULL;
|
|
126
|
+
|
|
127
|
+
---- stsresfhirtoken ------------------------------------------------------------------------------------------
|
|
128
|
+
|
|
129
|
+
CREATE TABLE stsresfhirtoken (
|
|
130
|
+
PID UUID PRIMARY KEY,
|
|
131
|
+
PARTITION_ID INTEGER,
|
|
132
|
+
PARTITION_DATE INTEGER,
|
|
133
|
+
SP_NAME TEXT NOT NULL,
|
|
134
|
+
SP_PARAM_TYPE TEXT NOT NULL,
|
|
135
|
+
RES_ID TEXT NOT NULL,
|
|
136
|
+
RES_TYPE TEXT NOT NULL,
|
|
137
|
+
UPDATED BIGINT NOT NULL,
|
|
138
|
+
SP_MISSING BOOLEAN NOT NULL,
|
|
139
|
+
HASH_IDENTITY BIGINT NOT NULL,
|
|
140
|
+
SP_SYSTEM TEXT,
|
|
141
|
+
SP_VALUE TEXT,
|
|
142
|
+
SP_TOKEN_TYPE TEXT,
|
|
143
|
+
SP_STR TEXT,
|
|
144
|
+
HASH_VALUE BIGINT,
|
|
145
|
+
HASH_SYS BIGINT,
|
|
146
|
+
HASH_SYS_AND_VALUE BIGINT,
|
|
147
|
+
PATH_FOR_COMP TEXT,
|
|
148
|
+
COMPOSITE TEXT,
|
|
149
|
+
COMPOSITE_HASH_EXACT BIGINT
|
|
150
|
+
);
|
|
151
|
+
|
|
152
|
+
CREATE INDEX idx_stsresfhirtoken_type_id
|
|
153
|
+
ON stsresfhirtoken (RES_ID, RES_TYPE);
|
|
154
|
+
|
|
155
|
+
CREATE INDEX idx_stsresfhirtoken_hash_identity
|
|
156
|
+
ON stsresfhirtoken (HASH_IDENTITY);
|
|
157
|
+
|
|
158
|
+
CREATE INDEX idx_stsresfhirtoken_hash_identity_value
|
|
159
|
+
ON stsresfhirtoken (HASH_IDENTITY, SP_VALUE)
|
|
160
|
+
WHERE SP_VALUE IS NOT NULL;
|
|
161
|
+
|
|
162
|
+
CREATE INDEX idx_stsresfhirtoken_hash_value
|
|
163
|
+
ON stsresfhirtoken (HASH_VALUE, SP_VALUE)
|
|
164
|
+
WHERE SP_VALUE IS NOT NULL;
|
|
165
|
+
|
|
166
|
+
CREATE INDEX idx_stsresfhirtoken_hash_sys
|
|
167
|
+
ON stsresfhirtoken (HASH_SYS, SP_SYSTEM)
|
|
168
|
+
WHERE SP_SYSTEM IS NOT NULL;
|
|
169
|
+
|
|
170
|
+
CREATE INDEX idx_stsresfhirtoken_hash_sys_and_value
|
|
171
|
+
ON stsresfhirtoken (HASH_SYS_AND_VALUE, SP_SYSTEM, SP_VALUE)
|
|
172
|
+
WHERE SP_SYSTEM IS NOT NULL AND SP_VALUE IS NOT NULL;
|
|
173
|
+
|
|
174
|
+
---- stsresfhirquantity ------------------------------------------------------------------------------------------
|
|
175
|
+
|
|
176
|
+
CREATE TABLE stsresfhirquantity (
|
|
177
|
+
PID UUID PRIMARY KEY,
|
|
178
|
+
PARTITION_ID INTEGER,
|
|
179
|
+
PARTITION_DATE INTEGER,
|
|
180
|
+
SP_NAME TEXT NOT NULL,
|
|
181
|
+
SP_PARAM_TYPE TEXT NOT NULL,
|
|
182
|
+
RES_ID TEXT NOT NULL,
|
|
183
|
+
RES_TYPE TEXT NOT NULL,
|
|
184
|
+
UPDATED BIGINT NOT NULL,
|
|
185
|
+
SP_MISSING BOOLEAN NOT NULL,
|
|
186
|
+
HASH_IDENTITY BIGINT NOT NULL,
|
|
187
|
+
SP_SYSTEM TEXT,
|
|
188
|
+
SP_VALUE DECIMAL,
|
|
189
|
+
SP_UNITS TEXT,
|
|
190
|
+
SP_STR TEXT,
|
|
191
|
+
HASH_IDENTITY_AND_UNITS BIGINT,
|
|
192
|
+
HASH_IDENTITY_SYS_UNITS BIGINT,
|
|
193
|
+
PATH_FOR_COMP TEXT,
|
|
194
|
+
COMPOSITE TEXT,
|
|
195
|
+
COMPOSITE_HASH_EXACT BIGINT
|
|
196
|
+
);
|
|
197
|
+
|
|
198
|
+
CREATE INDEX idx_stsresfhirquantity_type_id
|
|
199
|
+
ON stsresfhirquantity (RES_ID, RES_TYPE);
|
|
200
|
+
|
|
201
|
+
CREATE INDEX idx_stsresfhirquantity_hash_identity
|
|
202
|
+
ON stsresfhirquantity (HASH_IDENTITY);
|
|
203
|
+
|
|
204
|
+
CREATE INDEX idx_stsresfhirquantity_hash_identity_value
|
|
205
|
+
ON stsresfhirquantity (HASH_IDENTITY, SP_VALUE)
|
|
206
|
+
WHERE SP_VALUE IS NOT NULL;
|
|
207
|
+
|
|
208
|
+
CREATE INDEX idx_stsresfhirquantity_hash_identity_sys_units_value
|
|
209
|
+
ON stsresfhirquantity (HASH_IDENTITY, SP_SYSTEM, SP_UNITS, SP_VALUE)
|
|
210
|
+
WHERE SP_SYSTEM IS NOT NULL AND SP_UNITS IS NOT NULL AND SP_VALUE IS NOT NULL;
|
|
211
|
+
|
|
212
|
+
CREATE INDEX idx_stsresfhirquantity_hash_units
|
|
213
|
+
ON stsresfhirquantity (HASH_IDENTITY_AND_UNITS, SP_UNITS)
|
|
214
|
+
WHERE SP_UNITS IS NOT NULL AND SP_VALUE IS NOT NULL;
|
|
215
|
+
|
|
216
|
+
CREATE INDEX idx_stsresfhirquantity_hash_sys_units
|
|
217
|
+
ON stsresfhirquantity (HASH_IDENTITY_SYS_UNITS, SP_SYSTEM, SP_UNITS)
|
|
218
|
+
WHERE SP_SYSTEM IS NOT NULL AND SP_UNITS IS NOT NULL AND SP_VALUE IS NOT NULL;
|
|
219
|
+
|
|
220
|
+
---- stsresfhirnumber ------------------------------------------------------------------------------------------
|
|
221
|
+
|
|
222
|
+
CREATE TABLE stsresfhirnumber (
|
|
223
|
+
PID UUID PRIMARY KEY,
|
|
224
|
+
PARTITION_ID INTEGER,
|
|
225
|
+
PARTITION_DATE INTEGER,
|
|
226
|
+
SP_NAME TEXT NOT NULL,
|
|
227
|
+
SP_PARAM_TYPE TEXT NOT NULL,
|
|
228
|
+
RES_ID TEXT NOT NULL,
|
|
229
|
+
RES_TYPE TEXT NOT NULL,
|
|
230
|
+
UPDATED BIGINT NOT NULL,
|
|
231
|
+
SP_MISSING BOOLEAN NOT NULL,
|
|
232
|
+
HASH_IDENTITY BIGINT NOT NULL,
|
|
233
|
+
SP_VALUE DECIMAL,
|
|
234
|
+
SP_STR TEXT,
|
|
235
|
+
PATH_FOR_COMP TEXT,
|
|
236
|
+
COMPOSITE TEXT,
|
|
237
|
+
COMPOSITE_HASH_EXACT BIGINT
|
|
238
|
+
);
|
|
239
|
+
|
|
240
|
+
CREATE INDEX idx_stsresfhirnumber_type_id
|
|
241
|
+
ON stsresfhirnumber (RES_ID, RES_TYPE);
|
|
242
|
+
|
|
243
|
+
CREATE INDEX idx_stsresfhirnumber_hash_identity
|
|
244
|
+
ON stsresfhirnumber (HASH_IDENTITY);
|
|
245
|
+
|
|
246
|
+
CREATE INDEX idx_stsresfhirnumber_hash_identity_value
|
|
247
|
+
ON stsresfhirnumber (HASH_IDENTITY, SP_VALUE)
|
|
248
|
+
WHERE SP_VALUE IS NOT NULL;
|
|
249
|
+
|
|
250
|
+
---- stsresfhiruri ------------------------------------------------------------------------------------------
|
|
251
|
+
|
|
252
|
+
CREATE TABLE stsresfhiruri (
|
|
253
|
+
PID UUID PRIMARY KEY,
|
|
254
|
+
PARTITION_ID INTEGER,
|
|
255
|
+
PARTITION_DATE INTEGER,
|
|
256
|
+
SP_NAME TEXT NOT NULL,
|
|
257
|
+
SP_PARAM_TYPE TEXT NOT NULL,
|
|
258
|
+
RES_ID TEXT NOT NULL,
|
|
259
|
+
RES_TYPE TEXT NOT NULL,
|
|
260
|
+
UPDATED BIGINT NOT NULL,
|
|
261
|
+
SP_MISSING BOOLEAN NOT NULL,
|
|
262
|
+
HASH_IDENTITY BIGINT NOT NULL,
|
|
263
|
+
SP_URI TEXT,
|
|
264
|
+
HASH_URI BIGINT,
|
|
265
|
+
SP_STR TEXT,
|
|
266
|
+
PATH_FOR_COMP TEXT,
|
|
267
|
+
COMPOSITE TEXT,
|
|
268
|
+
COMPOSITE_HASH_EXACT BIGINT
|
|
269
|
+
);
|
|
270
|
+
|
|
271
|
+
CREATE INDEX idx_stsresfhiruri_type_id
|
|
272
|
+
ON stsresfhiruri (RES_ID, RES_TYPE);
|
|
273
|
+
|
|
274
|
+
CREATE INDEX idx_stsresfhiruri_hash_identity
|
|
275
|
+
ON stsresfhiruri (HASH_IDENTITY);
|
|
276
|
+
|
|
277
|
+
CREATE INDEX idx_stsresfhiruri_hash_uri
|
|
278
|
+
ON stsresfhiruri (HASH_URI, SP_URI)
|
|
279
|
+
WHERE SP_URI IS NOT NULL;
|
|
280
|
+
|
|
281
|
+
CREATE INDEX idx_stsresfhiruri_identity_uri
|
|
282
|
+
ON stsresfhiruri (HASH_IDENTITY, SP_URI)
|
|
283
|
+
WHERE SP_URI IS NOT NULL;
|
|
284
|
+
|
|
285
|
+
---- stsresfhirdate ------------------------------------------------------------------------------------------
|
|
286
|
+
|
|
287
|
+
CREATE TABLE stsresfhirdate (
|
|
288
|
+
PID UUID PRIMARY KEY,
|
|
289
|
+
PARTITION_ID INTEGER,
|
|
290
|
+
PARTITION_DATE INTEGER,
|
|
291
|
+
SP_NAME TEXT NOT NULL,
|
|
292
|
+
SP_PARAM_TYPE TEXT NOT NULL,
|
|
293
|
+
RES_ID TEXT NOT NULL,
|
|
294
|
+
RES_TYPE TEXT NOT NULL,
|
|
295
|
+
UPDATED BIGINT NOT NULL,
|
|
296
|
+
SP_MISSING BOOLEAN NOT NULL,
|
|
297
|
+
HASH_IDENTITY BIGINT NOT NULL,
|
|
298
|
+
SP_VALUE_LOW timestamp with time zone,
|
|
299
|
+
SP_VALUE_HIGH timestamp with time zone,
|
|
300
|
+
SP_VALUE_LOW_DATE_ORDINAL INTEGER,
|
|
301
|
+
SP_VALUE_HIGH_DATE_ORDINAL INTEGER,
|
|
302
|
+
SP_STR TEXT,
|
|
303
|
+
PATH_FOR_COMP TEXT,
|
|
304
|
+
COMPOSITE TEXT,
|
|
305
|
+
COMPOSITE_HASH_EXACT BIGINT
|
|
306
|
+
);
|
|
307
|
+
|
|
308
|
+
CREATE INDEX idx_stsresfhirdate_type_id
|
|
309
|
+
ON stsresfhirdate (RES_ID, RES_TYPE);
|
|
310
|
+
|
|
311
|
+
CREATE INDEX idx_stsresfhirdate_hash_identity
|
|
312
|
+
ON stsresfhirdate (HASH_IDENTITY);
|
|
313
|
+
|
|
314
|
+
CREATE INDEX idx_stsresfhirdate_hash_identity_low
|
|
315
|
+
ON stsresfhirdate (HASH_IDENTITY, SP_VALUE_LOW)
|
|
316
|
+
WHERE SP_VALUE_LOW IS NOT NULL;
|
|
317
|
+
|
|
318
|
+
CREATE INDEX idx_stsresfhirdate_hash_identity_high
|
|
319
|
+
ON stsresfhirdate (HASH_IDENTITY, SP_VALUE_HIGH)
|
|
320
|
+
WHERE SP_VALUE_HIGH IS NOT NULL;
|
|
321
|
+
|
|
322
|
+
---- stsresfhircoords ------------------------------------------------------------------------------------------
|
|
323
|
+
|
|
324
|
+
CREATE TABLE stsresfhircoords (
|
|
325
|
+
PID UUID PRIMARY KEY,
|
|
326
|
+
PARTITION_ID INTEGER,
|
|
327
|
+
PARTITION_DATE INTEGER,
|
|
328
|
+
SP_NAME TEXT NOT NULL,
|
|
329
|
+
SP_PARAM_TYPE TEXT NOT NULL,
|
|
330
|
+
RES_ID TEXT NOT NULL,
|
|
331
|
+
RES_TYPE TEXT NOT NULL,
|
|
332
|
+
UPDATED BIGINT NOT NULL,
|
|
333
|
+
SP_MISSING BOOLEAN NOT NULL,
|
|
334
|
+
HASH_IDENTITY BIGINT NOT NULL,
|
|
335
|
+
SP_LATITUDE double precision,
|
|
336
|
+
SP_LONGITUDE double precision,
|
|
337
|
+
SP_STR TEXT,
|
|
338
|
+
PATH_FOR_COMP TEXT,
|
|
339
|
+
COMPOSITE TEXT,
|
|
340
|
+
COMPOSITE_HASH_EXACT BIGINT
|
|
341
|
+
);
|
|
342
|
+
|
|
343
|
+
CREATE INDEX idx_stsresfhircoords_type_id
|
|
344
|
+
ON stsresfhircoords (RES_ID, RES_TYPE);
|
|
345
|
+
|
|
346
|
+
CREATE INDEX idx_stsresfhircoords_hash_identity
|
|
347
|
+
ON stsresfhircoords (HASH_IDENTITY);
|
|
348
|
+
|
|
349
|
+
CREATE INDEX idx_stsresfhircoords_hash_identity_lat_long
|
|
350
|
+
ON stsresfhircoords (HASH_IDENTITY, SP_LATITUDE, SP_LONGITUDE)
|
|
351
|
+
WHERE SP_LATITUDE IS NOT NULL AND SP_LONGITUDE IS NOT NULL;
|
|
352
|
+
|
|
353
|
+
---- stsresfhircombo ------------------------------------------------------------------------------------------
|
|
354
|
+
|
|
355
|
+
-- When joining with other index tables, use RES_ID and SP_NAME
|
|
356
|
+
CREATE TABLE stsresfhircombo (
|
|
357
|
+
PID UUID PRIMARY KEY,
|
|
358
|
+
PARTITION_ID INTEGER,
|
|
359
|
+
PARTITION_DATE INTEGER,
|
|
360
|
+
SP_NAME TEXT NOT NULL,
|
|
361
|
+
SP_PARAM_TYPE TEXT NOT NULL,
|
|
362
|
+
RES_ID TEXT NOT NULL,
|
|
363
|
+
RES_TYPE TEXT NOT NULL,
|
|
364
|
+
UPDATED BIGINT NOT NULL,
|
|
365
|
+
SP_MISSING BOOLEAN NOT NULL,
|
|
366
|
+
HASH_IDENTITY BIGINT NOT NULL,
|
|
367
|
+
IDX_STRING TEXT,
|
|
368
|
+
HASH_COMPLETE BIGINT,
|
|
369
|
+
SP_STR TEXT,
|
|
370
|
+
UNIQUE (RES_ID, SP_NAME, IDX_STRING)
|
|
371
|
+
);
|
|
372
|
+
|
|
373
|
+
CREATE INDEX idx_stsresfhircombo_type_id
|
|
374
|
+
ON stsresfhircombo (RES_ID, RES_TYPE);
|
|
375
|
+
|
|
376
|
+
CREATE INDEX idx_stsresfhircombo_hash_identity
|
|
377
|
+
ON stsresfhircombo (HASH_IDENTITY);
|
|
378
|
+
|
|
379
|
+
CREATE INDEX idx_stsresfhircombo_hash_complete
|
|
380
|
+
ON stsresfhircombo (HASH_COMPLETE)
|
|
381
|
+
WHERE HASH_COMPLETE IS NOT NULL;
|
|
382
|
+
|
|
383
|
+
CREATE INDEX idx_stsresfhircombo_hash_identity_string
|
|
384
|
+
ON stsresfhircombo (HASH_IDENTITY, IDX_STRING)
|
|
385
|
+
WHERE IDX_STRING IS NOT NULL;
|
|
386
|
+
|