[ОТВЕТИТЬ]
Опции темы
23.07.2011 11:59  
OlegON
Некоторое время назад Супермаг включал себя большое количество безобразных подсказок. Трудно догадаться о причинах их появления, но во избежание неприятностей, связанных с этими подсказками, я на Oracle 10g ставил следующий триггер (заодно включая распараллеливание запросов):
Код:
CREATE OR REPLACE TRIGGER "SYS"."SMUSER_NOHINT" AFTER LOGON ON DATABASE WHEN (supermag.ok_is_smuser(SYS_CONTEXT ('USERENV', 'SESSION_USER'))=1) BEGIN
EXECUTE IMMEDIATE 'ALTER SESSION set "_optimizer_ignore_hints"=true';
EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL QUERY';
EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DDL';
EXECUTE IMMEDIATE 'ALTER SESSION ENABLE PARALLEL DML';
END smuser_nohint;
соответственно, были два варианта используемой функции:
Код:
CREATE OR REPLACE FUNCTION "SUPERMAG"."OK_IS_SMUSER" (user_n IN VARCHAR2)
RETURN number IS
x number(3);
BEGIN
select max(sign(id)) into x from supermag.smstaff where serverlogin=user_n;
if x>0 then
RETURN 1;
ELSE
RETURN 0;
END IF;
END ok_is_smuser;

CREATE OR REPLACE FUNCTION "SUPERMAG"."OK_IS_SMUSER" (user_n IN VARCHAR2)
RETURN number IS
x number(3);
BEGIN
if user_n in ('SYS','SYSTEM') then
RETURN 1;
ELSE
RETURN 0;
END IF;
END ok_is_smuser;
 
 
Опции темы



Часовой пояс GMT +3, время: 10:51.

Все в прочитанное - Календарь - RSS - - Карта - Вверх 👫 Яндекс.Метрика
Форум сделан на основе vBulletin®
Copyright ©2000 - 2016, Jelsoft Enterprises Ltd. Перевод: zCarot и OlegON
В случае заимствования информации гипертекстовая индексируемая ссылка на Форум обязательна.