Commit c9b29eb2 authored by Frank Bergmann's avatar Frank Bergmann

- Updated SQL files

parent bc1fb759
......@@ -3,7 +3,7 @@
---------------------------------------------------------------------------------
create or replace function inline_0 ()
returns integer as '
returns integer as $body$
DECLARE
row RECORD;
v_count integer;
......@@ -24,23 +24,23 @@ BEGIN
select category_id into v_subject_area_id
from im_categories
where category_type = ''Intranet Translation Subject Area''
where category_type = 'Intranet Translation Subject Area'
and category = row."SpecNm";
select category_id into v_experience_id
from im_categories
where category_type = ''Intranet Experience Level''
where category_type = 'Intranet Experience Level'
and aux_string1 = row."Rating";
select category_id into v_language_id
from im_categories
where category_type = ''Intranet Translation Language''
where category_type = 'Intranet Translation Language'
and aux_string1 = row."LangNmDisplay";
IF row."IsTarget" THEN v_lang_skill_type_id := 2002; END IF;
IF NOT row."IsTarget" THEN v_lang_skill_type_id := 2000; END IF;
RAISE NOTICE ''Skills: pid=%, subj=%, lang=%, lang=%, level=%, fn=%, ln=%'',
RAISE NOTICE 'Skills: pid=%, subj=%, lang=%, lang=%, level=%, fn=%, ln=%',
v_user_id, v_subject_area_id, v_language_id, row."LangNmDisplay",
v_experience_id, row."FirstNm", row."LastNm";
......@@ -57,7 +57,7 @@ BEGIN
and skill_type_id = 2014;
IF 0 = v_count AND v_user_id is not null AND v_subject_area_id is not null THEN
RAISE NOTICE ''Insert Skills: pid=%, subj=%, level=%'',
RAISE NOTICE 'Insert Skills: pid=%, subj=%, level=%',
v_user_id, v_subject_area_id, v_experience_id;
insert into im_freelance_skills (
......@@ -88,7 +88,7 @@ BEGIN
and skill_type_id = v_lang_skill_type_id;
IF 0 = v_count AND v_user_id is not null AND v_subject_area_id is not null THEN
RAISE NOTICE ''Insert Skills: pid=%, subj=%, level=%'',
RAISE NOTICE 'Insert Skills: pid=%, subj=%, level=%',
v_user_id, v_subject_area_id, v_experience_id;
insert into im_freelance_skills (
......@@ -112,7 +112,7 @@ BEGIN
end loop;
return 0;
END;' language 'plpgsql';
END;$body$ language 'plpgsql';
select inline_0 ();
drop function inline_0 ();
......
......@@ -6,7 +6,7 @@
delete from im_trans_prices where provider_price_p = 1;
create or replace function inline_0 ()
returns integer as '
returns integer as $body$
DECLARE
row RECORD;
v_count integer;
......@@ -42,22 +42,22 @@ BEGIN
and r."CurrencyID" = c."CurrencyID"
loop
v_service_name := row.service_name;
-- IF v_service_name = ''Proofreading'' THEN v_service_name := ''Copy writing''; END IF;
-- IF v_service_name = ''Rewriting'' THEN v_service_name := ''Copy writing''; END IF;
IF v_service_name = '''' THEN v_service_name := ''''; END IF;
IF v_service_name = '''' THEN v_service_name := ''''; END IF;
-- IF v_service_name = 'Proofreading' THEN v_service_name := 'Copy writing'; END IF;
-- IF v_service_name = 'Rewriting' THEN v_service_name := 'Copy writing'; END IF;
IF v_service_name = '' THEN v_service_name := ''; END IF;
IF v_service_name = '' THEN v_service_name := ''; END IF;
v_note_text := ''Service:'' ||
v_note_text := 'Service:' ||
row.service_name
|| '', UoM:'' ||
|| ', UoM:' ||
row."RateTypeNm"
|| '', Lang:'' ||
|| ', Lang:' ||
row."LangNmDisplay"
|| '', Rate:'' ||
|| ', Rate:' ||
row."TranServiceRate"
|| '', Min:'' ||
|| ', Min:' ||
row."TranMinimum"
|| '', Curr:'' ||
|| ', Curr:' ||
row.currency_code;
select company_id into v_company_id
......@@ -66,20 +66,20 @@ BEGIN
select category_id into v_project_type_id
from im_categories
where category_type = ''Intranet Project Type''
where category_type = 'Intranet Project Type'
and aux_string1 = v_service_name;
select category_id into v_uom_id
from im_categories
where category_type = ''Intranet UoM''
where category_type = 'Intranet UoM'
and aux_string1 = row."RateTypeNm";
select category_id into v_lang_id
from im_categories
where category_type = ''Intranet Translation Language''
where category_type = 'Intranet Translation Language'
and aux_string1 = row."LangNmDisplay";
RAISE NOTICE ''Rate: comp=%, ptype=%, uom=%, lang=%, cur=%, service=%, rate_type=%, lang=%'',
RAISE NOTICE 'Rate: comp=%, ptype=%, uom=%, lang=%, cur=%, service=%, rate_type=%, lang=%',
v_company_id, v_project_type_id, v_uom_id, v_lang_id, row.currency_code,
row.service_name, row."RateTypeNm", row."LangID";
......@@ -102,7 +102,7 @@ BEGIN
and currency = row.currency_code
;
RAISE NOTICE ''Insert: %, %, %, %, %, %, %'',
RAISE NOTICE 'Insert: %, %, %, %, %, %, %',
v_uom_id, v_company_id, v_project_type_id, v_lang_id,
row.currency_code, row."TranServiceRate", v_note_text;
......@@ -115,7 +115,7 @@ BEGIN
note,
provider_rate_p
) values (
nextval(''im_trans_prices_seq''),
nextval('im_trans_prices_seq'),
v_uom_id, v_company_id, v_project_type_id,
v_lang_id, null,
row.currency_code,
......@@ -140,7 +140,7 @@ BEGIN
ELSE
RAISE NOTICE ''Discarded Rate: comp=%, ptype=%, uom=%, lang=%, cur=%, service=%, rate_type=%, lang=%'',
RAISE NOTICE 'Discarded Rate: comp=%, ptype=%, uom=%, lang=%, cur=%, service=%, rate_type=%, lang=%',
v_company_id, v_project_type_id, v_uom_id, v_lang_id, row.currency_code,
row.service_name, row."RateTypeNm", row."LangID";
......@@ -150,6 +150,6 @@ BEGIN
end loop;
return 0;
END;' language 'plpgsql';
END;$body$ language 'plpgsql';
select inline_0 ();
drop function inline_0 ();
......@@ -79,7 +79,7 @@ add status_type_table character varying(30);
-- Find out the status and type of business objects in a generic way
CREATE OR REPLACE FUNCTION im_biz_object__get_type_id (integer)
RETURNS integer AS '
RETURNS integer AS $BODY$
DECLARE
p_object_id alias for $1;
......@@ -101,7 +101,7 @@ BEGIN
and o.object_type = ot.object_type;
-- Check if the object has a supertype and update table necessary
WHILE v_table is null AND ''acs_object'' != v_supertype AND ''im_biz_object'' != v_supertype LOOP
WHILE v_table is null AND 'acs_object' != v_supertype AND 'im_biz_object' != v_supertype LOOP
select ot.supertype, ot.table_name
into v_supertype, v_table
from acs_object_types ot
......@@ -117,8 +117,8 @@ BEGIN
END IF;
-- Funny way, but this is the only option to EXECUTE in PG 8.0 and below.
v_query := '' select '' || v_type_column || '' as result_id '' || '' from '' || v_table ||
'' where '' || v_id_column || '' = '' || p_object_id;
v_query := ' select ' || v_type_column || ' as result_id ' || ' from ' || v_table ||
' where ' || v_id_column || ' = ' || p_object_id;
FOR row IN EXECUTE v_query
LOOP
v_result_id := row.result_id;
......@@ -126,7 +126,7 @@ BEGIN
END LOOP;
return v_result_id;
END;' language 'plpgsql';
END; $BODY$ language 'plpgsql';
-- Get the object status for generic objects
......@@ -138,7 +138,7 @@ END;' language 'plpgsql';
-- statement to extract this information.
---
CREATE OR REPLACE FUNCTION im_biz_object__get_status_id (integer)
RETURNS integer AS '
RETURNS integer AS $BODY$
DECLARE
p_object_id alias for $1;
......@@ -161,7 +161,7 @@ BEGIN
-- In the case that the information about should not be set up correctly:
-- Check if the object has a supertype and update table and id_column if necessary
WHILE v_status_table is null AND ''acs_object'' != v_supertype AND ''im_biz_object'' != v_supertype LOOP
WHILE v_status_table is null AND 'acs_object' != v_supertype AND 'im_biz_object' != v_supertype LOOP
select ot.supertype, ot.status_type_table, ot.id_column
into v_supertype, v_status_table, v_status_table_id_col
from acs_object_types ot
......@@ -178,8 +178,8 @@ BEGIN
END IF;
-- Funny way, but this is the only option to get a value from an EXECUTE in PG 8.0 and below.
v_query := '' select '' || v_status_column || '' as result_id '' || '' from '' || v_status_table ||
'' where '' || v_status_table_id_col || '' = '' || p_object_id;
v_query := ' select ' || v_status_column || ' as result_id ' || ' from ' || v_status_table ||
' where ' || v_status_table_id_col || ' = ' || p_object_id;
FOR row IN EXECUTE v_query
LOOP
v_result_id := row.result_id;
......@@ -187,7 +187,7 @@ BEGIN
END LOOP;
return v_result_id;
END;' language 'plpgsql';
END; $BODY$ language 'plpgsql';
......@@ -195,7 +195,7 @@ END;' language 'plpgsql';
-- Set the status of Biz Objects in a generic way
CREATE OR REPLACE FUNCTION im_biz_object__set_status_id (integer, integer) RETURNS integer AS '
CREATE OR REPLACE FUNCTION im_biz_object__set_status_id (integer, integer) RETURNS integer AS $BODY$
DECLARE
p_object_id alias for $1;
p_status_id alias for $2;
......@@ -212,7 +212,7 @@ BEGIN
and o.object_type = ot.object_type;
-- Check if the object has a supertype and update table and id_column if necessary
WHILE ''acs_object'' != v_supertype AND ''im_biz_object'' != v_supertype LOOP
WHILE 'acs_object' != v_supertype AND 'im_biz_object' != v_supertype LOOP
select ot.supertype, ot.table_name, ot.id_column
into v_supertype, v_table, v_id_column
from acs_object_types ot
......@@ -220,7 +220,7 @@ BEGIN
END LOOP;
IF v_table is null OR v_id_column is null OR v_column is null THEN
RAISE NOTICE ''im_biz_object__set_status_id: Bad metadata: Null value for %'',v_object_type;
RAISE NOTICE 'im_biz_object__set_status_id: Bad metadata: Null value for %',v_object_type;
return 0;
END IF;
......@@ -228,23 +228,23 @@ BEGIN
set last_modified = now()
where object_id = p_object_id;
EXECUTE ''update ''||v_table||'' set ''||v_column||''=''||p_status_id||
'' where ''||v_id_column||''=''||p_object_id;
EXECUTE 'update '||v_table||' set '||v_column||'='||p_status_id||
' where '||v_id_column||'='||p_object_id;
return 0;
END;' language 'plpgsql';
END; $BODY$ language 'plpgsql';
-- compatibility for WF calls
CREATE OR REPLACE FUNCTION im_biz_object__set_status_id (integer, varchar, integer) RETURNS integer AS '
CREATE OR REPLACE FUNCTION im_biz_object__set_status_id (integer, varchar, integer) RETURNS integer AS $BODY$
DECLARE
p_object_id alias for $1;
p_dummy alias for $2;
p_status_id alias for $3;
BEGIN
return im_biz_object__set_status_id (p_object_id, p_status_id::integer);
END;' language 'plpgsql';
END; $BODY$ language 'plpgsql';
......@@ -309,7 +309,7 @@ CREATE TABLE im_biz_object_tree_status (
--- Business Object PL/SQL API
--
create or replace function im_biz_object__new (integer,varchar,timestamptz,integer,varchar,integer)
returns integer as '
returns integer as $body$
declare
p_object_id alias for $1;
p_object_type alias for $2;
......@@ -331,11 +331,11 @@ begin
insert into im_biz_objects (object_id) values (v_object_id);
return v_object_id;
end;' language 'plpgsql';
end; $body$ language 'plpgsql';
-- Delete a single object (if we know its ID...)
create or replace function im_biz_object__delete (integer)
returns integer as '
returns integer as $body$
declare
object_id alias for $1;
v_object_id integer;
......@@ -346,16 +346,16 @@ begin
PERFORM acs_object.del(del.object_id);
return 0;
end;' language 'plpgsql';
end; $body$ language 'plpgsql';
create or replace function im_biz_object__name (integer)
returns varchar as '
returns varchar as $body$
declare
object_id alias for $1;
begin
return "undefined for im_biz_object";
end;' language 'plpgsql';
end; $body$ language 'plpgsql';
-- Function to determine the type_id of a "im_biz_object".
......@@ -363,7 +363,7 @@ end;' language 'plpgsql';
-- new "Biz Objects" to be added to the system...
create or replace function im_biz_object__type (integer)
returns integer as '
returns integer as $body$
declare
p_object_id alias for $1;
v_object_type varchar;
......@@ -379,14 +379,14 @@ begin
-- Initialize the return value
v_biz_object_type_id = null;
IF ''im_project'' = v_object_type THEN
IF 'im_project' = v_object_type THEN
select project_type_id
into v_biz_object_type_id
from im_projects
where project_id = p_object_id;
ELSIF ''im_company'' = v_object_type THEN
ELSIF 'im_company' = v_object_type THEN
select company_type_id
into v_biz_object_type_id
......@@ -397,7 +397,7 @@ begin
return v_biz_object_type_id;
end;' language 'plpgsql';
end; $body$ language 'plpgsql';
......@@ -521,8 +521,10 @@ create unique index im_biz_object_groups_un on im_biz_object_groups (coalesce(bi
select define_function_args('im_biz_object_group__new','group_id,group_name,email,url,last_modified;now(),modifying_ip,object_type;im_biz_object_group,context_id,creation_user,creation_date;now(),creation_ip,join_policy,biz_object_id');
create or replace function im_biz_object_group__new(integer,varchar,varchar,varchar,timestamptz,varchar,varchar,integer,integer,timestamptz,varchar,varchar,integer)
returns integer as $$
create or replace function im_biz_object_group__new(
integer,varchar,varchar,varchar,timestamptz,varchar,
varchar,integer,integer,timestamptz,varchar,varchar,integer
) returns integer as $$
declare
p_group_id alias for $1;
p_group_name alias for $2;
......@@ -581,9 +583,8 @@ end;$$ language 'plpgsql';
-- New version of the PlPg/SQL routine with percentage parameter
--
create or replace function im_biz_object_member__new (
integer, varchar, integer, integer, integer, numeric, integer, varchar)
returns integer as '
create or replace function im_biz_object_member__new (integer, varchar, integer, integer, integer, numeric, integer, varchar)
returns integer as $body$
DECLARE
p_rel_id alias for $1; -- null
p_rel_type alias for $2; -- im_biz_object_member
......@@ -628,14 +629,14 @@ BEGIN
);
return v_rel_id;
end;' language 'plpgsql';
end; $body$ language 'plpgsql';
-- Downward compatibility - offers the same API as before
-- with percentage = null
create or replace function im_biz_object_member__new (
integer, varchar, integer, integer, integer, integer, varchar)
returns integer as '
returns integer as $body$
DECLARE
p_rel_id alias for $1; -- null
p_rel_type alias for $2; -- im_biz_object_member
......@@ -655,7 +656,7 @@ BEGIN
p_creation_user,
p_creation_ip
);
end;' language 'plpgsql';
end; $body$ language 'plpgsql';
......@@ -663,7 +664,7 @@ end;' language 'plpgsql';
create or replace function im_biz_object_member__delete (integer, integer)
returns integer as '
returns integer as $body$
DECLARE
p_object_id alias for $1;
p_user_id alias for $2;
......@@ -681,7 +682,7 @@ BEGIN
PERFORM acs_rel__delete(v_rel_id);
return 0;
end;' language 'plpgsql';
end; $body$ language 'plpgsql';
......
......@@ -106,7 +106,7 @@ create index im_cat_hierarchy_child_id_idx on im_category_hierarchy(child_id);
-- Some helper functions to make our queries easier to read
create or replace function im_category_from_id (integer)
returns varchar as '
returns varchar as $body$
DECLARE
p_category_id alias for $1;
v_category varchar(50);
......@@ -117,7 +117,7 @@ BEGIN
where category_id = p_category_id;
return v_category;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
-------------------------------------------------------------
......@@ -125,9 +125,8 @@ end;' language 'plpgsql';
-------------------------------------------------------------
create or replace function im_sub_categories (
integer
) returns setof integer as '
create or replace function im_sub_categories (integer)
returns setof integer as $body$
declare
p_cat alias for $1;
v_cat integer;
......@@ -144,16 +143,15 @@ BEGIN
END LOOP;
RETURN;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
-- Test query
-- select * from im_sub_categories(81);
create or replace function im_category_parents (
integer
) returns setof integer as $body$
create or replace function im_category_parents (integer)
returns setof integer as $body$
declare
p_cat alias for $1;
v_cat integer;
......@@ -169,7 +167,6 @@ BEGIN
LOOP
RETURN NEXT row.category_id;
END LOOP;
RETURN;
end;$body$ language 'plpgsql';
......@@ -179,9 +176,8 @@ end;$body$ language 'plpgsql';
-- isn't correct.
-- ToDo: Pull out the real top-level parent
--
create or replace function im_category_min_parent (
integer
) returns integer as $body$
create or replace function im_category_min_parent (integer)
returns integer as $body$
declare
p_cat alias for $1;
v_cat integer;
......@@ -197,17 +193,11 @@ BEGIN
end;$body$ language 'plpgsql';
-- Test query
select * from im_category_parents(81);
create or replace function im_category_path_to_category (integer)
returns varchar as $body$
BEGIN
RETURN im_category_path_to_category($1,0);
END;
$body$ language 'plpgsql';
END;$body$ language 'plpgsql';
create or replace function im_category_path_to_category (integer, integer)
......@@ -260,9 +250,8 @@ select im_category_path_to_category (83);
-------------------------------------------------------------
CREATE OR REPLACE FUNCTION im_category_new (
integer, varchar, varchar, varchar
) RETURNS integer as '
CREATE OR REPLACE FUNCTION im_category_new (integer, varchar, varchar, varchar)
RETURNS integer as $body$
DECLARE
p_category_id alias for $1;
p_category alias for $2;
......@@ -280,25 +269,24 @@ BEGIN
values (p_category_id, p_category, p_category_type, p_description);
RETURN 0;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
CREATE OR REPLACE FUNCTION im_category_new (
integer, varchar, varchar
) RETURNS integer as '
CREATE OR REPLACE FUNCTION im_category_new (integer, varchar, varchar)
RETURNS integer as $body$
DECLARE
p_category_id alias for $1;
p_category alias for $2;
p_category_type alias for $3;
BEGIN
RETURN im_category_new(p_category_id, p_category, p_category_type, NULL);
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
-- Compatibility for Malte
-- ToDo: Remove
CREATE OR REPLACE FUNCTION im_category__new (
integer, varchar, varchar, varchar
) RETURNS integer as '
CREATE OR REPLACE FUNCTION im_category__new (integer, varchar, varchar, varchar)
RETURNS integer as $body$
DECLARE
p_category_id alias for $1;
p_category alias for $2;
......@@ -306,12 +294,11 @@ DECLARE
p_description alias for $4;
BEGIN
RETURN im_category_new(p_category_id, p_category, p_category_type, p_description);
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
CREATE OR REPLACE FUNCTION im_category_hierarchy_new (
integer, integer
) RETURNS integer as '
CREATE OR REPLACE FUNCTION im_category_hierarchy_new (integer, integer)
RETURNS integer as $body$
DECLARE
p_child_id alias for $1;
p_parent_id alias for $2;
......@@ -320,12 +307,12 @@ DECLARE
v_count integer;
BEGIN
IF p_child_id is null THEN
RAISE NOTICE ''im_category_hierarchy_new: bad category 1: "%" '',p_child_id;
RAISE NOTICE 'im_category_hierarchy_new: bad category 1: "%" ',p_child_id;
return 0;
END IF;
IF p_parent_id is null THEN
RAISE NOTICE ''im_category_hierarchy_new: bad category 2: "%" '',p_parent_id;
RAISE NOTICE 'im_category_hierarchy_new: bad category 2: "%" ',p_parent_id;
return 0;
END IF;
IF p_child_id = p_parent_id THEN return 0; END IF;
......@@ -347,12 +334,11 @@ BEGIN
END LOOP;
RETURN 0;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
CREATE OR REPLACE FUNCTION im_category_hierarchy_new (
varchar, varchar, varchar
) RETURNS integer as '
CREATE OR REPLACE FUNCTION im_category_hierarchy_new (varchar, varchar, varchar)
RETURNS integer as $body$
DECLARE
p_child alias for $1;
p_parent alias for $2;
......@@ -364,22 +350,19 @@ BEGIN
select category_id into v_child_id from im_categories
where category = p_child and category_type = p_cat_type;
IF v_child_id is null THEN
RAISE NOTICE ''im_category_hierarchy_new: bad category 1: "%" '',p_child;
RAISE NOTICE 'im_category_hierarchy_new: bad category 1: "%" ',p_child;
return 0;
END IF;
select category_id into v_parent_id from im_categories
where category = p_parent and category_type = p_cat_type;
IF v_parent_id is null THEN
RAISE NOTICE ''im_category_hierarchy_new: bad category 2: "%" '',p_parent;
RAISE NOTICE 'im_category_hierarchy_new: bad category 2: "%" ',p_parent;
return 0;
END IF;
return im_category_hierarchy_new (v_child_id, v_parent_id);
RETURN 0;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
......
......@@ -143,7 +143,7 @@ create table im_companies (
create or replace function im_company__new (
integer, varchar, timestamptz, integer, varchar, integer,
varchar, varchar, integer, integer, integer
) returns integer as '
) returns integer as $body$
DECLARE
p_company_id alias for $1;
p_object_type alias for $2;
......@@ -187,10 +187,11 @@ BEGIN
where office_id = p_main_office_id;
return v_company_id;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
create or replace function im_company__delete (integer) returns integer as '
create or replace function im_company__delete (integer)
returns integer as $body$
DECLARE
p_company_id alias for $1;
......@@ -222,10 +223,11 @@ BEGIN
PERFORM acs_object__delete(p_company_id);
return 0;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
create or replace function im_company__name (integer) returns varchar as '
create or replace function im_company__name (integer)
returns varchar as $body$
DECLARE
p_company_id alias for $1;
v_name varchar;
......@@ -236,19 +238,20 @@ BEGIN
where company_id = p_company_id;
return v_name;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
-- Returns a TCL list of company_id suitable to stuff into a
-- TCL hash array of all companies associated to a specific user.
create or replace function im_company_list_for_user_html (integer) returns varchar as '
create or replace function im_company_list_for_user_html (integer)
returns varchar as $body$
DECLARE
p_user_id alias for $1;
v_html varchar;
row RECORD;
BEGIN
v_html := '''';
v_html := '';
FOR row IN
select c.company_id
from im_companies c,
......@@ -258,10 +261,10 @@ BEGIN
order by
lower(c.company_name)
LOOP
IF '''' != v_html THEN v_html := v_html || '' ''; END IF;
IF '' != v_html THEN v_html := v_html || ' '; END IF;
v_html := v_html || row.company_id;
END LOOP;
return v_html;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
This diff is collapsed.
......@@ -13,30 +13,27 @@
-- FITNESS FOR A PARTICULAR PURPOSE.
-- See the GNU General Public License for more details.
--
-- @author unknown@arsdigita.com
-- @author frank.bergmann@project-open.com
-- @author unknown@arsdigita.com
-- @author frank.bergmann@project-open.com
-----------------------------------------------------------
-- Cleanup Projects
-- Needs to happen _before_ removing permissions etc.
--
create or replace function inline_0 ()
returns integer as '
returns integer as $body$
DECLARE
row RECORD;
row RECORD;
BEGIN
for row in
select cons.constraint_id
from rel_constraints cons, rel_segments segs
where
segs.segment_id = cons.required_rel_segment
loop
rel_segment__delete(row.constraint_id);
end loop;
return 0;
END;' language 'plpgsql';
for row in
select cons.constraint_id
from rel_constraints cons, rel_segments segs
where segs.segment_id = cons.required_rel_segment
loop
rel_segment__delete(row.constraint_id);
end loop;
return 0;
END;$body$ language 'plpgsql';
select inline_0 ();
drop function inline_0 ();
......@@ -46,21 +43,19 @@ drop function inline_0 ();
-- Cleanup users
-- ------------------------------------------------------------
create or replace function inline_0 ()
returns integer as '
returns integer as $body$
DECLARE
row RECORD;
row RECORD;
BEGIN
for row in
select party_id
from parties
where email like ''%project-open.com''
loop
acs.remove_user(row.party_id);
end loop;
return 0;
END;' language 'plpgsql';
for row in
select party_id
from parties
where email like '%project-open.com'
loop
acs.remove_user(row.party_id);
end loop;
return 0;
END;$body$ language 'plpgsql';
select inline_0 ();
drop function inline_0 ();
......@@ -71,7 +66,6 @@ drop function inline_0 ();
-- ------------------------------------------------------------
delete from im_project_url_map;
delete from im_url_types;
delete from im_projects;
--delete from im_project_status; (this is a view, cannot delete)
......@@ -141,21 +135,19 @@ select im_drop_profile ('Senior Managers');
select im_drop_profile ('Accounting');
create or replace function inline_0 ()
returns integer as '
returns integer as $body$
DECLARE
row RECORD;
row RECORD;
BEGIN
for row in
select profile_id
from im_profiles
loop
PERFORM im_profile__delete(row.profile_id);
end loop;
return 0;
END;' language 'plpgsql';
for row in
select profile_id
from im_profiles
loop
PERFORM im_profile__delete(row.profile_id);
end loop;
return 0;
END;$body$ language 'plpgsql';
select inline_0 ();
drop function inline_0 ();
......@@ -199,18 +191,17 @@ select acs_object_type__drop_type ('im_profile', 'f');
-- before remove priviliges remove granted permissions
create or replace function inline_revoke_permission (varchar)
returns integer as '
returns integer as $body$
DECLARE
p_priv_name alias for $1;
BEGIN
lock table acs_permissions_lock;
delete from acs_permissions
where privilege = p_priv_name;
lock table acs_permissions_lock;
return 0;
delete from acs_permissions
where privilege = p_priv_name;
end;' language 'plpgsql';
return 0;
end;$body$ language 'plpgsql';
......@@ -331,18 +322,18 @@ drop table im_views;
--
create or replace function inline_0 ()
returns integer as '
returns integer as $body$
DECLARE
row RECORD;
row RECORD;
BEGIN
for row in
select project_id
from im_projects
loop
im_project__delete(row.project_id);
end loop;
return 0;
END;' language 'plpgsql';
for row in
select project_id
from im_projects
loop
im_project__delete(row.project_id);
end loop;
return 0;
END;$body$ language 'plpgsql';
select inline_0 ();
drop function inline_0 ();
......@@ -370,18 +361,18 @@ select acs_object_type__drop_type ('im_project', 'f');
--
create or replace function inline_0 ()
returns integer as '
returns integer as $body$
DECLARE
row RECORD;
row RECORD;
BEGIN
for row in
select company_id
from im_companies
loop
im_company__delete(row.company_id);
end loop;
return 0;
END;' language 'plpgsql';
for row in
select company_id
from im_companies
loop
im_company__delete(row.company_id);
end loop;
return 0;
END;$body$ language 'plpgsql';
select inline_0 ();
drop function inline_0 ();
......@@ -449,3 +440,4 @@ drop view im_office_status;
drop view im_biz_object_role;
drop table im_categories;
......@@ -37,7 +37,7 @@ create table country_codes (
create or replace function im_country_from_code (varchar)
returns varchar as '
returns varchar as $body$
DECLARE
p_cc alias for $1;
v_country varchar;
......@@ -48,7 +48,7 @@ BEGIN
where iso = p_cc;
return v_country;
END;' language 'plpgsql';
END;$body$ language 'plpgsql';
......
This diff is collapsed.
This diff is collapsed.
......@@ -17,7 +17,8 @@
-- Determine the default locale for the user
create or replace function acs_lang_get_locale_for_user (integer) returns text as '
create or replace function acs_lang_get_locale_for_user (integer)
returns text as $body$
declare
p_user_id alias for $1;
......@@ -36,9 +37,9 @@ begin
select package_id
into v_acs_lang_package_id
from apm_packages
where package_key = ''acs-lang'';
where package_key = 'acs-lang';
v_locale := apm__get_value (v_acs_lang_package_id, ''SiteWideLocale'');
v_locale := apm__get_value (v_acs_lang_package_id, 'SiteWideLocale');
END IF;
-- Partial locale - lookup complete one
......@@ -46,23 +47,24 @@ begin
select locale into v_locale
from ad_locales
where language = v_locale
and enabled_p = ''t''
and (default_p = ''t''
and enabled_p = 't'
and (default_p = 't'
or (select count(*) from ad_locales where language = v_locale) = 1
);
END IF;
-- Default: English
IF v_locale is null THEN
v_locale := ''en_US'';
v_locale := 'en_US';
END IF;
return v_locale;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
-- Determine the message string for (locale, package_key, message_key):
create or replace function acs_lang_lookup_message (text, text, text) returns text as $body$
create or replace function acs_lang_lookup_message (text, text, text)
returns text as $body$
declare
p_locale alias for $1;
p_package_key alias for $2;
......
......@@ -13,8 +13,8 @@
-- FITNESS FOR A PARTICULAR PURPOSE.
-- See the GNU General Public License for more details.
--
-- @author unknown@arsdigita.com
-- @author frank.bergmann@project-open.com
-- @author unknown@arsdigita.com
-- @author frank.bergmann@project-open.com
--------------------------------------------------------------
......@@ -91,8 +91,8 @@ create table im_offices (
constraint im_offices_cont_per_fk
references users,
landlord text,
--- who supplies the security service, the code for
--- the door, etc.
--- who supplies the security service, the code for
--- the door, etc.
security text,
note text
);
......@@ -101,22 +101,22 @@ create table im_offices (
create or replace function im_office__new (
integer, varchar, timestamptz, integer, varchar, integer,
varchar, varchar, integer, integer, integer
) returns integer as '
) returns integer as $body$
declare
p_office_id alias for $1;
p_object_type alias for $2;
p_creation_date alias for $3;
p_creation_user alias for $4;
p_creation_ip alias for $5;
p_context_id alias for $6;
p_office_name alias for $7;
p_office_path alias for $8;
p_office_type_id alias for $9;
p_office_status_id alias for $10;
p_company_id alias for $11;
v_object_id integer;
p_office_id alias for $1;
p_object_type alias for $2;
p_creation_date alias for $3;
p_creation_user alias for $4;
p_creation_ip alias for $5;
p_context_id alias for $6;
p_office_name alias for $7;
p_office_path alias for $8;
p_office_type_id alias for $9;
p_office_status_id alias for $10;
p_company_id alias for $11;
v_object_id integer;
begin
v_object_id := acs_object__new (
p_office_id,
......@@ -139,11 +139,12 @@ begin
insert into im_biz_objects (object_id) values (v_object_id);
return v_object_id;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
-- Delete a single office (if we know its ID...)
create or replace function im_office__delete (integer) returns integer as '
create or replace function im_office__delete (integer)
returns integer as $body$
DECLARE
v_office_id alias for $1;
BEGIN
......@@ -161,9 +162,10 @@ BEGIN
PERFORM acs_object__delete(v_office_id);
return 0;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
create or replace function im_office__name (integer) returns varchar as '
create or replace function im_office__name (integer)
returns varchar as $body$
DECLARE
p_office_id alias for $1;
v_name im_offices.office_name%TYPE;
......@@ -174,5 +176,5 @@ BEGIN
where office_id = p_office_id;
return v_name;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
......@@ -36,7 +36,7 @@ where parameter_id in (
-----------------------------------------------------
create or replace function acs_privilege__create_privilege (varchar,varchar,varchar)
returns integer as '
returns integer as $body$
declare
create_privilege__privilege alias for $1;
create_privilege__pretty_name alias for $2; -- default null
......@@ -56,11 +56,11 @@ begin
);
return 0;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
create or replace function acs_privilege__add_child (varchar,varchar)
returns integer as '
returns integer as $body$
declare
add_child__privilege alias for $1;
add_child__child_privilege alias for $2;
......@@ -74,13 +74,13 @@ BEGIN
values (add_child__privilege, add_child__child_privilege);
return 0;
END;' language 'plpgsql';
END;$body$ language 'plpgsql';
CREATE OR REPLACE FUNCTION ad_group_member_p(integer, integer)
RETURNS character AS '
RETURNS character AS $body$
DECLARE
p_user_id alias for $1;
p_group_id alias for $2;
......@@ -94,15 +94,15 @@ BEGIN
r.rel_id = mr.rel_id
and object_id_one = p_group_id
and object_id_two = p_user_id
and mr.member_state = ''approved''
and mr.member_state = 'approved'
;
if ad_group_member_count = 0 then
return ''f'';
return 'f';
else
return ''t'';
return 't';
end if;
END;' LANGUAGE 'plpgsql';
END;$body$ LANGUAGE 'plpgsql';
......@@ -110,31 +110,31 @@ END;' LANGUAGE 'plpgsql';
-- Portrait Fields
--
create or replace function inline_0 ()
returns integer as '
returns integer as $body$
declare
v_count integer;
begin
select count(*) into v_count from user_tab_columns
where lower(table_name) = ''persons'' and lower(column_name) = ''portrait_checkdate'';
where lower(table_name) = 'persons' and lower(column_name) = 'portrait_checkdate';
if v_count = 1 then return 0; end if;
alter table persons add portrait_checkdate date;
alter table persons add portrait_file varchar(400);
return 0;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
select inline_0 ();
drop function inline_0 ();
-- Extend the OpenACS type system
create or replace function inline_0 ()
returns integer as '
returns integer as $body$
DECLARE
v_count integer;
BEGIN
select count(*) into v_count from user_tab_columns
where lower(table_name) = ''acs_object_types'' and lower(column_name) = ''status_column'';
where lower(table_name) = 'acs_object_types' and lower(column_name) = 'status_column';
IF v_count > 0 THEN return 0; END IF;
alter table acs_object_types
......@@ -147,7 +147,7 @@ BEGIN
add status_type_table character varying(30);
return 0;
end;' language 'plpgsql';
end;$body$ language 'plpgsql';
select inline_0();
drop function inline_0();
......@@ -155,18 +155,18 @@ drop function inline_0();
-- Add a "skin" field to users table
create or replace function inline_0 ()
returns integer as '
returns integer as $body$
DECLARE
v_count integer;
BEGIN
select count(*) into v_count from user_tab_columns
where lower(table_name) = ''users'' and lower(column_name) = ''skin'';
where lower(table_name) = 'users' and lower(column_name) = 'skin';
IF v_count > 0 THEN return 0; END IF;
alter table users add skin int not null default 0;
return 0;
end;' language 'plpgsql';
end;$body$ 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.
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