drop table [dbo].[private_storage]
GO
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[privacy_default_list]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+drop table [dbo].[privacy_default_list]
+GO
+
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[privacy_list]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+drop table [dbo].[privacy_list]
+GO
+
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[privacy_list_data]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+drop table [dbo].[privacy_list_data]
+GO
+
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[roster_version]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+drop table [dbo].[roster_version]
+GO
+
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pubsub_node_option]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+drop table [dbo].[pubsub_node_option]
+GO
+
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pubsub_node_owner]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+drop table [dbo].[pubsub_node_owner]
+GO
+
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pubsub_state]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+drop table [dbo].[pubsub_state]
+GO
+
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pubsub_item]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+drop table [dbo].[pubsub_item]
+GO
+
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pubsub_subscription_opt]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+drop table [dbo].[pubsub_subscription_opt]
+GO
+
+if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[pubsub_node]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
+drop table [dbo].[pubsub_node]
+GO
+
CREATE TABLE [dbo].[last] (
[username] [varchar] (250) NOT NULL ,
[seconds] [varchar] (50) NOT NULL ,
) ON [PRIMARY]
GO
+CREATE TABLE [dbo].[roster_version] (
+ [username] [varchar](250) PRIMARY KEY,
+ [version] [text] NOT NULL
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[pubsub_node] (
+ [host] [varchar](250),
+ [node] [varchar](250),
+ [parent] [varchar](250),
+ [type] [varchar](250),
+ [nodeid] [bigint] IDENTITY(1,1) PRIMARY KEY
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[pubsub_node_option] (
+ [nodeid] [bigint],
+ [name] [varchar](250),
+ [val] [varchar](250)
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[pubsub_node_owner] (
+ [nodeid] [bigint],
+ [owner] [varchar](250)
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[pubsub_state] (
+ [nodeid] [bigint],
+ [jid] [varchar](250),
+ [affiliation] [CHAR](1),
+ [subscriptions] [text],
+ [stateid] [bigint] IDENTITY(1,1) PRIMARY KEY
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[pubsub_item] (
+ [nodeid] [bigint],
+ [itemid] [varchar](250),
+ [publisher] [text],
+ [creation] [text],
+ [modification] [text],
+ [payload] [text]
+) ON [PRIMARY]
+GO
+
+CREATE TABLE [dbo].[pubsub_subscription_opt] (
+ [subid] [varchar](250),
+ [opt_name] [varchar](32),
+ [opt_value] [text]
+) ON [PRIMARY]
+GO
+
/* Constraints to add:
- id in privacy_list is a SERIAL autogenerated number
- id in privacy_list_data must exist in the table privacy_list */
) WITH FILLFACTOR = 90 ON [PRIMARY]
GO
+ALTER TABLE [dbo].[pubsub_node_option] WITH NOCHECK ADD
+ CONSTRAINT [FK_pubsub_node_option] FOREIGN KEY
+ (
+ [nodeid]
+ ) REFERENCES [dbo].[pubsub_node]
+ (
+ [nodeid]
+ )
+ON DELETE CASCADE
+GO
+
+ALTER TABLE [dbo].[pubsub_node_owner] WITH NOCHECK ADD
+ CONSTRAINT [FK_pubsub_node_owner] FOREIGN KEY
+ (
+ [nodeid]
+ ) REFERENCES [pubsub_node]
+ (
+ [nodeid]
+ )
+ON DELETE CASCADE
+GO
+
+ALTER TABLE [dbo].[pubsub_state] WITH NOCHECK ADD
+ CONSTRAINT [FK_pubsub_state] FOREIGN KEY
+ (
+ [nodeid]
+ ) REFERENCES [pubsub_node]
+ (
+ [nodeid]
+ )
+ON DELETE CASCADE
+GO
+
+ALTER TABLE [dbo].[pubsub_item] WITH NOCHECK ADD
+ CONSTRAINT [FK_pubsub_item] FOREIGN KEY
+ (
+ [nodeid]
+ ) REFERENCES [pubsub_node]
+ (
+ [nodeid]
+ )
+ON DELETE CASCADE
+GO
CREATE INDEX [IX_vcard_search_lfn] ON [dbo].[vcard_search]([lfn]) WITH FILLFACTOR = 90 ON [PRIMARY]
GO
CREATE INDEX [IX_privacy_list_username_name] ON [dbo].[privacy_list]([username], [name]) WITH FILLFACTOR = 90 ON [PRIMARY]
GO
+ CREATE INDEX [IX_pubsub_node_parent] ON [dbo].[pubsub_node]([parent]) WITH FILLFACTOR = 90 ON [PRIMARY]
+GO
+
+ CREATE INDEX [IX_pubsub_node_tuple] ON [dbo].[pubsub_node]([host], [node]) WITH FILLFACTOR = 90 ON [PRIMARY]
+GO
+
+ CREATE INDEX [IX_pubsub_node_option_nodeid] ON [dbo].[pubsub_node_option]([nodeid]) WITH FILLFACTOR = 90 ON [PRIMARY]
+GO
+
+ CREATE INDEX [IX_pubsub_node_owner_nodeid] ON [dbo].[pubsub_node_owner]([nodeid]) WITH FILLFACTOR = 90 ON [PRIMARY]
+GO
+
+ CREATE INDEX [IX_pubsub_state_jid] ON [dbo].[pubsub_state]([jid]) WITH FILLFACTOR = 90 ON [PRIMARY]
+GO
+
+ CREATE INDEX [IX_pubsub_state_tuple] ON [dbo].[pubsub_state]([nodeid], [jid]) WITH FILLFACTOR = 90 ON [PRIMARY]
+GO
+
+ CREATE INDEX [IX_pubsub_item_itemid] ON [dbo].[pubsub_item]([itemid]) WITH FILLFACTOR = 90 ON [PRIMARY]
+GO
+
+ CREATE INDEX [IX_pubsub_item_tuple] ON [dbo].[pubsub_item]([nodeid], [itemid]) WITH FILLFACTOR = 90 ON [PRIMARY]
+GO
+
+ CREATE INDEX [IX_pubsub_subscription_opt] ON [dbo].[pubsub_subscription_opt]([subid], [opt_name]) WITH FILLFACTOR = 90 ON [PRIMARY]
+Go
+
/*********************************************************/
/** These store procedures are for use with ejabberd **/
/** 1.1 and Microsoft Sql Server 2000 **/
/****** Object: StoredProcedure [dbo].[add_roster] ******/
/** Add or update user entries in the roster **/
/*********************************************************/
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[add_roster]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[add_roster]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[add_roster_group]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[add_roster_group]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[add_roster_user]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[add_roster_user]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[del_roster_groups]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[del_roster_groups]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[add_spool]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[add_spool]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[add_user]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[add_user]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[set_password]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[set_password]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[clean_spool_msg]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[clean_spool_msg]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_password]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_password]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[del_last]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[del_last]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[del_roster]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[del_roster]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[del_spool_msg]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[del_spool_msg]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[del_user]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[del_user]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[del_user_return_password]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[del_user_return_password]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[del_user_roster]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[del_user_roster]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_and_del_spool_msg]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_and_del_spool_msg]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_last]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_last]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_roster]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_roster]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_roster_by_jid]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_roster_by_jid]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_roster_jid_groups]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_roster_jid_groups]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_roster_groups]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_roster_groups]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_rostergroup_by_jid]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_rostergroup_by_jid]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_subscription]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_subscription]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[list_users]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[list_users]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[set_last]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[set_last]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[set_private_data]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[set_private_data]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_private_data]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_private_data]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[del_user_storage]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[del_user_storage]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[set_vcard]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[set_vcard]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_vcard]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_vcard]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_default_privacy_list]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_default_privacy_list]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_privacy_list_names]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_privacy_list_names]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_privacy_list_id]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_privacy_list_id]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_privacy_list_data]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_privacy_list_data]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[get_privacy_list_data_by_id]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[get_privacy_list_data_by_id]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[set_default_privacy_list]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[set_default_privacy_list]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[unset_default_privacy_list]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[unset_default_privacy_list]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[remove_privacy_list]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[remove_privacy_list]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[add_privacy_list]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[add_privacy_list]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[set_privacy_list]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[set_privacy_list]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[del_privacy_list_by_id]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[del_privacy_list_by_id]
+GO
+IF EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[del_privacy_lists]') AND type in (N'P', N'PC'))
+DROP PROCEDURE [dbo].[del_privacy_lists]
+GO
+
CREATE PROCEDURE [dbo].[add_roster]
@Username varchar(250),
@JID varchar(250),
WHERE username=@Username;
END
GO
+
+/******************************************************************/
+/****** Object: StoredProcedure [dbo].[get_default_privacy_list]**/
+/** Retrive the user's default privacy list **/
+/******************************************************************/
+CREATE PROCEDURE [dbo].[get_default_privacy_list]
+ @Username varchar(250)
+AS
+BEGIN
+ SELECT list.name
+ FROM privacy_default_list list WITH (NOLOCK)
+ WHERE list.username=@Username
+END
+GO
+
+/******************************************************************/
+/****** Object: StoredProcedure [dbo].[get_privacy_list_names] **/
+/** Retrive the user's default privacy list names **/
+/******************************************************************/
+CREATE PROCEDURE [dbo].[get_privacy_list_names]
+ @username varchar(250)
+AS
+BEGIN
+ SELECT list.name
+ FROM privacy_list list WITH (NOLOCK)
+ WHERE list.username=@Username
+END
+GO
+
+/******************************************************************/
+/****** Object: StoredProcedure [dbo].[get_privacy_list_id] **/
+/** **/
+/******************************************************************/
+CREATE PROCEDURE [dbo].[get_privacy_list_id]
+ @username varchar(250),
+ @SName varchar(250)
+AS
+BEGIN
+ SELECT id FROM privacy_list
+ WHERE username=@Username
+ AND name=@SName
+END
+GO
+
+/******************************************************************/
+/****** Object: StoredProcedure [dbo].[get_privacy_list_data] **/
+/** **/
+/******************************************************************/
+CREATE PROCEDURE [dbo].[get_privacy_list_data]
+ @username varchar(250),
+ @SName varchar(250)
+AS
+BEGIN
+ SELECT l_data.t,
+ l_data.value,
+ l_data.action,
+ l_data.ord,
+ l_data.match_all,
+ l_data.match_iq,
+ l_data.match_message,
+ l_data.match_presence_in,
+ l_data.match_presence_out
+ FROM privacy_list_data l_data (NOLOCK)
+ WHERE l_data.id = (SELECT list.id
+ FROM privacy_list list
+ WHERE list.username=@username
+ AND list.name=@SName)
+ ORDER BY l_data.ord
+END
+GO
+
+/******************************************************************/
+/****** Object: StoredProcedure [dbo].[get_privacy_list_data_by_id]**/
+/** **/
+/******************************************************************/
+CREATE PROCEDURE [dbo].[get_privacy_list_data_by_id]
+ @Id bigint
+AS
+BEGIN
+ SELECT l_data.t,
+ l_data.value,
+ l_data.action,
+ l_data.ord,
+ l_data.match_all,
+ l_data.match_iq,
+ l_data.match_message,
+ l_data.match_presence_in,
+ l_data.match_presence_out
+ FROM privacy_list_data l_data (NOLOCK)
+ WHERE l_data.id=@ID
+ ORDER BY l_data.ord
+END
+GO
+
+/******************************************************************/
+/****** Object: StoredProcedure [dbo].[set_default_privacy_list]**/
+/** **/
+/******************************************************************/
+CREATE PROCEDURE [dbo].[set_default_privacy_list]
+ @username varchar(250),
+ @Sname varchar(250)
+AS
+BEGIN
+ IF EXISTS (SELECT username FROM privacy_default_list with (nolock) WHERE privacy_default_list.username = @Username AND privacy_default_list.name = @Sname)
+ BEGIN
+ UPDATE [privacy_default_list]
+ SET [privacy_default_list].username = @Username,
+ [privacy_default_list].name = @Sname
+ WHERE privacy_default_list.username = @Username
+ END
+ ELSE
+ BEGIN
+ INSERT INTO [privacy_default_list]
+ ( [privacy_default_list].username,
+ [privacy_default_list].name
+ )
+ VALUES
+ ( @Username,
+ @SName
+ )
+ END
+END
+GO
+
+/******************************************************************/
+/****** Object: StoredProcedure [dbo].[unset_default_privacy_list]**/
+/** **/
+/******************************************************************/
+CREATE PROCEDURE [dbo].[unset_default_privacy_list]
+ @username varchar(250)
+AS
+BEGIN
+ DELETE
+ FROM privacy_default_list
+ WHERE privacy_default_list.username=@username
+END
+GO
+
+/******************************************************************/
+/****** Object: StoredProcedure [dbo].[remove_privacy_list] **/
+/** **/
+/******************************************************************/
+CREATE PROCEDURE [dbo].[remove_privacy_list]
+ @username varchar(250),
+ @SName varchar(250)
+AS
+BEGIN
+ DELETE
+ FROM privacy_list
+ WHERE privacy_list.username=@username
+ AND privacy_list.name=@SName
+END
+GO
+
+/******************************************************************/
+/****** Object: StoredProcedure [dbo].[add_privacy_list] **/
+/** **/
+/******************************************************************/
+CREATE PROCEDURE [dbo].[add_privacy_list]
+ @username varchar(250),
+ @SName varchar(250)
+AS
+BEGIN
+ INSERT INTO privacy_list(username, name)
+ VALUES (@username, @SName)
+END
+GO
+
+/******************************************************************/
+/****** Object: StoredProcedure [dbo].[set_privacy_list] **/
+/** **/
+/******************************************************************/
+CREATE PROCEDURE [dbo].[set_privacy_list]
+ @Id bigint,
+ @t char(1),
+ @value text,
+ @action char(1),
+ @ord numeric,
+ @match_all bit,
+ @match_iq bit,
+ @match_message bit,
+ @match_presence_in bit,
+ @match_presence_out bit
+AS
+BEGIN
+ insert into privacy_list_data (
+ id,
+ t,
+ value,
+ action,
+ ord,
+ match_all,
+ match_iq,
+ match_message,
+ match_presence_in,
+ match_presence_out
+ )
+ values (@Id,
+ @t,
+ @value,
+ @action,
+ @ord,
+ @match_all,
+ @match_iq,
+ @match_message,
+ @match_presence_in,
+ @match_presence_out
+ )
+
+END
+GO
+
+/******************************************************************/
+/****** Object: StoredProcedure [dbo].[del_privacy_list_by_id] **/
+/** **/
+/******************************************************************/
+CREATE PROCEDURE [dbo].[del_privacy_list_by_id]
+ @Id bigint
+AS
+BEGIN
+ DELETE FROM privacy_list_data
+ WHERE privacy_list_data.id=@Id
+END
+GO
+
+/******************************************************************/
+/****** Object: StoredProcedure [dbo].[del_privacy_lists] **/
+/** **/
+/******************************************************************/
+CREATE PROCEDURE [dbo].[del_privacy_lists]
+ @Server varchar(250),
+ @username varchar(250)
+AS
+BEGIN
+ DELETE FROM privacy_list WHERE username=@username
+ DELETE FROM privacy_list_data WHERE convert(varchar,value)=@username+'@'+@Server
+ DELETE FROM privacy_default_list WHERE username=@username
+END
+GO
LServer,
["EXECUTE dbo.get_vcard '", Username, "'"]).
+get_default_privacy_list(LServer, Username) ->
+ ejabberd_odbc:sql_query(
+ LServer,
+ ["EXECUTE dbo.get_default_privacy_list '", Username, "'"]).
+
+get_default_privacy_list_t(Username) ->
+ ejabberd_odbc:sql_query_t(
+ ["EXECUTE dbo.get_default_privacy_list '", Username, "'"]).
+
+get_privacy_list_names(LServer, Username) ->
+ ejabberd_odbc:sql_query(
+ LServer,
+ ["EXECUTE dbo.get_privacy_list_names '", Username, "'"]).
+
+get_privacy_list_names_t(Username) ->
+ ejabberd_odbc:sql_query_t(
+ ["EXECUTE dbo.get_privacy_list_names '", Username, "'"]).
+
+get_privacy_list_id(LServer, Username, SName) ->
+ ejabberd_odbc:sql_query(
+ LServer,
+ ["EXECUTE dbo.get_privacy_list_id '", Username, "' , '", SName, "'"]).
+
+get_privacy_list_id_t(Username, SName) ->
+ ejabberd_odbc:sql_query_t(
+ ["EXECUTE dbo.get_privacy_list_id '", Username, "' , '", SName, "'"]).
+
+get_privacy_list_data(LServer, Username, SName) ->
+ ejabberd_odbc:sql_query(
+ LServer,
+ ["EXECUTE dbo.get_privacy_list_data '", Username, "' , '", SName, "'"]).
+
+get_privacy_list_data_by_id(LServer, ID) ->
+ ejabberd_odbc:sql_query(
+ LServer,
+ ["EXECUTE dbo.get_privacy_list_data_by_id '", ID, "'"]).
+
+set_default_privacy_list(Username, SName) ->
+ ejabberd_odbc:sql_query_t(
+ ["EXECUTE dbo.set_default_privacy_list '", Username, "' , '", SName, "'"]).
+
+unset_default_privacy_list(LServer, Username) ->
+ ejabberd_odbc:sql_query(
+ LServer,
+ ["EXECUTE dbo.unset_default_privacy_list '", Username, "'"]).
+
+remove_privacy_list(Username, SName) ->
+ ejabberd_odbc:sql_query_t(
+ ["EXECUTE dbo.remove_privacy_list '", Username, "' , '", SName, "'"]).
+
+add_privacy_list(Username, SName) ->
+ ejabberd_odbc:sql_query_t(
+ ["EXECUTE dbo.add_privacy_list '", Username, "' , '", SName, "'"]).
+
+set_privacy_list(ID, RItems) ->
+ ejabberd_odbc:sql_query_t(
+ ["EXECUTE dbo.del_privacy_list_by_id '", ID, "'"]),
+
+ lists:foreach(fun(Items) ->
+ ejabberd_odbc:sql_query_t(
+ ["EXECUTE dbo.set_privacy_list '", ID, "', '", join(Items, "', '"), "'"])
+ end, RItems).
+
+del_privacy_lists(LServer, Server, Username) ->
+ ejabberd_odbc:sql_query(
+ LServer,
+ ["EXECUTE dbo.del_privacy_lists @Server='", Server ,"' @username='", Username, "'"]).
+
%% Characters to escape
escape($\0) -> "\\0";
escape($\t) -> "\\t";
count_records_where(LServer, Table, WhereClause) ->
ejabberd_odbc:sql_query(
LServer,
- ["select count(*) from ", Table, " ", WhereClause, " with (nolock)"]).
+ ["select count(*) from ", Table, " with (nolock) ", WhereClause]).
get_roster_version(LServer, LUser) ->
ejabberd_odbc:sql_query(LServer,
- ["select version from dbo.roster_version where username = '", LUser, "'"]).
+ ["select version from dbo.roster_version with (nolock) where username = '", LUser, "'"]).
set_roster_version(LUser, Version) ->
update_t("dbo.roster_version", ["username", "version"], [LUser, Version], ["username = '", LUser, "'"]).
-endif.