Jump to: navigation, search

8.5.0 to 8.5.001 Database Changes - Commands

Copy the following commands and run them in the SQL query window for the SpeechMiner 8.5.0 to 8.5.0.1 Upgrade Procedure:


ALTER TABLE dbo.segmentAudioTbl ADD arrivalTime int NULL
GO
          
GO
ALTER TABLE [dbo].[coachingStaticCallListCalls] DROP CONSTRAINT [FK_coachingStaticCallListCalls_callMetaTbl]
GO
          
GO
GO

ALTER TABLE [dbo].[agentEntityTbl] DROP CONSTRAINT [IX_agentEntityTbl]
GO

          
GO

GO

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[sp_agentFilterCleanByDays]') AND type in (N'P', N'PC'))
DROP PROCEDURE [dbo].[sp_agentFilterCleanByDays]
GO
ALTER PROCEDURE [dbo].[sp_rebuild_partition_help_tables]

WITH EXECUTE AS SELF

  AS 



  BEGIN TRAN

	  TRUNCATE TABLE partitionProgramTbl

	insert into partitionprogramTbl

	select distinct b.partitionid,a.programid

	from (select callId,programId from callMetaTbl union select textId as callId,programId from TextData) a, callPartitionTbl as b

	where a.callid=b.callid


  COMMIT

IF  EXISTS (SELECT * FROM sys.objects WHERE object_id = OBJECT_ID(N'[dbo].[partitionAgentTbl]') AND type in (N'U'))
DROP TABLE [dbo].[partitionAgentTbl]
GO



          
GO
ALTER TABLE WordPrecision
ADD  "wer" float(20)
ALTER TABLE WordPrecision
ADD  "recall" float(20)
GO
          
GO

ALTER TABLE NGProbs1 
ADD  "backoff" float(20)
ALTER TABLE NGProbs2
ADD  "backoff" float(20)
ALTER TABLE NGProbs3 
ADD  "backoff" float(20)
ALTER TABLE NGProbs4 
ADD  "backoff" float(20)
GO
          
GO
IF NOT EXISTS(select * from sys.columns where Name = N'isBackupConfigurationServer' and Object_ID = Object_ID(N'ComputerList'))
BEGIN
ALTER TABLE [dbo].[ComputerList] ADD isBackupConfigurationServer bit NOT NULL DEFAULT 0
END

          
GO
CREATE TABLE wildcardGrammars
(
languageId int NOT NULL,
[key] nvarchar(50) NOT NULL,
value nvarchar(50) NOT NULL,
PRIMARY KEY (languageId,[key])
);

GO

INSERT INTO wildcardGrammars values 
(0,'[alphanum]','alphanum'), 
(0,'[boolean]','boolean'),
(0,'[ccexpdate]','ccexpdate'),
(0,'[creditcard]','creditcard'),
(0,'[currency]','currency'),
(0,'[date]','date'),
(0,'[digits]','digits'),
(0,'[number]','number'),
(0,'[phone]','phone'),
(0,'[socialsecurity]','socialsecurity'),
(0,'[time]','time'),
(0,'[voiceenroll]','voiceenroll'),
(0,'[zipcode]', 'zipcode'),
(2,'[alphanum]','alphanum'),
(2,'[boolean]','boolean'),
(2,'[ccexpdate]','ccexpdate'),
(2,'[creditcard]','creditcard'),
(2,'[currency]','currency'),
(2,'[date]','date'),
(2,'[digits]','digits'),
(2,'[number]','number'),
(2,'[phone]','phone'),
(2,'[time]','time'),
(2,'[voiceenroll]','voiceenroll'),
(2,'[zipcode]','zipcode');

GO
          
GO
ALTER TABLE NGProbs1
DROP COLUMN backoff
ALTER TABLE NGProbs2
DROP COLUMN backoff
ALTER TABLE NGProbs3
DROP COLUMN backoff
ALTER TABLE NGProbs4
DROP COLUMN backoff
GO
          
GO
ALTER TABLE RecognitionLanguages
ADD "WordConfidence" varchar(100)
GO

Update RecognitionLanguages
SET WordConfidence = 'wordconfidence'
UPDATE RecognitionLanguages
SET WordConfidence = 'wordconfidence_German'  where index1 = 6
UPDATE RecognitionLanguages
SET WordConfidence = 'wordconfidence_Catalan'  where index1 = 13
UPDATE RecognitionLanguages
SET WordConfidence = 'wordconfidence_English'  where index1 in (0,3,14)
UPDATE RecognitionLanguages
SET WordConfidence = 'wordconfidence_Spanish'  where index1 in (1,2)
UPDATE RecognitionLanguages
SET WordConfidence = 'wordconfidence_Portuguese'  where index1 = 11
UPDATE RecognitionLanguages
SET WordConfidence = 'wordconfidence_French'  where index1 = 5
GO

CREATE TABLE WordConfidenceInterpolation
(
Language int,
wer varchar(255),
precision varchar(255),
recall varchar(255)
)

grant SELECT on WordConfidenceInterpolation to Platform

INSERT INTO WordConfidenceInterpolation values(0,'-0.0356 0.8034','0.0431 0.3559','0.0272 0.5093')
INSERT INTO WordConfidenceInterpolation values(1,'-0.0383 0.7144','0.0226 0.5246','0.0338 0.3492')
INSERT INTO WordConfidenceInterpolation values(2,'-0.0369 0.8605','0.0418 0.3515','0.0343 0.1833')
INSERT INTO WordConfidenceInterpolation values(3,'-0.0328 0.7378','0.0395 0.3265','0.0246 0.3305')
INSERT INTO WordConfidenceInterpolation values(5,'-0.0334 0.9805','0.0386 0.1734','0.0386 0.1734')
INSERT INTO WordConfidenceInterpolation values(6,'-0.0179 0.6302','0.0295 0.3729','0.018 0.3883')
INSERT INTO WordConfidenceInterpolation values(11,'-0.0203 0.3161','0.0339 0.3161','0.0167 0.4534')
INSERT INTO WordConfidenceInterpolation values(13,'-0.0356 0.8034','0.0431 0.3559','0.0272 0.5093')
INSERT INTO WordConfidenceInterpolation values(14,'-0.033 0.6866','0.043 0.3835','0.0379 0.3249')
GO
          
GO
GRANT select ON [dbo].[wildcardGrammars] TO [SMART],[SMARTCompileGrammar],[InteractionReceiver],[Platform],[SMConfig],[Web] 
GO
          
GO

IF  EXISTS (SELECT * FROM sys.indexes WHERE object_id = OBJECT_ID(N'[dbo].[callPartitionTbl]') AND name = N'IX_callPartitionTbl_partitionId')
DROP INDEX [IX_callPartitionTbl_partitionId] ON [dbo].[callPartitionTbl] WITH ( ONLINE = OFF )
GO


          
GO
Update RecognitionLanguages	
set Display='South African English',
    NuanceRecognizerLanguagePack='en-ZA', 
	AS_PER_CHAR_TIME_DURATION=0.075, 
	culture='en-ZA', 
	encoding='English_South Africa.20127'
where index1=15

Update RecognitionLanguages	
set encoding='French_France.28591' where index1=5
GO
          
GO
Update RecognitionLanguages	
set Display='',
    NuanceRecognizerLanguagePack=NULL, 
	AS_PER_CHAR_TIME_DURATION=NULL, 
	culture=NULL, 
	DictionaryName=NULL,
	encoding=NULL
where index1=15

          
GO

GO
Alter FUNCTION [dbo].[sp_getTopicEventSequences] 
(
@callid int, @threshold int
)
RETURNS varchar(max)
AS
BEGIN
declare @text as varchar(max)
set @text=''
select @text=@text + ltrim(rtrim(str(e.resourceID))) + ' ' 
from callEventstbl e
where e.callid = @callid
and e.type=1 and e.subtype=1
and e.confidence>=@threshold
and e.found=1	
order by e.starttime
RETURN substring(@text, 1, len(@text))
END
go
          
GO
update dbo.callrecognizer set ADJUST_CONF = 'False'
GO
          
GO
Delete from wildcardGrammars
where [key]='[voiceenroll]'
          
GO
BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
EXECUTE sp_rename N'dbo.wildcardGrammars.[key]', N'Tmp_token', 'COLUMN' 
GO
EXECUTE sp_rename N'dbo.wildcardGrammars.value', N'Tmp_grammar_1', 'COLUMN' 
GO
EXECUTE sp_rename N'dbo.wildcardGrammars.Tmp_token', N'token', 'COLUMN' 
GO
EXECUTE sp_rename N'dbo.wildcardGrammars.Tmp_grammar_1', N'grammar', 'COLUMN' 
GO
ALTER TABLE dbo.wildcardGrammars SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
          
GO
declare @table_name nvarchar(256)
declare @col_name nvarchar(256)
declare @Command  nvarchar(1000)

set @table_name = N'ComputerList'
set @col_name = N'isBackupConfigurationServer'

select @Command = 'ALTER TABLE ' + @table_name + ' drop constraint ' + d.name
 from sys.tables t   
  join    sys.default_constraints d       
   on d.parent_object_id = t.object_id  
  join    sys.columns c      
   on c.object_id = t.object_id      
    and c.column_id = d.parent_column_id
 where t.name = @table_name
  and c.name = @col_name

execute (@Command)
GO

IF EXISTS(select * from sys.columns where Name = N'isBackupConfigurationServer' and Object_ID = Object_ID(N'ComputerList'))
BEGIN
ALTER TABLE [dbo].[ComputerList] DROP COLUMN isBackupConfigurationServer 
END
GO

          
GO

ALTER PROCEDURE [dbo].[sp_deleteTexts](@TextIDs varchar(max),@deletedTextsNum int OUTPUT)
	 WITH EXECUTE AS SELF
AS
BEGIN
	SET NOCOUNT ON;
	DECLARE @ParmDefinition nvarchar(500);
	set @deletedTextsNum ='-1'
	declare @SelectCounter nvarchar(max)
	set @SelectCounter = N'select @sOUT = count(*) from textData where textId in (' + @TextIDs + ')'
	SET @ParmDefinition = N'@sOUT int OUTPUT';
    exec sp_executesql @SelectCounter,@ParmDefinition,@sOUT=@deletedTextsNum OUTPUT;
	declare @deleteTexts as nvarchar (max)
	set @deleteTexts = ''
	---------
	set @deleteTexts = @deleteTexts + 'DELETE FROM callMetaExTbl where callid in (' + @TextIDs + ')'
	set @deleteTexts = @deleteTexts + 'DELETE FROM callcategoryTbl where callid in (' + @TextIDs + ')'
	set @deleteTexts = @deleteTexts + 'DELETE FROM callEventsTbl where callid in (' + @TextIDs + ')'
	set @deleteTexts = @deleteTexts + 'DELETE FROM callAgentTbl where callid in (' + @TextIDs + ')'
	set @deleteTexts = @deleteTexts + 'DELETE FROM callPartitionTbl where callid in (' + @TextIDs + ')'
	set @deleteTexts = @deleteTexts + 'DELETE FROM textparties where textId in (' + @TextIDs + ')'
	set @deleteTexts = @deleteTexts + 'DELETE FROM textStatus where textId in (' + @TextIDs + ')'
	set @deleteTexts = @deleteTexts + 'DELETE FROM textData where textId in (' + @TextIDs + ')'
	set @deleteTexts = @deleteTexts + 'DELETE FROM repCategoryMetaTbl where callid in (' + @TextIDs + ')'
	set @deleteTexts = @deleteTexts + 'DELETE FROM callSpeakersTbl where callid in (' + @TextIDs + ')'
	---------
	exec sp_executesql @deleteTexts
END

          
GO
ALTER TABLE callNotesTbl DROP CONSTRAINT FK_callNotesTbl_callMetaTbl
          
GO
UPDATE RecognitionLanguages 
set DictionaryName = 'pt_BR' where index1=11
GO
UPDATE RecognitionLanguages 
set DictionaryName = 'es_MX' where index1 = 1
GO
UPDATE RecognitionLanguages 
set DictionaryName = 'es_ES' where index1 = 2
GO
          
GO
delete from reportCachingQueue 
GO
alter table reportCachingQueue add runAtTime int NOT NULL
GO 

CREATE PROCEDURE [dbo].[sp_getReportCachingNextTask]
AS
BEGIN

	BEGIN TRAN

	declare @id int
	SELECT top 1 @id=id from reportCachingQueue with(updlock holdlock)
	where nextTimeToRun<dbo.time2tod(GetUtcDate())
	order by nextTimeToRun

	IF @id IS NOT NULL
	BEGIN
		update reportCachingQueue set nextTimeToRun=dbo.time2tod(GetUtcDate())+1*60*60 where id=@id
		select reportid, [partitions], runAtTime from reportCachingQueue where id=@id
	END
	COMMIT

END
GO 

grant execute on sp_getReportCachingNextTask to platform
GO

          
GO

BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.indexParamsTbl ADD
	autoRestore bit NOT NULL CONSTRAINT DF_indexParamsTbl_autoRestore DEFAULT 0,
	timeToWaitForFolder int NULL
GO
ALTER TABLE dbo.indexParamsTbl SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

GRANT update(indexdirectorypath, dailyBackupLocation) ON [indexparamstbl]  TO [Platform]
GO
          
GO
grant update(status,stoppedForPurge) on computerList to interactionReceiver
grant execute on sp_enqueuePurgeTask to interactionReceiver


          
GO
ALTER PROCEDURE [dbo].[sp_getClusterTrendData]
	@clusterId int,
	@maxTrendWeeksBack int
AS
BEGIN

	declare @firstDayOfWeek as int
	set @firstDayOfWeek = dbo.getFirstDayOfWeek()
	set DATEFIRST @firstDayOfWeek
	
	declare @paramsId as int
	declare @reportDate as datetime

	set @paramsId = (select paramsId from ExplorationReports where reportid=(select reportid from ExplorationReportsData where clusterid=@clusterId))
	set @reportDate = (select dbo.tod2time(endTime) from ExplorationReportParams where id=@paramsId)

	IF @reportDate IS NULL
	BEGIN
		select NULL as[time], NULL as [numberOfCalls], NULL as [totalNumberOfCalls]
		RETURN -- the specified cluster id does not exist.
	END

	create table #trendData (
		[time] datetime NOT NULL,
		[numberOfCalls] int,
		[totalNumberOfCalls] int
	)

	insert into #trendData 
	select dbo.tod2time([time]) as [time], numberOfCalls, totalNumberOfCalls
	from dbo.ExplorationTrendData where clusterid=@clusterId

	IF NOT EXISTS(select [time] from #trendData)
	BEGIN
		insert into #trendData values(DATEADD(DAY, 1-DATEPART(WEEKDAY, @reportDate), @reportDate), NULL, NULL)
	END

	-- add the dates (start of week) from the last date with data to the report time
	while dateadd(week, 1, (select max(time) from #trendData)) < @reportDate
	BEGIN
		declare @newTime as datetime
		set @newTime = dateadd(week, 1, (select max(time) from #trendData))
		IF not exists(select * from #trendData where [time] = @newTime)
		BEGIN
			insert into #trendData values(@newTime, NULL, NULL)
		END
	END

	declare @currentTrendDate as datetime
	set @currentTrendDate = (select max(time) from #trendData)

	-- skip the first week if the current report date is the first day of the week
	if @currentTrendDate = @reportDate
	BEGIN
		set @currentTrendDate = dateadd(week, -1, @currentTrendDate)
	END

	declare @count as int
	set @count = 0
	while @count < @maxTrendWeeksBack - 1
	BEGIN
		IF not exists(select * from #trendData where [time] = @currentTrendDate)
		BEGIN
			insert into #trendData values(@currentTrendDate, NULL, NULL)
		END

		set @currentTrendDate = dateadd(week, -1, @currentTrendDate)
		set @count = @count + 1
	END


	set @currentTrendDate = dateadd(week, 1, @currentTrendDate)

	delete from #trendData where time<@currentTrendDate -- remove the old items if there are more than @maxTrendWeeksBack items

	select * from #trendData order by [time]

	drop table #trendData

END

          
GO
GO

GRANT UPDATE ON dbo.[TextStatus] TO Web

GO
          
GO

BEGIN TRANSACTION
SET QUOTED_IDENTIFIER ON
SET ARITHABORT ON
SET NUMERIC_ROUNDABORT OFF
SET CONCAT_NULL_YIELDS_NULL ON
SET ANSI_NULLS ON
SET ANSI_PADDING ON
SET ANSI_WARNINGS ON
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.TextData
	DROP CONSTRAINT FK_TextData_ResourceType
GO
ALTER TABLE dbo.ResourceType SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.TextData
	DROP CONSTRAINT FK_TextData_programInfoTbl
GO
ALTER TABLE dbo.programInfoTbl SET (LOCK_ESCALATION = TABLE)
GO
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.TextData
	DROP CONSTRAINT DF_TextData_customerId
GO
ALTER TABLE dbo.TextData
	DROP CONSTRAINT DF_TextData_customerGroupId
GO
ALTER TABLE dbo.TextData
	DROP CONSTRAINT DF_TextData_programId
GO
CREATE TABLE dbo.Tmp_TextData
	(
	textId int NOT NULL,
	resourceTypeId int NOT NULL,
	originalTime int NULL,
	customerId varchar(256) NOT NULL,
	customerGroupId varchar(256) NOT NULL,
	subject nvarchar(MAX) NULL,
	body nvarchar(MAX) NULL,
	externalTextId varchar(256) NULL,
	sender varchar(8000) NULL,
	receiver varchar(8000) NULL,
	cc varchar(8000) NULL,
	bcc varchar(8000) NULL,
	programId int NOT NULL,
	originalBody varchar(MAX) NULL
	)  ON [PRIMARY]
	 TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE dbo.Tmp_TextData SET (LOCK_ESCALATION = TABLE)
GO
GRANT DELETE ON dbo.Tmp_TextData TO Platform  AS dbo
GO
GRANT INSERT ON dbo.Tmp_TextData TO Platform  AS dbo
GO
GRANT SELECT ON dbo.Tmp_TextData TO Web  AS dbo
GO
GRANT SELECT ON dbo.Tmp_TextData TO Platform  AS dbo
GO
GRANT SELECT ON dbo.Tmp_TextData TO SMART  AS dbo
GO
GRANT UPDATE ON dbo.Tmp_TextData TO Web  AS dbo
GO
GRANT UPDATE ON dbo.Tmp_TextData TO Platform  AS dbo
GO
ALTER TABLE dbo.Tmp_TextData ADD CONSTRAINT
	DF_TextData_customerId DEFAULT ('') FOR customerId
GO
ALTER TABLE dbo.Tmp_TextData ADD CONSTRAINT
	DF_TextData_customerGroupId DEFAULT ('') FOR customerGroupId
GO
ALTER TABLE dbo.Tmp_TextData ADD CONSTRAINT
	DF_TextData_programId DEFAULT ((0)) FOR programId
GO
IF EXISTS(SELECT * FROM dbo.TextData)
	 EXEC('INSERT INTO dbo.Tmp_TextData (textId, resourceTypeId, originalTime, customerId, customerGroupId, subject, body, externalTextId, sender, receiver, cc, bcc, programId, originalBody)
		SELECT textId, resourceTypeId, originalTime, customerId, customerGroupId, CONVERT(nvarchar(MAX), subject), CONVERT(nvarchar(MAX), body), externalTextId, sender, receiver, cc, bcc, programId, originalBody FROM dbo.TextData WITH (HOLDLOCK TABLOCKX)')
GO
ALTER TABLE dbo.TextStatus
	DROP CONSTRAINT FK_TextStatus_TextData
GO
DROP TABLE dbo.TextData
GO
EXECUTE sp_rename N'dbo.Tmp_TextData', N'TextData', 'OBJECT' 
GO
ALTER TABLE dbo.TextData ADD CONSTRAINT
	PK_TextDataTbl PRIMARY KEY CLUSTERED 
	(
	textId
	) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]

GO
CREATE NONCLUSTERED INDEX IX_externalTextId ON dbo.TextData
	(
	externalTextId
	) WITH( STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
GO
ALTER TABLE dbo.TextData ADD CONSTRAINT
	FK_TextData_programInfoTbl FOREIGN KEY
	(
	programId
	) REFERENCES dbo.programInfoTbl
	(
	programId
	) ON UPDATE  NO ACTION 
	 ON DELETE  NO ACTION 
	
GO
ALTER TABLE dbo.TextData ADD CONSTRAINT
	FK_TextData_ResourceType FOREIGN KEY
	(
	resourceTypeId
	) REFERENCES dbo.ResourceType
	(
	resourceTypeId
	) ON UPDATE  NO ACTION 
	 ON DELETE  NO ACTION 
	
GO
COMMIT
BEGIN TRANSACTION
GO
ALTER TABLE dbo.TextStatus WITH NOCHECK ADD CONSTRAINT
	FK_TextStatus_TextData FOREIGN KEY
	(
	textId
	) REFERENCES dbo.TextData
	(
	textId
	) ON UPDATE  NO ACTION 
	 ON DELETE  NO ACTION 
	
GO
ALTER TABLE dbo.TextStatus
	NOCHECK CONSTRAINT FK_TextStatus_TextData
GO
ALTER TABLE dbo.TextStatus SET (LOCK_ESCALATION = TABLE)
GO
COMMIT

          
GO
UPDATE [webServiceParams] SET [sendFeedbackEmail]='customercare@genesys.com'


          
GO
delete wildcardGrammars where grammar='digits'
          
GO
GO

UPDATE indexer set calls_per_chunk=6000

GO
          
GO
update dbo.versionTbl set version= '8.5.7104' where resource in ('SM', 'SMART') 
go
This page was last edited on November 27, 2014, at 11:55.
Comments or questions about this documentation? Contact us for support!