From 143ceff0d83c53000dd29c2047d204c08dba9de7 Mon Sep 17 00:00:00 2001 From: Thomas Bruederli <thomas@roundcube.net> Date: Thu, 06 Mar 2014 07:17:31 -0500 Subject: [PATCH] Implement ArrayAccess interface for conveniently accessing rcube_result_set as array --- SQL/mssql.initial.sql | 58 ++++++++++++++++++++++++++++++++++++++++------------------ 1 files changed, 40 insertions(+), 18 deletions(-) diff --git a/SQL/mssql.initial.sql b/SQL/mssql.initial.sql index 9139509..1027867 100644 --- a/SQL/mssql.initial.sql +++ b/SQL/mssql.initial.sql @@ -2,6 +2,15 @@ [user_id] [int] NOT NULL , [cache_key] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , [created] [datetime] NOT NULL , + [expires] [datetime] NULL , + [data] [text] COLLATE Latin1_General_CI_AI NOT NULL +) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] +GO + +CREATE TABLE [dbo].[cache_shared] ( + [cache_key] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL , + [created] [datetime] NOT NULL , + [expires] [datetime] NULL , [data] [text] COLLATE Latin1_General_CI_AI NOT NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO @@ -9,7 +18,7 @@ CREATE TABLE [dbo].[cache_index] ( [user_id] [int] NOT NULL , [mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , - [changed] [datetime] NOT NULL , + [expires] [datetime] NULL , [valid] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL , [data] [text] COLLATE Latin1_General_CI_AI NOT NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] @@ -18,7 +27,7 @@ CREATE TABLE [dbo].[cache_thread] ( [user_id] [int] NOT NULL , [mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , - [changed] [datetime] NOT NULL , + [expires] [datetime] NULL , [data] [text] COLLATE Latin1_General_CI_AI NOT NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] GO @@ -27,7 +36,7 @@ [user_id] [int] NOT NULL , [mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL , [uid] [int] NOT NULL , - [changed] [datetime] NOT NULL , + [expires] [datetime] NULL , [data] [text] COLLATE Latin1_General_CI_AI NOT NULL , [flags] [int] NOT NULL ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY] @@ -204,36 +213,49 @@ CONSTRAINT [DF_cache_created] DEFAULT (getdate()) FOR [created] GO +ALTER TABLE [dbo].[cache_shared] ADD + CONSTRAINT [DF_cache_shared_created] DEFAULT (getdate()) FOR [created] +GO + +ALTER TABLE [dbo].[cache_index] ADD + CONSTRAINT [DF_cache_index_valid] DEFAULT ('0') FOR [valid] +GO + +ALTER TABLE [dbo].[cache_messages] ADD + CONSTRAINT [DF_cache_messages_flags] DEFAULT (0) FOR [flags] +GO + CREATE INDEX [IX_cache_user_id] ON [dbo].[cache]([user_id]) ON [PRIMARY] GO CREATE INDEX [IX_cache_cache_key] ON [dbo].[cache]([cache_key]) ON [PRIMARY] GO -CREATE INDEX [IX_cache_created] ON [dbo].[cache]([created]) ON [PRIMARY] -GO - -ALTER TABLE [dbo].[cache_index] ADD - CONSTRAINT [DF_cache_index_changed] DEFAULT (getdate()) FOR [changed], - CONSTRAINT [DF_cache_index_valid] DEFAULT ('0') FOR [valid] +CREATE INDEX [IX_cache_shared_cache_key] ON [dbo].[cache_shared]([cache_key]) ON [PRIMARY] GO CREATE INDEX [IX_cache_index_user_id] ON [dbo].[cache_index]([user_id]) ON [PRIMARY] GO -ALTER TABLE [dbo].[cache_thread] ADD - CONSTRAINT [DF_cache_thread_changed] DEFAULT (getdate()) FOR [changed] -GO - CREATE INDEX [IX_cache_thread_user_id] ON [dbo].[cache_thread]([user_id]) ON [PRIMARY] GO -ALTER TABLE [dbo].[cache_messages] ADD - CONSTRAINT [DF_cache_messages_changed] DEFAULT (getdate()) FOR [changed], - CONSTRAINT [DF_cache_messages_flags] DEFAULT (0) FOR [flags] +CREATE INDEX [IX_cache_messages_user_id] ON [dbo].[cache_messages]([user_id]) ON [PRIMARY] GO -CREATE INDEX [IX_cache_messages_user_id] ON [dbo].[cache_messages]([user_id]) ON [PRIMARY] +CREATE INDEX [IX_cache_expires] ON [dbo].[cache]([expires]) ON [PRIMARY] +GO + +CREATE INDEX [IX_cache_shared_expires] ON [dbo].[cache_shared]([expires]) ON [PRIMARY] +GO + +CREATE INDEX [IX_cache_index_expires] ON [dbo].[cache_index]([expires]) ON [PRIMARY] +GO + +CREATE INDEX [IX_cache_thread_expires] ON [dbo].[cache_thread]([expires]) ON [PRIMARY] +GO + +CREATE INDEX [IX_cache_messages_expires] ON [dbo].[cache_messages]([expires]) ON [PRIMARY] GO ALTER TABLE [dbo].[contacts] ADD @@ -371,6 +393,6 @@ WHERE [contact_id] IN (SELECT [contact_id] FROM deleted) GO -INSERT INTO [dbo].[system] ([name], [value]) VALUES ('roundcube-version', '2013011700') +INSERT INTO [dbo].[system] ([name], [value]) VALUES ('roundcube-version', '2013061000') GO \ No newline at end of file -- Gitblit v1.9.1