Subversion Repositories oidplus

Rev

Rev 442 | Go to most recent revision | Blame | Last modification | View Log | RSS feed

  1. SET ANSI_NULLS ON
  2. GO
  3.  
  4. SET QUOTED_IDENTIFIER ON
  5. GO
  6.  
  7. SET ANSI_PADDING ON
  8. GO
  9.  
  10. /**********************************************/
  11.  
  12. IF OBJECT_ID('dbo.getOidArc', 'FN') IS NOT NULL /*Backwards compatibility*/
  13.         DROP FUNCTION /*IF EXISTS*/ [dbo].[getOidArc];
  14. GO
  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
  52. GO
  53.  
  54. /**********************************************/
  55.  
  56. IF OBJECT_ID('dbo.config', 'U') IS NOT NULL /*Backwards compatibility*/
  57.         DROP TABLE /*IF EXISTS*/ [dbo].[config];
  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'),
  64.         CONSTRAINT [PK_config] PRIMARY KEY CLUSTERED
  65.         (
  66.                 [name] ASC
  67.         )
  68. )
  69. GO
  70.  
  71. /**********************************************/
  72.  
  73. IF OBJECT_ID('dbo.asn1id', 'U') IS NOT NULL /*Backwards compatibility*/
  74.         DROP TABLE /*IF EXISTS*/ [dbo].[asn1id];
  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,
  79.         [standardized] [bit] NOT NULL CONSTRAINT [DF__asn1id__standardized]  DEFAULT ('0'),
  80.         [well_known] [bit] NOT NULL CONSTRAINT [DF__asn1id__well_known]  DEFAULT ('0'),
  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. )
  91. GO
  92.  
  93. /**********************************************/
  94.  
  95. IF OBJECT_ID('dbo.iri', 'U') IS NOT NULL /*Backwards compatibility*/
  96.         DROP TABLE /*IF EXISTS*/ [dbo].[iri];
  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,
  101.         [longarc] [bit] NOT NULL CONSTRAINT [DF__iri__longarc]  DEFAULT ('0'),
  102.         [well_known] [bit] NOT NULL CONSTRAINT [DF__iri__well_known]  DEFAULT ('0'),
  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. )
  113. GO
  114.  
  115. /**********************************************/
  116.  
  117. IF OBJECT_ID('dbo.objects', 'U') IS NOT NULL /*Backwards compatibility*/
  118.         DROP TABLE /*IF EXISTS*/ [dbo].[objects];
  119. CREATE TABLE [dbo].[objects](
  120.         [id] [VARCHAR](255) NOT NULL,
  121.         [parent] [VARCHAR](255) NULL,
  122.         [title] [VARCHAR](255) NULL,
  123.         [description] [text] NULL,
  124.         [ra_email] [VARCHAR](100) NULL,
  125.         [confidential] [bit] NOT NULL,
  126.         [created] [datetime] NULL,
  127.         [updated] [datetime] NULL,
  128.         [comment] [VARCHAR](255) NULL,
  129.         CONSTRAINT [PK_objects] PRIMARY KEY CLUSTERED
  130.         (
  131.                 [id] ASC
  132.         ),
  133.         INDEX [IX_objects_parent] NONCLUSTERED
  134.         (
  135.                 [parent] ASC
  136.         ),
  137.         INDEX [IX_objects_ra_email] NONCLUSTERED
  138.         (
  139.                 [ra_email] ASC
  140.         )
  141. )
  142. GO
  143.  
  144. /**********************************************/
  145.  
  146. IF OBJECT_ID('dbo.ra', 'U') IS NOT NULL /*Backwards compatibility*/
  147.         DROP TABLE /*IF EXISTS*/ [dbo].[ra];
  148. CREATE TABLE [dbo].[ra](
  149.         [ra_id] [INT] IDENTITY(1,1) NOT NULL,
  150.         [email] [VARCHAR](100) NOT NULL,
  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,
  161.         [privacy] [bit] NOT NULL CONSTRAINT [DF__ra__privacy]  DEFAULT ('0'),
  162.         [salt] [VARCHAR](100) NULL,
  163.         [authkey] [VARCHAR](100) NULL,
  164.         [registered] [datetime] NULL,
  165.         [updated] [datetime] NULL,
  166.         [last_login] [datetime] NULL,
  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
  176.  
  177. /**********************************************/
  178.  
  179. IF OBJECT_ID('dbo.log', 'U') IS NOT NULL /*Backwards compatibility*/
  180.         DROP TABLE /*IF EXISTS*/ [dbo].[log];
  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. )
  191. GO
  192.  
  193. /**********************************************/
  194.  
  195. IF OBJECT_ID('dbo.log_user', 'U') IS NOT NULL /*Backwards compatibility*/
  196.         DROP TABLE /*IF EXISTS*/ [dbo].[log_user];
  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,
  201.         [severity] [INT] NOT NULL,
  202.         CONSTRAINT [PK_log_user] PRIMARY KEY CLUSTERED
  203.         (
  204.                 [id] ASC
  205.         ),
  206.         INDEX [IX_log_user_log_id] NONCLUSTERED
  207.         (
  208.                 [log_id] ASC
  209.         ),
  210.         INDEX [IX_log_user_username] NONCLUSTERED
  211.         (
  212.                 [username] ASC
  213.         ),
  214.         CONSTRAINT [IX_log_user_log_id_username] UNIQUE
  215.         (
  216.                 [log_id],
  217.                 [username]
  218.         )
  219. )
  220. GO
  221.  
  222. /**********************************************/
  223.  
  224. IF OBJECT_ID('dbo.log_object', 'U') IS NOT NULL /*Backwards compatibility*/
  225.         DROP TABLE /*IF EXISTS*/ [dbo].[log_object];
  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,
  230.         [severity] [INT] NOT NULL,
  231.         CONSTRAINT [PK_log_object] PRIMARY KEY CLUSTERED
  232.         (
  233.                 [id] ASC
  234.         ),
  235.         INDEX [IX_log_object_log_id] NONCLUSTERED
  236.         (
  237.                 [log_id] ASC
  238.         ),
  239.         INDEX [IX_log_object_object] NONCLUSTERED
  240.         (
  241.                 [object] ASC
  242.         ),
  243.         CONSTRAINT [IX_log_object_log_id_object] UNIQUE
  244.         (
  245.                 [log_id],
  246.                 [object]
  247.         )
  248. )
  249. GO
  250.  
  251.  
  252. /****** Set database version ******/
  253.  
  254. INSERT INTO [config] (name, description, VALUE, protected, visible) VALUES ('database_version', 'Version of the database tables', '205', '1', '0');
  255.  
  256. SET ANSI_PADDING OFF
  257. GO
  258.