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;