Commit ffaefa17 authored by Frank Bergmann's avatar Frank Bergmann

- Comitting OpenACS 5.9

parent 70ce36d8
This diff is collapsed.
......@@ -6,9 +6,9 @@
<msg key="authentication_authority">Authority</msg>
<description key="authentication_authority">The identifying label for an authentication server, such as an LDAP or RADIUS server.</description>
<msg key="common_Actions">Actions</msg>
<msg key="Bio">Biography</msg>
<msg key="Bios">Biographies</msg>
<msg key="common_Actions">Actions</msg>
<description key="common_Actions">Header for a list of actions which may be taken on the displayed content</description>
<msg key="common_actions">actions</msg>
......@@ -100,6 +100,7 @@
<msg key="First_Names">First Names</msg>
<msg key="Group">Group</msg>
<msg key="Group_name">Group Name</msg>
<msg key="Group_names">Group Names</msg>
<msg key="Groups">Groups</msg>
<msg key="Last_Name">Last Name</msg>
<msg key="Last_Names">Last Names</msg>
......@@ -143,8 +144,10 @@
<msg key="Unregistered">Unregistered</msg>
<msg key="Unregistered_Visitor">Unregistered Visitor</msg>
<msg key="URL">URL</msg>
<msg key="URLs">URLs</msg>
<msg key="User">User</msg>
<msg key="Users">Users</msg>
<msg key="Username">Username</msg>
<msg key="Usernames">Username</msg>
<msg key="Usernames">Usernames</msg>
<msg key="Visitor">Visitor</msg>
</message_catalog>
<?xml version="1.0" encoding="utf-8"?>
<message_catalog package_key="acs-kernel" locale="ru_RU" charset="utf-8">
<msg key="Administrator">Администратор</msg>
<msg key="Administrators">Администраторы</msg>
<msg key="authentication_authority">Удостоверение подлинности</msg>
<msg key="Bio">Биография</msg>
<msg key="Bios">Биографии</msg>
<msg key="common_Actions">Действия</msg>
<msg key="common_actions">действия</msg>
<msg key="common_Add">Добавить</msg>
<msg key="common_add">добавить</msg>
<msg key="common_Administration">Управление</msg>
<msg key="common_administration">управление</msg>
<msg key="common_Admin">Администратор</msg>
<msg key="common_Administration">Администрирование</msg>
<msg key="common_administration">администрирование </msg>
<msg key="common_All">Все</msg>
<msg key="common_Any">Какой-нибудь</msg>
<msg key="common_Apply">Применить</msg>
<msg key="common_apply">применить</msg>
<msg key="common_Cancel">Отменить</msg>
......@@ -16,12 +25,15 @@
<msg key="common_closed">закрыто</msg>
<msg key="common_Continue">Продолжить</msg>
<msg key="common_continue">продолжить</msg>
<msg key="common_Copy">Копировать</msg>
<msg key="common_Default">Использовать по умолчанию</msg>
<msg key="common_default">использовать по умолчанию</msg>
<msg key="common_Delete">Удалить</msg>
<msg key="common_delete">удалить</msg>
<msg key="common_Discard">Отбросить</msg>
<msg key="common_discard">отбросить</msg>
<msg key="common_Details">Подробности</msg>
<msg key="common_details">подробности</msg>
<msg key="common_Discard">Оклонить</msg>
<msg key="common_discard">отклонить</msg>
<msg key="common_Display">Показать</msg>
<msg key="common_display">показать</msg>
<msg key="common_Edit">Редактировать</msg>
......@@ -34,6 +46,8 @@
<msg key="common_go">вперёд</msg>
<msg key="common_Help">Помощь</msg>
<msg key="common_help">помощь</msg>
<msg key="common_Last">Последний</msg>
<msg key="common_last">последний</msg>
<msg key="common_Login">Войти</msg>
<msg key="common_login">войти</msg>
<msg key="common_Needs_Approval">Требуется разрешение</msg>
......@@ -48,8 +62,10 @@
<msg key="common_ok">ok</msg>
<msg key="common_Open">Открыть</msg>
<msg key="common_open">открыть</msg>
<msg key="common_Permissions">Разрешения</msg>
<msg key="common_Previous">Предыдущий</msg>
<msg key="common_previous">пред.</msg>
<msg key="common_Print">Печатать</msg>
<msg key="common_Register">Регистрация</msg>
<msg key="common_register">регистрация</msg>
<msg key="common_Repeat">Повторить</msg>
......@@ -62,25 +78,70 @@
<msg key="common_search">поиск</msg>
<msg key="common_Stop">Остановить</msg>
<msg key="common_stop">остановить</msg>
<msg key="common_submit">предложить</msg>
<msg key="common_Submit">Предоставить на рассмотрение</msg>
<msg key="common_submit">предоставить</msg>
<msg key="common_Title">Наименование</msg>
<msg key="common_Type">Тип</msg>
<msg key="common_Update">Обновить</msg>
<msg key="common_update">обновить</msg>
<msg key="common_View">Просмотр</msg>
<msg key="common_view">просмотр</msg>
<msg key="common_Yes">Да</msg>
<msg key="common_yes">да</msg>
<msg key="Member_role_pretty_name">Член</msg>
<msg key="member_role_pretty_name">член</msg>
<msg key="Member_role_pretty_plural">Члены</msg>
<msg key="member_role_pretty_plural">члены</msg>
<msg key="member_state_Approved">Разрешено</msg>
<msg key="member_state_approved">разрешено</msg>
<msg key="Default_Context">Содержание по умолчанию</msg>
<msg key="Email_Address">Адрес электронной почты</msg>
<msg key="Email_Addresses">Адреса электронной почты</msg>
<msg key="First_Names">Имя</msg>
<msg key="Group">Группа </msg>
<msg key="Group_name">Имя группы</msg>
<msg key="Group_names">Имена групп</msg>
<msg key="Groups">Группы</msg>
<msg key="Last_Name">Фамилия</msg>
<msg key="Last_Names">Фамилии </msg>
<msg key="lt_Administrator_Relatio">Административное взаимоотношение</msg>
<msg key="lt_Administrator_Relatio_1">Административные взаимоотношения</msg>
<msg key="lt_Main_Site_Administrat">Администраторы главного сайта</msg>
<msg key="lt_Membership_Relationsh">Взаимоотношения между членами</msg>
<msg key="lt_Relational_Constraint">Реляционное ограничение</msg>
<msg key="lt_Relational_Constraint_1">Реляционные ограничения</msg>
<msg key="lt_Relational_Party_Segm">Сегмент реляционной стороны</msg>
<msg key="lt_Relational_Party_Segm_1">Сегменты реляционной стороны</msg>
<msg key="lt_Security_context_root">Безопасность root контекста </msg>
<msg key="Main_Site">Главный сайт</msg>
<msg key="Main_Site_Members">Участники главного сайта</msg>
<msg key="Member_role_pretty_name">Участник</msg>
<msg key="member_role_pretty_name">участник</msg>
<msg key="Member_role_pretty_plural">Участники</msg>
<msg key="member_role_pretty_plural">участники</msg>
<msg key="member_state_Approved">Одобрено</msg>
<msg key="member_state_approved">одобрено</msg>
<msg key="member_state_Banned">Запрещено</msg>
<msg key="member_state_banned">запрещено</msg>
<msg key="member_state_Deleted">Удалено</msg>
<msg key="member_state_deleted">удалено</msg>
<msg key="member_state_Needs_Approval">Требуется разрешение</msg>
<msg key="member_state_needs_approval">требуется разрешение</msg>
<msg key="member_state_Needs_Approval">Требуется одобрение</msg>
<msg key="member_state_needs_approval">требуется одобрение</msg>
<msg key="member_state_Rejected">Отклонено</msg>
<msg key="member_state_rejected">отклонено</msg>
<msg key="Membership_Relation">Отношение участника</msg>
<msg key="OpenACS_Local">Локальный OpenACS</msg>
<msg key="Parties">Стороны</msg>
<msg key="Party">Сторона</msg>
<msg key="People">Люди</msg>
<msg key="Person">Персона</msg>
<msg key="Registered_Users">Зарегистрированные пользователи </msg>
<msg key="registered_users">Зарегистрированные пользователи </msg>
<msg key="Screen_Name">Экранное имя</msg>
<msg key="Screen_Names">Экранные имена</msg>
<msg key="The_Public">Публичный</msg>
<msg key="the_public">Публичный</msg>
<msg key="Unregistered">Не зарегистрирован</msg>
<msg key="Unregistered_Visitor">Незарегистрированный посетитель </msg>
<msg key="URL">URL</msg>
<msg key="URLs">URLs</msg>
<msg key="User">Пользователь</msg>
<msg key="Username">Имя пользователя</msg>
<msg key="Usernames">Имена пользователей</msg>
<msg key="Users">Пользователи</msg>
<msg key="Visitor">Посетитель</msg>
</message_catalog>
......@@ -52,3 +52,49 @@ create sequence sec_security_token_id_seq cache 100;
-- the increment here without changing the procedure!
create sequence sec_id_seq cache 100 increment by 100;
create or replace package sec_session_property
as
procedure upsert (
p_session_id in sec_session_properties.session_id%TYPE,
p_module in sec_session_properties.module%TYPE,
p_name in sec_session_properties.property_name%TYPE,
p_value in sec_session_properties.property_value%TYPE,
p_secure_p in sec_session_properties.secure_p%TYPE,
p_last_hit in sec_session_properties.last_hit%TYPE
);
end sec_session_property;
/
show errors
create or replace package body sec_session_property
as
procedure upsert(
p_session_id in sec_session_properties.session_id%TYPE,
p_module in sec_session_properties.module%TYPE,
p_name in sec_session_properties.property_name%TYPE,
p_value in sec_session_properties.property_value%TYPE,
p_secure_p in sec_session_properties.secure_p%TYPE,
p_last_hit in sec_session_properties.last_hit%TYPE
)
is
BEGIN
insert into sec_session_properties
(session_id, module, property_name, secure_p, last_hit)
values (p_session_id, p_module, p_name, p_secure_p, p_last_hit);
exception
when dup_val_on_index then
update sec_session_properties
set property_value = p_value,
secure_p = p_secure_p,
last_hit = p_last_hit
where
session_id = p_session_id and
module = p_module and
property_name = p_name;
END upsert;
end sec_session_property;
/
show errors
......@@ -7,6 +7,7 @@
-- @creation-date 2000-07-27
-- @cvs-id $Id$
--
drop package sec_session_property;
drop sequence sec_id_seq;
drop sequence sec_security_token_id_seq;
......
......@@ -17,6 +17,7 @@ create table site_node_object_mappings (
constraint snom_node_id_nn
not null
);
create index site_node_object_mappings_node_id_idx on site_node_object_mappings(node_id);
create or replace package site_node_object_map
as
......
......@@ -47,7 +47,9 @@ create table site_nodes (
);
create index site_nodes_object_id_idx on site_nodes (object_id);
create index site_nodes_parent_id_idx on site_nodes(parent_id,object_id,node_id);
create index site_nodes_parent_object_node_id_idx on site_nodes(parent_id, object_id, node_id);
create index site_nodes_parent_id_idx on site_nodes(parent_id);
create or replace package site_node
as
......
......@@ -18,6 +18,23 @@ as
function logical_negation (
true_or_false IN varchar2)
return varchar2;
function table_exists (
name in varchar2)
return boolean;
function table_column_exists (
t_name in varchar2,
c_name in varchar2)
return boolean;
function view_exists (
name in varchar2)
return boolean;
function index_exists (
name in varchar2)
return boolean;
end util;
/
show errors
......@@ -60,6 +77,39 @@ as
return 'f';
END IF;
END logical_negation;
function table_exists (
name IN varchar2)
return boolean
as
begin
return exists (select 1 from user_tables where table_name = t_name);
END table_exists;
function table_column_exists (
t_name IN varchar2,
c_name IN varchar2)
return boolean
as
begin
return exists (select 1 from user_tab_columns where c.table_name = t_name and c.column_name = c_name);
END table_column_exists;
function view_exists (
name IN varchar2)
return boolean
as
begin
return exists (select 1 from user_views where view_name = name);
END view_exists;
function index_exists (
name IN varchar2)
return boolean
as
begin
return exists (select 1 from user_indexes where index_name = name);
END index_exists;
end util;
/
......
......@@ -18,45 +18,37 @@ comment on table acs_magic_objects is '
objects like the site-wide organization, and the all users party.
';
create or replace function acs__add_user (
integer, -- user_id
varchar, -- object_type
timestamptz, -- creation_date
integer, -- creation_user
varchar, -- cretion_ip
integer, -- authority_id; default 'local'
varchar, -- username
varchar, -- email
varchar, -- url
varchar, -- first_names
varchar, -- last_name
char, -- password
char, -- salt
varchar, -- screen_name
boolean, -- email_verified_p
varchar -- member_state
)
returns integer as '
declare
p_user_id alias for $1; -- default null
p_object_type alias for $2; -- default ''user''
p_creation_date alias for $3; -- default now()
p_creation_user alias for $4; -- default null
p_creation_ip alias for $5; -- default null
p_authority_id alias for $6; -- defaults to local authority
p_username alias for $7; --
p_email alias for $8;
p_url alias for $9; -- default null
p_first_names alias for $10;
p_last_name alias for $11;
p_password alias for $12;
p_salt alias for $13;
p_screen_name alias for $14; -- default null
p_email_verified_p alias for $15; -- default ''t''
p_member_state alias for $16; -- default ''approved''
-- added
select define_function_args('acs__add_user','user_id;null,object_type;user,creation_date;now(),creation_user;null,creation_ip;null,authority_id,username,email,url;null,first_names,last_name,password,salt,screen_name;null,email_verified_p;t,member_state;approved');
--
-- procedure acs__add_user/16
--
CREATE OR REPLACE FUNCTION acs__add_user(
p_user_id integer, -- default null
p_object_type varchar, -- default 'user'
p_creation_date timestamptz, -- default now()
p_creation_user integer, -- default null
p_creation_ip varchar, -- default null
p_authority_id integer, -- defaults to local authority
p_username varchar,
p_email varchar,
p_url varchar, -- default null
p_first_names varchar,
p_last_name varchar,
p_password char,
p_salt char,
p_screen_name varchar, -- default null
p_email_verified_p boolean, -- default 't'
p_member_state varchar -- default 'approved'
) RETURNS integer AS $$
DECLARE
v_user_id users.user_id%TYPE;
v_rel_id membership_rels.rel_id%TYPE;
begin
BEGIN
v_user_id := acs_user__new (
p_user_id,
p_object_type,
......@@ -78,8 +70,8 @@ begin
v_rel_id := membership_rel__new (
null,
''membership_rel'',
acs__magic_object_id(''registered_users''),
'membership_rel',
acs__magic_object_id('registered_users'),
v_user_id,
p_member_state,
null,
......@@ -88,25 +80,34 @@ begin
PERFORM acs_permission__grant_permission (
v_user_id,
v_user_id,
''read''
'read'
);
PERFORM acs_permission__grant_permission (
v_user_id,
v_user_id,
''write''
'write'
);
return v_user_id;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
-- added
select define_function_args('acs__remove_user','user_id');
create function acs__remove_user (integer)
returns integer as '
declare
remove_user__user_id alias for $1;
--
-- procedure acs__remove_user/1
--
CREATE OR REPLACE FUNCTION acs__remove_user(
remove_user__user_id integer
) RETURNS integer AS $$
DECLARE
v_rec record;
begin
BEGIN
delete
from acs_permissions
where grantee_id = remove_user__user_id;
......@@ -121,17 +122,27 @@ begin
perform acs_user__delete(remove_user__user_id);
return 0;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
create function acs__magic_object_id (varchar)
returns integer as '
declare
magic_object_id__name alias for $1;
begin
-- added
select define_function_args('acs__magic_object_id','name');
--
-- procedure acs__magic_object_id/1
--
CREATE OR REPLACE FUNCTION acs__magic_object_id(
magic_object_id__name varchar
) RETURNS integer AS $$
DECLARE
BEGIN
return object_id
from acs_magic_objects
where name = magic_object_id__name;
end;' language 'plpgsql' stable strict;
END;
$$ LANGUAGE plpgsql stable strict;
-- ******************************************************************
-- * Community Core API
......@@ -182,33 +193,40 @@ where o.object_id = pa.party_id
-- The very first thing we must do is create the security_context_root
-- object.
create function inline_0 ()
returns integer as '
declare
--
-- procedure inline_0/0
--
CREATE OR REPLACE FUNCTION inline_0(
) RETURNS integer AS $$
DECLARE
root_id integer;
begin
BEGIN
root_id := acs_object__new (
-4,
''acs_object'',
'acs_object',
now(),
null,
null,
null,
''t'',
''#acs-kernel.lt_Security_context_root#'',
't',
'#acs-kernel.lt_Security_context_root#',
null
);
insert into acs_magic_objects
(name, object_id)
values
(''security_context_root'', -4);
('security_context_root', -4);
return root_id;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
select inline_0 ();
......@@ -245,11 +263,17 @@ end;
-- Now create our special groups and users. We can not create the
-- relationships between these entities yet. This is done in acs-install.sql
create function inline_2 ()
returns integer as '
declare
--
-- procedure inline_2/0
--
CREATE OR REPLACE FUNCTION inline_2(
) RETURNS integer AS $$
DECLARE
v_object_id integer;
begin
BEGIN
-- Make an "Unregistered Visitor" as object 0, which corresponds
-- with the user_id assigned throughout the toolkit Tcl code
......@@ -257,7 +281,7 @@ begin
insert into acs_objects
(object_id, object_type, title)
values
(0, ''user'', ''#acs-kernel.Unregistered_Visitor#'');
(0, 'user', '#acs-kernel.Unregistered_Visitor#');
insert into parties
(party_id)
......@@ -267,96 +291,104 @@ begin
insert into persons
(person_id, first_names, last_name)
values
(0, ''#acs-kernel.Unregistered#'', ''#acs-kernel.Visitor#'');
(0, '#acs-kernel.Unregistered#', '#acs-kernel.Visitor#');
insert into users
(user_id, username)
values
(0, ''guest'');
(0, 'guest');
insert into acs_magic_objects
(name, object_id)
values
(''unregistered_visitor'', 0);
('unregistered_visitor', 0);
v_object_id := acs_group__new (
-1,
''group'',
'group',
now(),
null,
null,
null,
null,
''#acs-kernel.The_Public#'',
''closed'',
'#acs-kernel.The_Public#',
'closed',
null
);
insert into acs_magic_objects
(name, object_id)
values
(''the_public'', -1);
('the_public', -1);
-- Add our only user, the Unregistered Visitor, to The Public
-- group.
perform membership_rel__new (
null,
''membership_rel'',
acs__magic_object_id(''the_public''),
acs__magic_object_id(''unregistered_visitor''),
''approved'',
'membership_rel',
acs__magic_object_id('the_public'),
acs__magic_object_id('unregistered_visitor'),
'approved',
null,
null);
return 0;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
select inline_2 ();
drop function inline_2 ();
create function inline_3 ()
returns integer as '
declare
--
-- procedure inline_3/0
--
CREATE OR REPLACE FUNCTION inline_3(
) RETURNS integer AS $$
DECLARE
group_id integer;
begin
BEGIN
-- We will create the registered users group with type group for the moment
-- because the application_group package has not yet been created.
group_id := acs_group__new (
-2,
''group'',
'group',
now(),
null,
null,
null,
null,
''#acs-kernel.Registered_Users#'',
''closed'',
'#acs-kernel.Registered_Users#',
'closed',
null
);
insert into acs_magic_objects
(name, object_id)
values
(''registered_users'', -2);
('registered_users', -2);
-- Now declare "The Public" to be composed of itself and the "Registered
-- Users" group
perform composition_rel__new (
null,
''composition_rel'',
acs__magic_object_id(''the_public''),
acs__magic_object_id(''registered_users''),
'composition_rel',
acs__magic_object_id('the_public'),
acs__magic_object_id('registered_users'),
null,
null);
return 0;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
select inline_3 ();
......
......@@ -8,22 +8,28 @@
-- @cvs-id $Id$
--
create function inline_0 ()
returns integer as '
declare
--
-- procedure inline_0/0
--
CREATE OR REPLACE FUNCTION inline_0(
) RETURNS integer AS $$
DECLARE
node_id site_nodes.node_id%TYPE;
main_site_id site_nodes.node_id%TYPE;
begin
BEGIN
main_site_id := apm_service__new(
null,
''#acs-kernel.Main_Site#'',
''acs-subsite'',
''apm_service'',
'#acs-kernel.Main_Site#',
'acs-subsite',
'apm_service',
now(),
null,
null,
acs__magic_object_id(''default_context'')
acs__magic_object_id('default_context')
);
......@@ -35,65 +41,66 @@ begin
(-2, main_site_id);
update acs_objects
set object_type = ''application_group'',
set object_type = 'application_group',
context_id = main_site_id
where object_id = -2;
insert into group_rels
(group_rel_id, group_id, rel_type)
select nextval(''t_acs_object_id_seq''), -2, ''admin_rel'';
select nextval('t_acs_object_id_seq'), -2, 'admin_rel';
-- Create the members and admins rel segments
perform rel_segment__new(
null,
''rel_segment'',
'rel_segment',
now(),
null,
null,
null,
null,
''#acs-kernel.Main_Site_Members#'',
'#acs-kernel.Main_Site_Members#',
-2,
''membership_rel'',
'membership_rel',
null
);
perform rel_segment__new(
null,
''rel_segment'',
'rel_segment',
now(),
null,
null,
null,
null,
''#acs-kernel.lt_Main_Site_Administrat#'',
'#acs-kernel.lt_Main_Site_Administrat#',
-2,
''admin_rel'',
'admin_rel',
null
);
node_id := site_node__new (
null,
null,
'''',
'',
main_site_id,
''t'',
''t'',
't',
't',
null,
null
);
perform acs_permission__grant_permission (
main_site_id,
acs__magic_object_id(''the_public''),
''read''
acs__magic_object_id('the_public'),
'read'
);
return null;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
select inline_0 ();
......
......@@ -52,67 +52,103 @@ create table acs_logs (
-- create or replace package body acs_log
-- procedure notice
create function acs_log__notice (varchar,varchar)
returns integer as '
declare
notice__log_key alias for $1;
notice__message alias for $2;
begin
-- added
select define_function_args('acs_log__notice','log_key,message');
--
-- procedure acs_log__notice/2
--
CREATE OR REPLACE FUNCTION acs_log__notice(
notice__log_key varchar,
notice__message varchar
) RETURNS integer AS $$
DECLARE
BEGIN
insert into acs_logs
(log_id, log_level, log_key, message)
values
(nextval(''t_acs_log_id_seq''), ''notice'', notice__log_key, notice__message);
(nextval('t_acs_log_id_seq'), 'notice', notice__log_key, notice__message);
return 0;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
-- procedure warn
create function acs_log__warn (varchar,varchar)
returns integer as '
declare
warn__log_key alias for $1;
warn__message alias for $2;
begin
-- added
select define_function_args('acs_log__warn','log_key,message');
--
-- procedure acs_log__warn/2
--
CREATE OR REPLACE FUNCTION acs_log__warn(
warn__log_key varchar,
warn__message varchar
) RETURNS integer AS $$
DECLARE
BEGIN
insert into acs_logs
(log_id, log_level, log_key, message)
values
(nextval(''t_acs_log_id_seq''), ''warn'', warn__log_key, warn__message);
(nextval('t_acs_log_id_seq'), 'warn', warn__log_key, warn__message);
return 0;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
-- procedure error
create function acs_log__error (varchar,varchar)
returns integer as '
declare
error__log_key alias for $1;
error__message alias for $2;
begin
-- added
select define_function_args('acs_log__error','log_key,message');
--
-- procedure acs_log__error/2
--
CREATE OR REPLACE FUNCTION acs_log__error(
error__log_key varchar,
error__message varchar
) RETURNS integer AS $$
DECLARE
BEGIN
insert into acs_logs
(log_id, log_level, log_key, message)
values
(nextval(''t_acs_log_id_seq''), ''error'', error__log_key, error__message);
(nextval('t_acs_log_id_seq'), 'error', error__log_key, error__message);
return 0;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
-- procedure debug
create function acs_log__debug (varchar,varchar)
returns integer as '
declare
debug__log_key alias for $1;
debug__message alias for $2;
begin
-- added
select define_function_args('acs_log__debug','log_key,message');
--
-- procedure acs_log__debug/2
--
CREATE OR REPLACE FUNCTION acs_log__debug(
debug__log_key varchar,
debug__message varchar
) RETURNS integer AS $$
DECLARE
BEGIN
insert into acs_logs
(log_id, log_level, log_key, message)
values
(nextval(''t_acs_log_id_seq''), ''debug'', debug__log_key, debug__message);
(nextval('t_acs_log_id_seq'), 'debug', debug__log_key, debug__message);
return 0;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
......
This diff is collapsed.
-- moved from site-wide search to acs-kernel
create or replace function acs_object_util__object_type_exist_p (varchar)
returns boolean as '
declare
p_object_type alias for $1;
v_exist_p boolean := ''t'';
begin
select (case when count(*)=1 then ''t'' else ''f'' end) into v_exist_p
-- added
select define_function_args('acs_object_util__object_type_exist_p','object_type');
--
-- procedure acs_object_util__object_type_exist_p/1
--
CREATE OR REPLACE FUNCTION acs_object_util__object_type_exist_p(
p_object_type varchar
) RETURNS boolean AS $$
DECLARE
v_exist_p boolean := 't';
BEGIN
select (case when count(*)=1 then 't' else 'f' end) into v_exist_p
from acs_object_types
where object_type = p_object_type;
return v_exist_p;
end;' language 'plpgsql' stable;
END;
$$ LANGUAGE plpgsql stable;
create or replace function acs_object_util__get_object_type (integer)
returns varchar as '
declare
p_object_id alias for $1;
-- added
select define_function_args('acs_object_util__get_object_type','object_id');
--
-- procedure acs_object_util__get_object_type/1
--
CREATE OR REPLACE FUNCTION acs_object_util__get_object_type(
p_object_id integer
) RETURNS varchar AS $$
DECLARE
v_object_type varchar(100);
begin
BEGIN
select object_type into v_object_type
from acs_objects
where object_id = p_object_id;
if not found then
raise exception ''acs_object_util__get_object_type: Invalid Object id: % '', p_object_id;
raise exception 'acs_object_util__get_object_type: Invalid Object id: % ', p_object_id;
end if;
return v_object_type;
end;' language 'plpgsql' stable;
END;
$$ LANGUAGE plpgsql stable;
create or replace function acs_object_util__type_ancestor_type_p (varchar,varchar)
returns boolean as '
declare
p_object_type1 alias for $1;
p_object_type2 alias for $2;
begin
-- added
select define_function_args('acs_object_util__type_ancestor_type_p','object_type1,object_type2');
--
-- procedure acs_object_util__type_ancestor_type_p/2
--
CREATE OR REPLACE FUNCTION acs_object_util__type_ancestor_type_p(
p_object_type1 varchar,
p_object_type2 varchar
) RETURNS boolean AS $$
DECLARE
BEGIN
if not acs_object_util__object_type_exist_p(p_object_type1) then
raise exception ''Object type % does not exist'', p_object_type1;
raise exception 'Object type % does not exist', p_object_type1;
end if;
if not acs_object_util__object_type_exist_p(p_object_type2) then
raise exception ''Object type % does not exist'', p_object_type2;
raise exception 'Object type % does not exist', p_object_type2;
end if;
return exists (select 1
......@@ -55,32 +81,51 @@ begin
where p_object_type2 = o2.object_type
and o1.object_type = p_object_type1
and o1.tree_sortkey between o2.tree_sortkey and tree_right(o2.tree_sortkey));
end;' language 'plpgsql' stable;
END;
$$ LANGUAGE plpgsql stable;
-- added
select define_function_args('acs_object_util__object_ancestor_type_p','object_id,object_type');
create or replace function acs_object_util__object_ancestor_type_p (integer,varchar)
returns boolean as '
declare
p_object_id alias for $1;
p_object_type alias for $2;
v_exist_p boolean := ''f'';
--
-- procedure acs_object_util__object_ancestor_type_p/2
--
CREATE OR REPLACE FUNCTION acs_object_util__object_ancestor_type_p(
p_object_id integer,
p_object_type varchar
) RETURNS boolean AS $$
DECLARE
v_exist_p boolean := 'f';
v_object_type varchar(100);
begin
BEGIN
v_object_type := acs_object_util__get_object_type (p_object_id);
v_exist_p := acs_object_util__type_ancestor_type_p (v_object_type, p_object_type);
return v_exist_p;
end;' language 'plpgsql' stable;
END;
$$ LANGUAGE plpgsql stable;
-- added
select define_function_args('acs_object_util__object_type_p','object_id,object_type');
create or replace function acs_object_util__object_type_p (integer,varchar)
returns boolean as '
declare
p_object_id alias for $1;
p_object_type alias for $2;
v_exist_p boolean := ''f'';
begin
--
-- procedure acs_object_util__object_type_p/2
--
CREATE OR REPLACE FUNCTION acs_object_util__object_type_p(
p_object_id integer,
p_object_type varchar
) RETURNS boolean AS $$
DECLARE
v_exist_p boolean := 'f';
BEGIN
v_exist_p := acs_object_util__object_ancestor_type_p(p_object_id, p_object_type);
return v_exist_p;
end;' language 'plpgsql' stable;
END;
$$ LANGUAGE plpgsql stable;
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -30,34 +30,35 @@ drop table apm_applications;
drop table apm_packages;
drop table apm_package_types;
create function inline_0 () returns integer as '
begin
CREATE OR REPLACE FUNCTION inline_0 () RETURNS integer AS $$
BEGIN
PERFORM acs_object_type__drop_type (
''apm_package'', ''f''
'apm_package', 'f'
);
PERFORM acs_object_type__drop_type (
''apm_application'', ''f''
'apm_application', 'f'
);
PERFORM acs_object_type__drop_type (
''apm_service'', ''f''
'apm_service', 'f'
);
PERFORM acs_object_type__drop_type (
''apm_package_version'', ''f''
'apm_package_version', 'f'
);
PERFORM acs_object_type__drop_type (
''apm_parameter_value'', ''f''
'apm_parameter_value', 'f'
);
PERFORM acs_object_type__drop_type (
''apm_parameter'', ''f''
'apm_parameter', 'f'
);
return null;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
select inline_0 ();
......
......@@ -10,20 +10,27 @@
-- @cvs-id $Id$
--
create function inline_0 ()
returns integer as '
declare
--
-- procedure inline_0/0
--
CREATE OR REPLACE FUNCTION inline_0(
) RETURNS integer AS $$
DECLARE
row record;
begin
BEGIN
for row in select authority_id from auth_authorities
loop
perform authority__del(row.authority_id);
end loop;
perform acs_object_type__drop_type(''authority'', ''t'');
perform acs_object_type__drop_type('authority', 't');
return 1;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
select inline_0 ();
drop function inline_0();
......
......@@ -3,50 +3,42 @@
-- @author Peter Marklund
-- @creation-date 2003-08-21
create or replace function authority__new (
integer, -- authority_id
varchar, -- object_type
varchar, -- short_name
varchar, -- pretty_name
boolean, -- enabled_p
integer, -- sort_order
integer, -- auth_impl_id
integer, -- pwd_impl_id
varchar, -- forgotten_pwd_url
varchar, -- change_pwd_url
integer, -- register_impl_id
varchar, -- register_url
varchar, -- help_contact_text
integer, -- creation_user
varchar, -- creation_ip
integer -- context_id
)
returns integer as '
declare
p_authority_id alias for $1; -- default null,
p_object_type alias for $2; -- default ''authority''
p_short_name alias for $3;
p_pretty_name alias for $4;
p_enabled_p alias for $5; -- default ''t''
p_sort_order alias for $6;
p_auth_impl_id alias for $7; -- default null
p_pwd_impl_id alias for $8; -- default null
p_forgotten_pwd_url alias for $9; -- default null
p_change_pwd_url alias for $10; -- default null
p_register_impl_id alias for $11; -- default null
p_register_url alias for $12; -- default null
p_help_contact_text alias for $13; -- default null,
p_creation_user alias for $14; -- default null
p_creation_ip alias for $15; -- default null
p_context_id alias for $16; -- default null
-- added
select define_function_args('authority__new','authority_id;null,object_type;authority,short_name,pretty_name,enabled_p;t,sort_order,auth_impl_id;null,pwd_impl_id;null,forgotten_pwd_url;null,change_pwd_url;null,register_impl_id;null,register_url;null,help_contact_text;null,creation_user;null,creation_ip;null,context_id;null');
--
-- procedure authority__new/16
--
CREATE OR REPLACE FUNCTION authority__new(
p_authority_id integer, -- default null,
p_object_type varchar, -- default 'authority'
p_short_name varchar,
p_pretty_name varchar,
p_enabled_p boolean, -- default 't'
p_sort_order integer,
p_auth_impl_id integer, -- default null
p_pwd_impl_id integer, -- default null
p_forgotten_pwd_url varchar, -- default null
p_change_pwd_url varchar, -- default null
p_register_impl_id integer, -- default null
p_register_url varchar, -- default null
p_help_contact_text varchar, -- default null,
p_creation_user integer, -- default null
p_creation_ip varchar, -- default null
p_context_id integer -- default null
) RETURNS integer AS $$
DECLARE
v_authority_id integer;
v_object_type varchar;
v_sort_order integer;
begin
BEGIN
if p_object_type is null then
v_object_type := ''authority'';
v_object_type := 'authority';
else
v_object_type := p_object_type;
end if;
......@@ -66,7 +58,7 @@ begin
p_creation_user,
p_creation_ip,
p_context_id,
''t'',
't',
p_short_name,
null
);
......@@ -81,19 +73,25 @@ begin
p_help_contact_text);
return v_authority_id;
end;
' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
create or replace function authority__del (integer)
returns integer as '
declare
p_authority_id alias for $1;
begin
delete from auth_driver_params
where authority_id = p_authority_id;
-- added
select define_function_args('authority__del','authority_id');
--
-- procedure authority__del/1
--
CREATE OR REPLACE FUNCTION authority__del(
p_authority_id integer
) RETURNS integer AS $$
DECLARE
BEGIN
perform acs_object__delete(p_authority_id);
return 0;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -9,13 +9,14 @@
--
\t
create function inline_0 () returns integer as '
begin
CREATE OR REPLACE FUNCTION inline_0 () RETURNS integer AS $$
BEGIN
PERFORM acs_object_type__drop_type(
''journal_entry'', ''f''
'journal_entry', 'f'
);
return null;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
select inline_0 ();
drop function inline_0 ();
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
......@@ -14,9 +14,10 @@ begin
PERFORM rel_segment__delete(r.segment_id);
end loop;
PERFORM acs_object_type__drop_type(''rel_segment'');
PERFORM acs_object_type__drop_type('rel_segment');
return null;
end;' language 'plpgsql';
END;
$$ LANGUAGE plpgsql;
select inline_0 ();
drop view party_element_map;
......
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment