Subversion Repositories oidplus

Rev

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