0
|
1 CREATE TABLE [dbo].[cache] (
|
|
2 [user_id] [int] NOT NULL ,
|
|
3 [cache_key] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
4 [created] [datetime] NOT NULL ,
|
|
5 [expires] [datetime] NULL ,
|
|
6 [data] [text] COLLATE Latin1_General_CI_AI NOT NULL
|
|
7 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
8 GO
|
|
9
|
|
10 CREATE TABLE [dbo].[cache_shared] (
|
|
11 [cache_key] [varchar] (255) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
12 [created] [datetime] NOT NULL ,
|
|
13 [expires] [datetime] NULL ,
|
|
14 [data] [text] COLLATE Latin1_General_CI_AI NOT NULL
|
|
15 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
16 GO
|
|
17
|
|
18 CREATE TABLE [dbo].[cache_index] (
|
|
19 [user_id] [int] NOT NULL ,
|
|
20 [mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
21 [expires] [datetime] NULL ,
|
|
22 [valid] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
23 [data] [text] COLLATE Latin1_General_CI_AI NOT NULL
|
|
24 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
25 GO
|
|
26
|
|
27 CREATE TABLE [dbo].[cache_thread] (
|
|
28 [user_id] [int] NOT NULL ,
|
|
29 [mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
30 [expires] [datetime] NULL ,
|
|
31 [data] [text] COLLATE Latin1_General_CI_AI NOT NULL
|
|
32 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
33 GO
|
|
34
|
|
35 CREATE TABLE [dbo].[cache_messages] (
|
|
36 [user_id] [int] NOT NULL ,
|
|
37 [mailbox] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
38 [uid] [int] NOT NULL ,
|
|
39 [expires] [datetime] NULL ,
|
|
40 [data] [text] COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
41 [flags] [int] NOT NULL
|
|
42 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
43 GO
|
|
44
|
|
45 CREATE TABLE [dbo].[contacts] (
|
|
46 [contact_id] [int] IDENTITY (1, 1) NOT NULL ,
|
|
47 [user_id] [int] NOT NULL ,
|
|
48 [changed] [datetime] NOT NULL ,
|
|
49 [del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
50 [name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
51 [email] [varchar] (8000) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
52 [firstname] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
53 [surname] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
54 [vcard] [text] COLLATE Latin1_General_CI_AI NULL ,
|
|
55 [words] [text] COLLATE Latin1_General_CI_AI NULL
|
|
56 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
57 GO
|
|
58
|
|
59 CREATE TABLE [dbo].[contactgroups] (
|
|
60 [contactgroup_id] [int] IDENTITY (1, 1) NOT NULL ,
|
|
61 [user_id] [int] NOT NULL ,
|
|
62 [changed] [datetime] NOT NULL ,
|
|
63 [del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
64 [name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL
|
|
65 ) ON [PRIMARY]
|
|
66 GO
|
|
67
|
|
68 CREATE TABLE [dbo].[contactgroupmembers] (
|
|
69 [contactgroup_id] [int] NOT NULL ,
|
|
70 [contact_id] [int] NOT NULL ,
|
|
71 [created] [datetime] NOT NULL
|
|
72 ) ON [PRIMARY]
|
|
73 GO
|
|
74
|
|
75 CREATE TABLE [dbo].[identities] (
|
|
76 [identity_id] [int] IDENTITY (1, 1) NOT NULL ,
|
|
77 [user_id] [int] NOT NULL ,
|
|
78 [changed] [datetime] NOT NULL ,
|
|
79 [del] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
80 [standard] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
81 [name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
82 [organization] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
83 [email] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
84 [reply-to] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
85 [bcc] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
86 [signature] [text] COLLATE Latin1_General_CI_AI NULL,
|
|
87 [html_signature] [char] (1) COLLATE Latin1_General_CI_AI NOT NULL
|
|
88 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
89 GO
|
|
90
|
|
91 CREATE TABLE [dbo].[session] (
|
|
92 [sess_id] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
93 [created] [datetime] NOT NULL ,
|
|
94 [changed] [datetime] NULL ,
|
|
95 [ip] [varchar] (40) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
96 [vars] [text] COLLATE Latin1_General_CI_AI NOT NULL
|
|
97 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
98 GO
|
|
99
|
|
100 CREATE TABLE [dbo].[users] (
|
|
101 [user_id] [int] IDENTITY (1, 1) NOT NULL ,
|
|
102 [username] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
103 [mail_host] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
104 [created] [datetime] NOT NULL ,
|
|
105 [last_login] [datetime] NULL ,
|
|
106 [language] [varchar] (5) COLLATE Latin1_General_CI_AI NULL ,
|
|
107 [preferences] [text] COLLATE Latin1_General_CI_AI NULL
|
|
108 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
109 GO
|
|
110
|
|
111 CREATE TABLE [dbo].[dictionary] (
|
|
112 [user_id] [int] ,
|
|
113 [language] [varchar] (5) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
114 [data] [text] COLLATE Latin1_General_CI_AI NOT NULL
|
|
115 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
116 GO
|
|
117
|
|
118 CREATE TABLE [dbo].[searches] (
|
|
119 [search_id] [int] IDENTITY (1, 1) NOT NULL ,
|
|
120 [user_id] [int] NOT NULL ,
|
|
121 [type] [tinyint] NOT NULL ,
|
|
122 [name] [varchar] (128) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
123 [data] [text] COLLATE Latin1_General_CI_AI NOT NULL
|
|
124 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
125 GO
|
|
126
|
|
127 CREATE TABLE [dbo].[system] (
|
|
128 [name] [varchar] (64) COLLATE Latin1_General_CI_AI NOT NULL ,
|
|
129 [value] [text] COLLATE Latin1_General_CI_AI NOT NULL
|
|
130 ) ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
|
|
131 GO
|
|
132
|
|
133 ALTER TABLE [dbo].[cache_index] WITH NOCHECK ADD
|
|
134 PRIMARY KEY CLUSTERED
|
|
135 (
|
|
136 [user_id],[mailbox]
|
|
137 ) ON [PRIMARY]
|
|
138 GO
|
|
139
|
|
140 ALTER TABLE [dbo].[cache_thread] WITH NOCHECK ADD
|
|
141 PRIMARY KEY CLUSTERED
|
|
142 (
|
|
143 [user_id],[mailbox]
|
|
144 ) ON [PRIMARY]
|
|
145 GO
|
|
146
|
|
147 ALTER TABLE [dbo].[cache_messages] WITH NOCHECK ADD
|
|
148 PRIMARY KEY CLUSTERED
|
|
149 (
|
|
150 [user_id],[mailbox],[uid]
|
|
151 ) ON [PRIMARY]
|
|
152 GO
|
|
153
|
|
154 ALTER TABLE [dbo].[contacts] WITH NOCHECK ADD
|
|
155 CONSTRAINT [PK_contacts_contact_id] PRIMARY KEY CLUSTERED
|
|
156 (
|
|
157 [contact_id]
|
|
158 ) ON [PRIMARY]
|
|
159 GO
|
|
160
|
|
161 ALTER TABLE [dbo].[contactgroups] WITH NOCHECK ADD
|
|
162 CONSTRAINT [PK_contactgroups_contactgroup_id] PRIMARY KEY CLUSTERED
|
|
163 (
|
|
164 [contactgroup_id]
|
|
165 ) ON [PRIMARY]
|
|
166 GO
|
|
167
|
|
168 ALTER TABLE [dbo].[contactgroupmembers] WITH NOCHECK ADD
|
|
169 CONSTRAINT [PK_contactgroupmembers_id] PRIMARY KEY CLUSTERED
|
|
170 (
|
|
171 [contactgroup_id], [contact_id]
|
|
172 ) ON [PRIMARY]
|
|
173 GO
|
|
174
|
|
175 ALTER TABLE [dbo].[identities] WITH NOCHECK ADD
|
|
176 PRIMARY KEY CLUSTERED
|
|
177 (
|
|
178 [identity_id]
|
|
179 ) ON [PRIMARY]
|
|
180 GO
|
|
181
|
|
182 ALTER TABLE [dbo].[session] WITH NOCHECK ADD
|
|
183 CONSTRAINT [PK_session_sess_id] PRIMARY KEY CLUSTERED
|
|
184 (
|
|
185 [sess_id]
|
|
186 ) ON [PRIMARY]
|
|
187 GO
|
|
188
|
|
189 ALTER TABLE [dbo].[users] WITH NOCHECK ADD
|
|
190 CONSTRAINT [PK_users_user_id] PRIMARY KEY CLUSTERED
|
|
191 (
|
|
192 [user_id]
|
|
193 ) ON [PRIMARY]
|
|
194 GO
|
|
195
|
|
196 ALTER TABLE [dbo].[searches] WITH NOCHECK ADD
|
|
197 CONSTRAINT [PK_searches_search_id] PRIMARY KEY CLUSTERED
|
|
198 (
|
|
199 [search_id]
|
|
200 ) ON [PRIMARY]
|
|
201 GO
|
|
202
|
|
203 ALTER TABLE [dbo].[system] WITH NOCHECK ADD
|
|
204 CONSTRAINT [PK_system_name] PRIMARY KEY CLUSTERED
|
|
205 (
|
|
206 [name]
|
|
207 ) ON [PRIMARY]
|
|
208 GO
|
|
209
|
|
210 ALTER TABLE [dbo].[cache] ADD
|
|
211 CONSTRAINT [DF_cache_user_id] DEFAULT ('0') FOR [user_id],
|
|
212 CONSTRAINT [DF_cache_cache_key] DEFAULT ('') FOR [cache_key],
|
|
213 CONSTRAINT [DF_cache_created] DEFAULT (getdate()) FOR [created]
|
|
214 GO
|
|
215
|
|
216 ALTER TABLE [dbo].[cache_shared] ADD
|
|
217 CONSTRAINT [DF_cache_shared_created] DEFAULT (getdate()) FOR [created]
|
|
218 GO
|
|
219
|
|
220 ALTER TABLE [dbo].[cache_index] ADD
|
|
221 CONSTRAINT [DF_cache_index_valid] DEFAULT ('0') FOR [valid]
|
|
222 GO
|
|
223
|
|
224 ALTER TABLE [dbo].[cache_messages] ADD
|
|
225 CONSTRAINT [DF_cache_messages_flags] DEFAULT (0) FOR [flags]
|
|
226 GO
|
|
227
|
|
228 CREATE INDEX [IX_cache_user_id] ON [dbo].[cache]([user_id]) ON [PRIMARY]
|
|
229 GO
|
|
230
|
|
231 CREATE INDEX [IX_cache_cache_key] ON [dbo].[cache]([cache_key]) ON [PRIMARY]
|
|
232 GO
|
|
233
|
|
234 CREATE INDEX [IX_cache_shared_cache_key] ON [dbo].[cache_shared]([cache_key]) ON [PRIMARY]
|
|
235 GO
|
|
236
|
|
237 CREATE INDEX [IX_cache_index_user_id] ON [dbo].[cache_index]([user_id]) ON [PRIMARY]
|
|
238 GO
|
|
239
|
|
240 CREATE INDEX [IX_cache_thread_user_id] ON [dbo].[cache_thread]([user_id]) ON [PRIMARY]
|
|
241 GO
|
|
242
|
|
243 CREATE INDEX [IX_cache_messages_user_id] ON [dbo].[cache_messages]([user_id]) ON [PRIMARY]
|
|
244 GO
|
|
245
|
|
246 CREATE INDEX [IX_cache_expires] ON [dbo].[cache]([expires]) ON [PRIMARY]
|
|
247 GO
|
|
248
|
|
249 CREATE INDEX [IX_cache_shared_expires] ON [dbo].[cache_shared]([expires]) ON [PRIMARY]
|
|
250 GO
|
|
251
|
|
252 CREATE INDEX [IX_cache_index_expires] ON [dbo].[cache_index]([expires]) ON [PRIMARY]
|
|
253 GO
|
|
254
|
|
255 CREATE INDEX [IX_cache_thread_expires] ON [dbo].[cache_thread]([expires]) ON [PRIMARY]
|
|
256 GO
|
|
257
|
|
258 CREATE INDEX [IX_cache_messages_expires] ON [dbo].[cache_messages]([expires]) ON [PRIMARY]
|
|
259 GO
|
|
260
|
|
261 ALTER TABLE [dbo].[contacts] ADD
|
|
262 CONSTRAINT [DF_contacts_user_id] DEFAULT (0) FOR [user_id],
|
|
263 CONSTRAINT [DF_contacts_changed] DEFAULT (getdate()) FOR [changed],
|
|
264 CONSTRAINT [DF_contacts_del] DEFAULT ('0') FOR [del],
|
|
265 CONSTRAINT [DF_contacts_name] DEFAULT ('') FOR [name],
|
|
266 CONSTRAINT [DF_contacts_email] DEFAULT ('') FOR [email],
|
|
267 CONSTRAINT [DF_contacts_firstname] DEFAULT ('') FOR [firstname],
|
|
268 CONSTRAINT [DF_contacts_surname] DEFAULT ('') FOR [surname],
|
|
269 CONSTRAINT [CK_contacts_del] CHECK ([del] = '1' or [del] = '0')
|
|
270 GO
|
|
271
|
|
272 CREATE INDEX [IX_contacts_user_id] ON [dbo].[contacts]([user_id]) ON [PRIMARY]
|
|
273 GO
|
|
274
|
|
275 ALTER TABLE [dbo].[contactgroups] ADD
|
|
276 CONSTRAINT [DF_contactgroups_user_id] DEFAULT (0) FOR [user_id],
|
|
277 CONSTRAINT [DF_contactgroups_changed] DEFAULT (getdate()) FOR [changed],
|
|
278 CONSTRAINT [DF_contactgroups_del] DEFAULT ('0') FOR [del],
|
|
279 CONSTRAINT [DF_contactgroups_name] DEFAULT ('') FOR [name],
|
|
280 CONSTRAINT [CK_contactgroups_del] CHECK ([del] = '1' or [del] = '0')
|
|
281 GO
|
|
282
|
|
283 CREATE INDEX [IX_contactgroups_user_id] ON [dbo].[contactgroups]([user_id]) ON [PRIMARY]
|
|
284 GO
|
|
285
|
|
286 ALTER TABLE [dbo].[contactgroupmembers] ADD
|
|
287 CONSTRAINT [DF_contactgroupmembers_contactgroup_id] DEFAULT (0) FOR [contactgroup_id],
|
|
288 CONSTRAINT [DF_contactgroupmembers_contact_id] DEFAULT (0) FOR [contact_id],
|
|
289 CONSTRAINT [DF_contactgroupmembers_created] DEFAULT (getdate()) FOR [created]
|
|
290 GO
|
|
291
|
|
292 CREATE INDEX [IX_contactgroupmembers_contact_id] ON [dbo].[contactgroupmembers]([contact_id]) ON [PRIMARY]
|
|
293 GO
|
|
294
|
|
295 ALTER TABLE [dbo].[identities] ADD
|
|
296 CONSTRAINT [DF_identities_user] DEFAULT ('0') FOR [user_id],
|
|
297 CONSTRAINT [DF_identities_del] DEFAULT ('0') FOR [del],
|
|
298 CONSTRAINT [DF_identities_standard] DEFAULT ('0') FOR [standard],
|
|
299 CONSTRAINT [DF_identities_name] DEFAULT ('') FOR [name],
|
|
300 CONSTRAINT [DF_identities_organization] DEFAULT ('') FOR [organization],
|
|
301 CONSTRAINT [DF_identities_email] DEFAULT ('') FOR [email],
|
|
302 CONSTRAINT [DF_identities_reply] DEFAULT ('') FOR [reply-to],
|
|
303 CONSTRAINT [DF_identities_bcc] DEFAULT ('') FOR [bcc],
|
|
304 CONSTRAINT [DF_identities_html_signature] DEFAULT ('0') FOR [html_signature],
|
|
305 CHECK ([standard] = '1' or [standard] = '0'),
|
|
306 CHECK ([del] = '1' or [del] = '0')
|
|
307 GO
|
|
308
|
|
309 CREATE INDEX [IX_identities_user_id] ON [dbo].[identities]([user_id]) ON [PRIMARY]
|
|
310 GO
|
|
311 CREATE INDEX [IX_identities_email] ON [dbo].[identities]([email],[del]) ON [PRIMARY]
|
|
312 GO
|
|
313
|
|
314 ALTER TABLE [dbo].[session] ADD
|
|
315 CONSTRAINT [DF_session_sess_id] DEFAULT ('') FOR [sess_id],
|
|
316 CONSTRAINT [DF_session_created] DEFAULT (getdate()) FOR [created],
|
|
317 CONSTRAINT [DF_session_ip] DEFAULT ('') FOR [ip]
|
|
318 GO
|
|
319
|
|
320 CREATE INDEX [IX_session_changed] ON [dbo].[session]([changed]) ON [PRIMARY]
|
|
321 GO
|
|
322
|
|
323 ALTER TABLE [dbo].[users] ADD
|
|
324 CONSTRAINT [DF_users_username] DEFAULT ('') FOR [username],
|
|
325 CONSTRAINT [DF_users_mail_host] DEFAULT ('') FOR [mail_host],
|
|
326 CONSTRAINT [DF_users_created] DEFAULT (getdate()) FOR [created]
|
|
327 GO
|
|
328
|
|
329 CREATE UNIQUE INDEX [IX_users_username] ON [dbo].[users]([username],[mail_host]) ON [PRIMARY]
|
|
330 GO
|
|
331
|
|
332 CREATE UNIQUE INDEX [IX_dictionary_user_language] ON [dbo].[dictionary]([user_id],[language]) ON [PRIMARY]
|
|
333 GO
|
|
334
|
|
335 ALTER TABLE [dbo].[searches] ADD
|
|
336 CONSTRAINT [DF_searches_user] DEFAULT (0) FOR [user_id],
|
|
337 CONSTRAINT [DF_searches_type] DEFAULT (0) FOR [type]
|
|
338 GO
|
|
339
|
|
340 CREATE UNIQUE INDEX [IX_searches_user_type_name] ON [dbo].[searches]([user_id],[type],[name]) ON [PRIMARY]
|
|
341 GO
|
|
342
|
|
343 ALTER TABLE [dbo].[identities] ADD CONSTRAINT [FK_identities_user_id]
|
|
344 FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
|
|
345 ON DELETE CASCADE ON UPDATE CASCADE
|
|
346 GO
|
|
347
|
|
348 ALTER TABLE [dbo].[contacts] ADD CONSTRAINT [FK_contacts_user_id]
|
|
349 FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
|
|
350 ON DELETE CASCADE ON UPDATE CASCADE
|
|
351 GO
|
|
352
|
|
353 ALTER TABLE [dbo].[contactgroups] ADD CONSTRAINT [FK_contactgroups_user_id]
|
|
354 FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
|
|
355 ON DELETE CASCADE ON UPDATE CASCADE
|
|
356 GO
|
|
357
|
|
358 ALTER TABLE [dbo].[cache] ADD CONSTRAINT [FK_cache_user_id]
|
|
359 FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
|
|
360 ON DELETE CASCADE ON UPDATE CASCADE
|
|
361 GO
|
|
362
|
|
363 ALTER TABLE [dbo].[cache_index] ADD CONSTRAINT [FK_cache_index_user_id]
|
|
364 FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
|
|
365 ON DELETE CASCADE ON UPDATE CASCADE
|
|
366 GO
|
|
367
|
|
368 ALTER TABLE [dbo].[cache_thread] ADD CONSTRAINT [FK_cache_thread_user_id]
|
|
369 FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
|
|
370 ON DELETE CASCADE ON UPDATE CASCADE
|
|
371 GO
|
|
372
|
|
373 ALTER TABLE [dbo].[cache_messages] ADD CONSTRAINT [FK_cache_messages_user_id]
|
|
374 FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
|
|
375 ON DELETE CASCADE ON UPDATE CASCADE
|
|
376 GO
|
|
377
|
|
378 ALTER TABLE [dbo].[contactgroupmembers] ADD CONSTRAINT [FK_contactgroupmembers_contactgroup_id]
|
|
379 FOREIGN KEY ([contactgroup_id]) REFERENCES [dbo].[contactgroups] ([contactgroup_id])
|
|
380 ON DELETE CASCADE ON UPDATE CASCADE
|
|
381 GO
|
|
382
|
|
383 ALTER TABLE [dbo].[searches] ADD CONSTRAINT [FK_searches_user_id]
|
|
384 FOREIGN KEY ([user_id]) REFERENCES [dbo].[users] ([user_id])
|
|
385 ON DELETE CASCADE ON UPDATE CASCADE
|
|
386 GO
|
|
387
|
|
388 -- Use trigger instead of foreign key (#1487112)
|
|
389 -- "Introducing FOREIGN KEY constraint ... may cause cycles or multiple cascade paths."
|
|
390 CREATE TRIGGER [contact_delete_member] ON [dbo].[contacts]
|
|
391 AFTER DELETE AS
|
|
392 DELETE FROM [dbo].[contactgroupmembers]
|
|
393 WHERE [contact_id] IN (SELECT [contact_id] FROM deleted)
|
|
394 GO
|
|
395
|
|
396 INSERT INTO [dbo].[system] ([name], [value]) VALUES ('roundcube-version', '2015030800')
|
|
397 GO
|
|
398
|