Index: openacs-4/packages/acs-kernel/acs-kernel.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/acs-kernel.info,v diff -u -r1.68 -r1.69 --- openacs-4/packages/acs-kernel/acs-kernel.info 12 Jul 2004 14:49:47 -0000 1.68 +++ openacs-4/packages/acs-kernel/acs-kernel.info 24 Jul 2004 14:44:54 -0000 1.69 @@ -7,15 +7,15 @@ t t - + Don Baccus Routines and data models providing the foundation for OpenACS-based Web services. 2004-04-18 GPL 3 OpenACS The OpenACS kernel contains the core datamodel create and drop scripts for such things as objects, groups, partiies and the supporting PL/SQL and PL/pgSQL procedures. - + 2 Index: openacs-4/packages/acs-kernel/sql/postgresql/apm-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/postgresql/apm-create.sql,v diff -u -r1.58 -r1.59 --- openacs-4/packages/acs-kernel/sql/postgresql/apm-create.sql 1 Jul 2004 11:29:17 -0000 1.58 +++ openacs-4/packages/acs-kernel/sql/postgresql/apm-create.sql 24 Jul 2004 14:44:55 -0000 1.59 @@ -1213,15 +1213,18 @@ returns integer as ' declare package_key alias for $1; - cascade_p alias for $2; -- default ''t'' + p_cascade_p alias for $2; -- default ''t'' + v_cascade_p boolean; begin if cascade_p is null then - cascade_p := ''t''; + v_cascade_p := ''t''; + else + v_cascade_p := p_cascade_p; end if; PERFORM apm_package_type__drop_type( package_key, - cascade_p + v_cascade_p ); return 0; @@ -1278,11 +1281,18 @@ returns integer as ' declare package_key alias for $1; - cascade_p alias for $2; -- default ''f'' + p_cascade_p alias for $2; -- default ''f'' + v_cascade_p boolean; begin + if p_cascade_p is null then + v_cascade_p := ''f''; + else + v_cascade_p := p_cascade_p; + end if; + PERFORM apm__unregister_package ( - package_key, - cascade_p + package_key, + v_cascade_p ); return 0; @@ -1322,16 +1332,19 @@ create or replace function apm__unregister_service (varchar,boolean) returns integer as ' declare - package_key alias for $1; - cascade_p alias for $2; -- default ''f'' + package_key alias for $1; + p_cascade_p alias for $2; -- default ''f'' + v_cascade_p boolean; begin - if cascade_p is null then - cascade_p := ''f''; + if p_cascade_p is null then + v_cascade_p := ''f''; + else + v_cascade_p := p_cascade_p; end if; PERFORM apm__unregister_package ( package_key, - cascade_p + v_cascade_p ); return 0; Index: openacs-4/packages/acs-kernel/sql/postgresql/lob.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/postgresql/lob.sql,v diff -u -r1.4 -r1.5 --- openacs-4/packages/acs-kernel/sql/postgresql/lob.sql 1 Jul 2004 11:29:17 -0000 1.4 +++ openacs-4/packages/acs-kernel/sql/postgresql/lob.sql 24 Jul 2004 14:44:55 -0000 1.5 @@ -91,9 +91,10 @@ v_rec record; v_data text default ''''; begin - for v_rec in select data, segment from lob_data where lob_id = p_lob_id order by segment; + for v_rec in select data, segment from lob_data where lob_id = p_lob_id order by segment + loop v_data := v_data || v_rec.data; - end if; + end loop; return v_data; Index: openacs-4/packages/acs-kernel/sql/postgresql/postgresql.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/postgresql/postgresql.sql,v diff -u -r1.35 -r1.36 --- openacs-4/packages/acs-kernel/sql/postgresql/postgresql.sql 17 Mar 2004 15:29:08 -0000 1.35 +++ openacs-4/packages/acs-kernel/sql/postgresql/postgresql.sql 24 Jul 2004 14:44:55 -0000 1.36 @@ -265,28 +265,28 @@ end;' language 'plpgsql' stable strict; create view acs_func_defs as -select get_func_definition(proname,proargtypes) as definition, +select get_func_definition(proname::varchar,proargtypes) as definition, proname as fname from pg_proc; create view acs_func_headers as -select get_func_header(proname,proargtypes) as definition, +select get_func_header(proname::varchar,proargtypes) as definition, proname as fname from pg_proc; ---------------------------------------------------------------------------- create function inline_0 () returns integer as ' -- Create a bitfromint4(integer) function if it doesn''t exists. --- Due to a bug in PG 7.3 this function is absent in PG 7.3. +-- This function is no longer present in 7.3 and above declare v_bitfromint4_count integer; begin select into v_bitfromint4_count count(*) from pg_proc where proname = ''bitfromint4''; if v_bitfromint4_count = 0 then create or replace function bitfromint4 (integer) returns bit varying as '' begin - return "bit"($1); + return $1::bit(32); end;'' language ''plpgsql'' immutable strict; end if; return 1; @@ -297,7 +297,7 @@ create function inline_1 () returns integer as ' -- Create a bitfromint4(integer) function if it doesn''t exists. --- Due to a bug in PG 7.3 this function is absent in PG 7.3. +-- This function is no longer present in 7.3 and above declare v_bittoint4_count integer; begin Index: openacs-4/packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.2.0d5-5.2.0d6.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.2.0d5-5.2.0d6.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/acs-kernel/sql/postgresql/upgrade/upgrade-5.2.0d5-5.2.0d6.sql 24 Jul 2004 14:44:55 -0000 1.1 @@ -0,0 +1,94 @@ +-- +-- Fix some things that break on pg7.5 +-- + +-- assignment to cascade_p failed in these 3 functions + +create or replace function apm__unregister_package (varchar,boolean) +returns integer as ' +declare + package_key alias for $1; + p_cascade_p alias for $2; -- default ''t'' + v_cascade_p boolean; +begin + if cascade_p is null then + v_cascade_p := ''t''; + else + v_cascade_p := p_cascade_p; + end if; + + PERFORM apm_package_type__drop_type( + package_key, + v_cascade_p + ); + + return 0; +end;' language 'plpgsql'; + +create or replace function apm__unregister_application (varchar,boolean) +returns integer as ' +declare + package_key alias for $1; + p_cascade_p alias for $2; -- default ''f'' + v_cascade_p boolean; +begin + if p_cascade_p is null then + v_cascade_p := ''f''; + else + v_cascade_p := p_cascade_p; + end if; + + PERFORM apm__unregister_package ( + package_key, + v_cascade_p + ); + + return 0; +end;' language 'plpgsql'; + +create or replace function apm__unregister_service (varchar,boolean) +returns integer as ' +declare + package_key alias for $1; + p_cascade_p alias for $2; -- default ''f'' + v_cascade_p boolean; +begin + if p_cascade_p is null then + v_cascade_p := ''f''; + else + v_cascade_p := p_cascade_p; + end if; + + PERFORM apm__unregister_package ( + package_key, + v_cascade_p + ); + + return 0; +end;' language 'plpgsql'; + + +-- syntax error in old function + +create or replace function lob_get_data(integer) returns text as ' +declare + p_lob_id alias for $1; + v_rec record; + v_data text default ''''; +begin + for v_rec in select data, segment from lob_data where lob_id = p_lob_id order by segment + loop + v_data := v_data || v_rec.data; + end loop; + + return v_data; + +end;' language 'plpgsql'; + + +-- bit changed so "bit"($1) no longer existed. use ::bit(32) which does. + +create or replace function bitfromint4 (integer) returns bit varying as ' +begin + return $1::bit(32); +end;' language 'plpgsql' immutable strict;