====== 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