Rev 442 | Go to most recent revision | Details | Compare with Previous | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
244 | daniel-mar | 1 | SET ANSI_NULLS ON |
2 | GO |
||
3 | |||
4 | SET QUOTED_IDENTIFIER ON |
||
5 | GO |
||
6 | |||
272 | daniel-mar | 7 | SET ANSI_PADDING ON |
8 | GO |
||
9 | |||
10 | /**********************************************/ |
||
11 | |||
273 | daniel-mar | 12 | IF OBJECT_ID('dbo.getOidArc', 'FN') IS NOT NULL /*Backwards compatibility*/ |
13 | DROP FUNCTION /*IF EXISTS*/ [dbo].[getOidArc]; |
||
272 | daniel-mar | 14 | GO |
244 | daniel-mar | 15 | CREATE FUNCTION [dbo].[getOidArc] (@strList VARCHAR(512), @maxArcLen INT, @occurence INT) |
16 | RETURNS VARCHAR(512) AS |
||
17 | BEGIN |
||
18 | DECLARE @intPos INT |
||
19 | |||
20 | DECLARE @cnt INT |
||
21 | SET @cnt = 0 |
||
22 | |||
23 | IF SUBSTRING(@strList, 1, 4) <> 'oid:' |
||
24 | BEGIN |
||
25 | RETURN '' |
||
26 | END |
||
27 | |||
28 | SET @strList = RIGHT(@strList, LEN(@strList)-4) |
||
29 | |||
30 | WHILE CHARINDEX('.',@strList) > 0 |
||
31 | BEGIN |
||
32 | SET @intPos=CHARINDEX('.',@strList) |
||
33 | SET @cnt = @cnt + 1 |
||
34 | IF @cnt = @occurence |
||
35 | BEGIN |
||
36 | SET @strList = LEFT(@strList,@intPos-1) |
||
37 | RETURN REPLICATE('0', @maxArcLen-len(@strList)) + @strList |
||
38 | END |
||
39 | SET @strList = RIGHT(@strList, LEN(@strList)-@intPos) |
||
40 | END |
||
41 | IF LEN(@strList) > 0 |
||
42 | BEGIN |
||
43 | SET @cnt = @cnt + 1 |
||
44 | IF @cnt = @occurence |
||
45 | BEGIN |
||
46 | RETURN REPLICATE('0', @maxArcLen-len(@strList)) + @strList |
||
47 | END |
||
48 | END |
||
49 | |||
50 | RETURN REPLICATE('0', @maxArcLen) |
||
51 | END |
||
239 | daniel-mar | 52 | GO |
53 | |||
272 | daniel-mar | 54 | /**********************************************/ |
239 | daniel-mar | 55 | |
273 | daniel-mar | 56 | IF OBJECT_ID('dbo.config', 'U') IS NOT NULL /*Backwards compatibility*/ |
57 | DROP TABLE /*IF EXISTS*/ [dbo].[config]; |
||
239 | daniel-mar | 58 | CREATE TABLE [dbo].[config]( |
59 | [name] [VARCHAR](50) NOT NULL, |
||
60 | [VALUE] [text] NOT NULL, |
||
61 | [description] [VARCHAR](255) NULL, |
||
62 | [protected] [bit] NOT NULL DEFAULT ('0'), |
||
63 | [visible] [bit] NOT NULL DEFAULT ('0'), |
||
272 | daniel-mar | 64 | CONSTRAINT [PK_config] PRIMARY KEY CLUSTERED |
65 | ( |
||
66 | [name] ASC |
||
67 | ) |
||
68 | ) |
||
239 | daniel-mar | 69 | GO |
70 | |||
272 | daniel-mar | 71 | /**********************************************/ |
239 | daniel-mar | 72 | |
273 | daniel-mar | 73 | IF OBJECT_ID('dbo.asn1id', 'U') IS NOT NULL /*Backwards compatibility*/ |
74 | DROP TABLE /*IF EXISTS*/ [dbo].[asn1id]; |
||
272 | daniel-mar | 75 | CREATE TABLE [dbo].[asn1id]( |
76 | [lfd] [INT] IDENTITY(1,1) NOT NULL, |
||
77 | [oid] [VARCHAR](255) NOT NULL, |
||
78 | [name] [VARCHAR](255) NOT NULL, |
||
276 | daniel-mar | 79 | [standardized] [bit] NOT NULL CONSTRAINT [DF__asn1id__standardized] DEFAULT ('0'), |
80 | [well_known] [bit] NOT NULL CONSTRAINT [DF__asn1id__well_known] DEFAULT ('0'), |
||
272 | daniel-mar | 81 | CONSTRAINT [PK_asn1id] PRIMARY KEY CLUSTERED |
82 | ( |
||
83 | [lfd] ASC |
||
84 | ), |
||
85 | INDEX [IX_asn1id_oid_name] NONCLUSTERED |
||
86 | ( |
||
87 | [oid] ASC, |
||
88 | [name] ASC |
||
89 | ) |
||
90 | ) |
||
239 | daniel-mar | 91 | GO |
92 | |||
272 | daniel-mar | 93 | /**********************************************/ |
239 | daniel-mar | 94 | |
273 | daniel-mar | 95 | IF OBJECT_ID('dbo.iri', 'U') IS NOT NULL /*Backwards compatibility*/ |
96 | DROP TABLE /*IF EXISTS*/ [dbo].[iri]; |
||
239 | daniel-mar | 97 | CREATE TABLE [dbo].[iri]( |
98 | [lfd] [INT] IDENTITY(1,1) NOT NULL, |
||
99 | [oid] [VARCHAR](255) NOT NULL, |
||
100 | [name] [VARCHAR](255) NOT NULL, |
||
276 | daniel-mar | 101 | [longarc] [bit] NOT NULL CONSTRAINT [DF__iri__longarc] DEFAULT ('0'), |
102 | [well_known] [bit] NOT NULL CONSTRAINT [DF__iri__well_known] DEFAULT ('0'), |
||
272 | daniel-mar | 103 | CONSTRAINT [PK_iri] PRIMARY KEY CLUSTERED |
104 | ( |
||
105 | [lfd] ASC |
||
106 | ), |
||
107 | INDEX [IX_iri_oid_name] NONCLUSTERED |
||
108 | ( |
||
109 | [oid] ASC, |
||
110 | [name] ASC |
||
111 | ) |
||
112 | ) |
||
239 | daniel-mar | 113 | GO |
114 | |||
272 | daniel-mar | 115 | /**********************************************/ |
239 | daniel-mar | 116 | |
273 | daniel-mar | 117 | IF OBJECT_ID('dbo.objects', 'U') IS NOT NULL /*Backwards compatibility*/ |
118 | DROP TABLE /*IF EXISTS*/ [dbo].[objects]; |
||
239 | daniel-mar | 119 | CREATE TABLE [dbo].[objects]( |
120 | [id] [VARCHAR](255) NOT NULL, |
||
121 | [parent] [VARCHAR](255) NULL, |
||
441 | daniel-mar | 122 | [title] [VARCHAR](255) NULL, |
123 | [description] [text] NULL, |
||
239 | daniel-mar | 124 | [ra_email] [VARCHAR](100) NULL, |
125 | [confidential] [bit] NOT NULL, |
||
126 | [created] [datetime] NULL, |
||
127 | [updated] [datetime] NULL, |
||
128 | [comment] [VARCHAR](255) NULL, |
||
272 | daniel-mar | 129 | CONSTRAINT [PK_objects] PRIMARY KEY CLUSTERED |
130 | ( |
||
131 | [id] ASC |
||
132 | ), |
||
133 | INDEX [IX_objects_parent] NONCLUSTERED |
||
134 | ( |
||
135 | [parent] ASC |
||
136 | ), |
||
276 | daniel-mar | 137 | INDEX [IX_objects_ra_email] NONCLUSTERED |
272 | daniel-mar | 138 | ( |
139 | [ra_email] ASC |
||
140 | ) |
||
141 | ) |
||
239 | daniel-mar | 142 | GO |
143 | |||
272 | daniel-mar | 144 | /**********************************************/ |
239 | daniel-mar | 145 | |
273 | daniel-mar | 146 | IF OBJECT_ID('dbo.ra', 'U') IS NOT NULL /*Backwards compatibility*/ |
147 | DROP TABLE /*IF EXISTS*/ [dbo].[ra]; |
||
239 | daniel-mar | 148 | CREATE TABLE [dbo].[ra]( |
149 | [ra_id] [INT] IDENTITY(1,1) NOT NULL, |
||
150 | [email] [VARCHAR](100) NOT NULL, |
||
441 | daniel-mar | 151 | [ra_name] [VARCHAR](100) NULL, |
152 | [personal_name] [VARCHAR](100) NULL, |
||
153 | [organization] [VARCHAR](100) NULL, |
||
154 | [office] [VARCHAR](100) NULL, |
||
155 | [street] [VARCHAR](100) NULL, |
||
156 | [zip_town] [VARCHAR](100) NULL, |
||
157 | [country] [VARCHAR](100) NULL, |
||
158 | [phone] [VARCHAR](100) NULL, |
||
159 | [mobile] [VARCHAR](100) NULL, |
||
160 | [fax] [VARCHAR](100) NULL, |
||
276 | daniel-mar | 161 | [privacy] [bit] NOT NULL CONSTRAINT [DF__ra__privacy] DEFAULT ('0'), |
441 | daniel-mar | 162 | [salt] [VARCHAR](100) NULL, |
163 | [authkey] [VARCHAR](100) NULL, |
||
239 | daniel-mar | 164 | [registered] [datetime] NULL, |
165 | [updated] [datetime] NULL, |
||
166 | [last_login] [datetime] NULL, |
||
272 | daniel-mar | 167 | CONSTRAINT [PK_ra] PRIMARY KEY CLUSTERED |
168 | ( |
||
169 | [ra_id] ASC |
||
170 | ), |
||
171 | CONSTRAINT [IX_ra_email] UNIQUE ( |
||
172 | [email] ASC |
||
173 | ) |
||
174 | ) |
||
175 | GO |
||
239 | daniel-mar | 176 | |
272 | daniel-mar | 177 | /**********************************************/ |
178 | |||
273 | daniel-mar | 179 | IF OBJECT_ID('dbo.log', 'U') IS NOT NULL /*Backwards compatibility*/ |
180 | DROP TABLE /*IF EXISTS*/ [dbo].[log]; |
||
272 | daniel-mar | 181 | CREATE TABLE [dbo].[log]( |
182 | [id] [INT] IDENTITY(1,1) NOT NULL, |
||
183 | [unix_ts] [BIGINT] NOT NULL, |
||
184 | [addr] [VARCHAR](45) NOT NULL, |
||
185 | [event] [text] NOT NULL, |
||
186 | CONSTRAINT [PK_log] PRIMARY KEY CLUSTERED |
||
187 | ( |
||
188 | [id] ASC |
||
189 | ) |
||
190 | ) |
||
239 | daniel-mar | 191 | GO |
192 | |||
272 | daniel-mar | 193 | /**********************************************/ |
194 | |||
273 | daniel-mar | 195 | IF OBJECT_ID('dbo.log_user', 'U') IS NOT NULL /*Backwards compatibility*/ |
196 | DROP TABLE /*IF EXISTS*/ [dbo].[log_user]; |
||
272 | daniel-mar | 197 | CREATE TABLE [dbo].[log_user]( |
198 | [id] [INT] IDENTITY(1,1) NOT NULL, |
||
199 | [log_id] [INT] NOT NULL, |
||
200 | [username] [VARCHAR](255) NOT NULL, |
||
288 | daniel-mar | 201 | [severity] [INT] NOT NULL, |
272 | daniel-mar | 202 | CONSTRAINT [PK_log_user] PRIMARY KEY CLUSTERED |
203 | ( |
||
204 | [id] ASC |
||
205 | ), |
||
276 | daniel-mar | 206 | INDEX [IX_log_user_log_id] NONCLUSTERED |
272 | daniel-mar | 207 | ( |
208 | [log_id] ASC |
||
209 | ), |
||
276 | daniel-mar | 210 | INDEX [IX_log_user_username] NONCLUSTERED |
272 | daniel-mar | 211 | ( |
212 | [username] ASC |
||
213 | ), |
||
502 | daniel-mar | 214 | CONSTRAINT [IX_log_user_log_id_username] UNIQUE |
272 | daniel-mar | 215 | ( |
216 | [log_id], |
||
217 | [username] |
||
218 | ) |
||
219 | ) |
||
239 | daniel-mar | 220 | GO |
221 | |||
272 | daniel-mar | 222 | /**********************************************/ |
223 | |||
273 | daniel-mar | 224 | IF OBJECT_ID('dbo.log_object', 'U') IS NOT NULL /*Backwards compatibility*/ |
225 | DROP TABLE /*IF EXISTS*/ [dbo].[log_object]; |
||
272 | daniel-mar | 226 | CREATE TABLE [dbo].[log_object]( |
227 | [id] [INT] IDENTITY(1,1) NOT NULL, |
||
228 | [log_id] [INT] NOT NULL, |
||
229 | [object] [VARCHAR](255) NOT NULL, |
||
288 | daniel-mar | 230 | [severity] [INT] NOT NULL, |
272 | daniel-mar | 231 | CONSTRAINT [PK_log_object] PRIMARY KEY CLUSTERED |
232 | ( |
||
233 | [id] ASC |
||
234 | ), |
||
276 | daniel-mar | 235 | INDEX [IX_log_object_log_id] NONCLUSTERED |
272 | daniel-mar | 236 | ( |
237 | [log_id] ASC |
||
238 | ), |
||
276 | daniel-mar | 239 | INDEX [IX_log_object_object] NONCLUSTERED |
272 | daniel-mar | 240 | ( |
241 | [object] ASC |
||
242 | ), |
||
276 | daniel-mar | 243 | CONSTRAINT [IX_log_object_log_id_object] UNIQUE |
272 | daniel-mar | 244 | ( |
245 | [log_id], |
||
246 | [object] |
||
247 | ) |
||
248 | ) |
||
239 | daniel-mar | 249 | GO |
250 | |||
251 | |||
244 | daniel-mar | 252 | /****** Set database version ******/ |
242 | daniel-mar | 253 | |
442 | daniel-mar | 254 | INSERT INTO [config] (name, description, VALUE, protected, visible) VALUES ('database_version', 'Version of the database tables', '205', '1', '0'); |
272 | daniel-mar | 255 | |
256 | SET ANSI_PADDING OFF |
||
257 | GO |