====== non table objects ======
Generated schema reference. Regenerate this page from the SQL unload; keep hand-maintained business notes in the narrative namespace.
===== Original SQL =====
-- IQX database structure split by table
-- Source: IQXDatabaseStructure - with comments.sql
-- Contents: __non_table_objects.sql
-- Statement count: 35
-------------------------------------------------
-- Create remote servers
-------------------------------------------------
-------------------------------------------------
-- Create mutexes and semaphores
-------------------------------------------------
-------------------------------------------------
-- Create database scope variables
-------------------------------------------------
-------------------------------------------------
-- Create dbspace permissions
-------------------------------------------------
begin
for dbspaces as dbcurs cursor for
select privilege_type, dbspace_name, user_name
from SYS.SYSDBSPACEPERM p
join SYS.SYSDBSPACE d on p.dbspace_id = d.dbspace_id
join SYS.SYSUSER u on u.user_id = p.grantee
do
execute immediate 'revoke ' + case privilege_type when 1 then 'CREATE' else 'UNKNOWN' end + ' on "' + dbspace_name + '" from "' + user_name + '"'
end for;
end
go
-------------------------------------------------
-- Create external environments
-------------------------------------------------
IF EXISTS( SELECT * FROM SYS.SYSEXTERNENV WHERE name = 'java' ) THEN
ALTER EXTERNAL ENVIRONMENT "java"
LOCATION ''
END IF
go
IF EXISTS( SELECT * FROM SYS.SYSEXTERNENV WHERE name = 'perl' ) THEN
ALTER EXTERNAL ENVIRONMENT "perl"
LOCATION 'perl'
END IF
go
IF EXISTS( SELECT * FROM SYS.SYSEXTERNENV WHERE name = 'js' ) THEN
ALTER EXTERNAL ENVIRONMENT "js"
LOCATION 'node'
END IF
go
IF EXISTS( SELECT * FROM SYS.SYSEXTERNENV WHERE name = 'clr' ) THEN
ALTER EXTERNAL ENVIRONMENT "clr"
LOCATION 'dbextclr[VER_MAJOR]'
END IF
go
IF EXISTS( SELECT * FROM SYS.SYSEXTERNENV WHERE name = 'php' ) THEN
ALTER EXTERNAL ENVIRONMENT "php"
LOCATION 'php'
END IF
go
IF EXISTS( SELECT * FROM SYS.SYSEXTERNENV WHERE name = 'c_esql32' ) THEN
ALTER EXTERNAL ENVIRONMENT "c_esql32"
LOCATION 'bin32[SLASH]dbexternc[VER_MAJOR]'
END IF
go
IF EXISTS( SELECT * FROM SYS.SYSEXTERNENV WHERE name = 'c_odbc32' ) THEN
ALTER EXTERNAL ENVIRONMENT "c_odbc32"
LOCATION 'bin32[SLASH]dbexternc[VER_MAJOR]'
END IF
go
IF EXISTS( SELECT * FROM SYS.SYSEXTERNENV WHERE name = 'c_esql64' ) THEN
ALTER EXTERNAL ENVIRONMENT "c_esql64"
LOCATION 'bin64[SLASH]dbexternc[VER_MAJOR]'
END IF
go
IF EXISTS( SELECT * FROM SYS.SYSEXTERNENV WHERE name = 'c_odbc64' ) THEN
ALTER EXTERNAL ENVIRONMENT "c_odbc64"
LOCATION 'bin64[SLASH]dbexternc[VER_MAJOR]'
END IF
go
IF EXISTS( SELECT * FROM SYS.SYSEXTERNENV WHERE name = 'dbmlsync' ) THEN
ALTER EXTERNAL ENVIRONMENT "dbmlsync"
LOCATION ''
END IF
go
commit work
go
commit work
go
-------------------------------------------------
-- Create materialized views
-------------------------------------------------
commit
go
commit work
go
-------------------------------------------------
-- Create immediate materialized views
-------------------------------------------------
commit
go
-------------------------------------------------
-- Create functions
-------------------------------------------------
commit
go
-------------------------------------------------
-- Create views
-------------------------------------------------
commit
go
call dbo.sa_recompile_views(1)
go
-------------------------------------------------
-- Create user messages
-------------------------------------------------
-------------------------------------------------
-- Create procedures
-------------------------------------------------
commit
go
begin
declare prev_count int;
declare new_count int;
declare local temporary table dependent_proc (
proc_id unsigned int not null,
primary key (proc_id)
) in system not transactional;
set prev_count = -1;
lp: loop
truncate table dependent_proc;
insert into dependent_proc
select proc_id from SYS.SYSPROCEDURE p
where exists (select * from SYS.SYSPROCPARM pp
where pp.proc_id = p.proc_id
and parm_name = 'expression'
and parm_type = 1
and domain_id = 1);
select count(*) into new_count from dependent_proc;
if new_count = 0 or (new_count >= prev_count and prev_count >= 0) then
leave lp;
end if;
set prev_count = new_count;
for l1 as c1 cursor for
select u.user_name, proc_name
from SYS.SYSPROCEDURE p
join dependent_proc d on (d.proc_id = p.proc_id)
join SYS.SYSUSER u on (p.creator = u.user_id)
do
begin
execute immediate with quotes on
'alter procedure "' || user_name || '"."' || proc_name || '" recompile';
exception when others then
end
end for;
end loop;
end
go
call dbo.sa_recompile_views(0)
go
-------------------------------------------------
-- Create triggers
-------------------------------------------------
commit
go
-------------------------------------------------
-- Create SQL Remote definitions
-------------------------------------------------
-------------------------------------------------
-- Create MobiLink definitions
-------------------------------------------------
-------------------------------------------------
-- Create Synchronization profiles
-------------------------------------------------
-------------------------------------------------
-- Create logins
-------------------------------------------------
-------------------------------------------------
-- Create events
-------------------------------------------------
commit
go
ALTER EVENT "EscalatePopups"
ADD SCHEDULE "EscalatePopups" BETWEEN '00:00:00' AND '23:59:00' EVERY 5 MINUTES
go
ALTER EVENT "RemoveDeletedQuestionEvent"
ADD SCHEDULE "RemoveDeletedQuestionEvent" START TIME '13:00:00' ON ('Sunday')
go
ALTER EVENT "PersonKeywordsRefresh"
ADD SCHEDULE "FiveMinutes" BETWEEN '00:01:00' AND '23:59:00' EVERY 5 MINUTES
go
ALTER EVENT "CompanyKeywordsRefresh"
ADD SCHEDULE "FiveMinutes" BETWEEN '00:01:00' AND '23:59:00' EVERY 5 MINUTES
go
ALTER EVENT "VacancyKeywordsRefresh"
ADD SCHEDULE "FiveMinutes" BETWEEN '00:01:00' AND '23:59:00' EVERY 5 MINUTES
go
ALTER EVENT "TextIndexForceRebuild"
ADD SCHEDULE "TextIndexForceRebuild" START TIME '08:00:00' ON ('Sunday')
go
ALTER EVENT "SwitchOffNetLogging"
ADD SCHEDULE "SwitchOffNetLogging" START TIME '23:58:00' EVERY 24 HOURS
go
ALTER EVENT "BlobstoreProcessDeleteQueue"
ADD SCHEDULE "BlobstoreProcessDeleteQueueDaily" START TIME '04:30:00' ON ('Sunday','Saturday','Friday','Thursday','Wednesday','Tuesday','Monday')
go
-------------------------------------------------
-- Create services
-------------------------------------------------
commit
go
-------------------------------------------------
-- Create mirror options and servers
-------------------------------------------------
-------------------------------------------------
-- Create OData producers
-------------------------------------------------
commit
go
-------------------------------------------------
-- Create time zones
-------------------------------------------------
commit
go