Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-extlink.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-extlink.sql,v diff -u -N -r1.2 -r1.3 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-extlink.sql 28 Mar 2001 02:15:10 -0000 1.2 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-extlink.sql 2 Apr 2001 05:35:29 -0000 1.3 @@ -64,7 +64,7 @@ insert into cr_extlinks (extlink_id, url, label, description) values - (v_extlink_id, new__url, v_label, new__description); + (v_extlink_id, new__url, v_label, coalesce(new__description,'''')); return v_extlink_id; Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-folder.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-folder.sql,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-folder.sql 30 Mar 2001 05:31:33 -0000 1.7 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-folder.sql 2 Apr 2001 05:35:29 -0000 1.8 @@ -11,6 +11,27 @@ -- http://www.fsf.org/copyleft/gpl.html -- create or replace package body content_folder + +create function content_folder__new(varchar,varchar,varchar,integer) +returns integer as ' +declare + new__name alias for $1; + new__label alias for $2; + new__description alias for $3; + new__parent_id alias for $4; +begin + return content_folder__new(new__name, + new__label, + new__description, + new__parent_id, + null, + null, + now(), + null, + null + ); + +end;' language 'plpgsql'; -- function new create function content_folder__new (varchar,varchar,varchar,integer,integer,integer,timestamp,integer,varchar) returns integer as ' @@ -26,6 +47,7 @@ new__creation_ip alias for $9; v_folder_id cr_folders.folder_id%TYPE; v_context_id acs_objects.context_id%TYPE; + registered_p boolean; begin -- set the context_id @@ -35,6 +57,10 @@ v_context_id := new__context_id; end if; + registered_p := content_folder__is_registered(new__parent_id,''content_folder'',''f''); + raise NOTICE ''parent_id = %, registered_p = %'', + new__parent_id, registered_p; + -- parent_id = 0 means that this is a mount point if new__parent_id != 0 and content_folder__is_registered(new__parent_id,''content_folder'',''f'') = ''f'' then @@ -66,7 +92,7 @@ insert into cr_folders ( folder_id, label, description ) values ( - v_folder_id, new__label, new__description + v_folder_id, coalesce(new__label,''''), coalesce(new__description,'''') ); -- inherit the attributes of the parent folder @@ -361,15 +387,9 @@ item_id alias for $1; begin - select 1 from cr_folders + return count(*) > 0 from cr_folders where folder_id = item_id; - if NOT FOUND then - return ''f''; - else - return ''t''; - end if; - end;' language 'plpgsql'; Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-item.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-item.sql,v diff -u -N -r1.6 -r1.7 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-item.sql 1 Apr 2001 18:25:55 -0000 1.6 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-item.sql 2 Apr 2001 05:35:29 -0000 1.7 @@ -193,7 +193,7 @@ insert into cr_child_rels ( rel_id, parent_id, child_id, relation_tag, order_n ) values ( - v_rel_id, v_parent_id, v_item_id, v_rel_tag, v_item_id + v_rel_id, v_parent_id, v_item_id, coalesce(v_rel_tag,''''), v_item_id ); end if; @@ -244,7 +244,7 @@ end if; end if; - -- make the revision live if is_live is ''t'' + -- make the revision live if is_live is true if new__is_live = ''t'' then PERFORM content_item__set_live_revision(v_revision_id); end if; @@ -769,13 +769,14 @@ v_rel_parent_id integer default 0; v_rel_tree_level integer default 0; v_path varchar default ''''; + v_rec record; begin -- check that the item exists select count(*) into v_count from cr_items where item_id = get_path__item_id; if v_count = 0 then - raise EXCEPTION ''-20000: Invalid item ID: %'', item_id; + raise EXCEPTION ''-20000: Invalid item ID: %'', get_path__item_id; end if; -- begin walking down the path to the item (from the repository root) @@ -816,32 +817,51 @@ v_path := ''../''; end if; - else - - -- this is an absolute path so prepend a ''/'' - v_path := ''/''; + -- loop over the remainder of the absolute path - -- prime the pump to be consistent with relative path execution plan - fetch c_abs_cur into v_name, v_parent_id, v_tree_level; + loop - end if; + v_path := v_path || v_name; - -- loop over the remainder of the absolute path + fetch c_abs_cur into v_name, v_parent_id, v_tree_level; - loop + exit when c_abs_cur%NOTFOUND; - v_path := v_path || v_name; + v_path := v_path || ''/''; - fetch c_abs_cur into v_name, v_parent_id, v_tree_level; + end loop; - exit when c_abs_cur%NOTFOUND; + else - v_path := v_path || ''/''; + -- select name, level as tree_level from cr_items where parent_id <> 0 + -- connect by prior parent_id = item_id start with + -- item_id = get_path__item_id order by tree_level desc + + -- this is an absolute path so prepend a ''/'' + -- prime the pump to be consistent with relative path execution plan + -- loop over the remainder of the absolute path - end loop; + for v_rec in select + i2.name, tree_level(i2.tree_sortkey) as tree_level + from + cr_items i1, cr_items i2 + where + i2.parent_id <> 0 + and + i1.item_id = get_path__item_id + and + i2.tree_sortkey <= i1.tree_sortkey + and + i1.tree_sortkey like (i2.tree_sortkey || ''%'') + order by + tree_level desc + LOOP + v_path := v_path || ''/'' || v_rec.name; + end loop; - return v_path; + end if; + return v_path; end;' language 'plpgsql'; @@ -1078,11 +1098,11 @@ -- procedure set_live_revision -create function content_item__set_live_revision (integer,varchar) +create function content_item__set_live_revision (integer) returns integer as ' declare - set_live_revision__revision_id alias for $1; - set_live_revision__publish_status alias for $2; + set_live_revision__revision_id alias for $1; + set_live_revision__publish_status cr_items.publish_status%TYPE default ''ready''; begin update @@ -1402,25 +1422,29 @@ declare get_latest_revision__item_id alias for $1; v_revision_id integer; + v_rec record; begin + for v_rec in select r.revision_id - into - v_revision_id from cr_revisions r, acs_objects o where r.revision_id = o.object_id and r.item_id = get_latest_revision__item_id order by - o.creation_date desc; + o.creation_date desc + LOOP + v_revision_id := v_rec.revision_id; + exit; + end LOOP; if NOT FOUND then return null; end if; - return v_revision_id + return v_revision_id; end;' language 'plpgsql'; @@ -1654,7 +1678,7 @@ rel_id, item_id, related_object_id, order_n, relation_tag ) values ( v_rel_id, relate__item_id, relate__object_id, v_order_n, - relate__relation_tag + coalesce(relate__relation_tag,'''') ); -- if relationship already exists, update it @@ -1768,7 +1792,7 @@ item_id, old_revision, new_revision, old_status, new_status, publish_date ) values ( new.item_id, old.live_revision, new.live_revision, - old.publish_status, new.publish_status, + coalesce(old.publish_status,''''), coalesce(new.publish_status,''''), now() ); Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-keyword.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-keyword.sql,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-keyword.sql 30 Mar 2001 03:03:08 -0000 1.4 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-keyword.sql 2 Apr 2001 05:35:29 -0000 1.5 @@ -82,18 +82,12 @@ is_leaf__keyword_id alias for $1; begin - select - 1 + return + count(*) = 0 from cr_keywords k where k.parent_id = is_leaf__keyword_id; - - if NOT FOUND then - return ''t''; - else - return ''f''; - end if; end;' language 'plpgsql'; @@ -124,7 +118,7 @@ insert into cr_keywords (heading, description, keyword_id, parent_id) values - (new__heading, new__description, v_id, new__parent_id); + (new__heading, coalesce(new__description,''''), v_id, new__parent_id); return v_id; @@ -210,14 +204,9 @@ -- Look for an exact match if is_assigned__recurse = ''none'' then - select 1 from cr_item_keyword_map + return count(*) > 0 from cr_item_keyword_map where item_id = is_assigned__item_id - and keyword_id = is_assigned__keyword_id; - if NOT FOUND then - return ''f''; - else - return ''t''; - end if; + and keyword_id = is_assigned__keyword_id; end if; -- Look from specific to general @@ -232,7 +221,7 @@ -- and -- m.item_id = is_assigned__item_id); - select 1 from dual where exists (select 1 from + return count(*) > 0 from dual where exists (select 1 from (select keyword_id from cr_keywords where tree_sortkey like (select tree_sortkey || ''%'' from cr_keywords @@ -242,12 +231,6 @@ t.keyword_id = m.keyword_id and m.item_id = is_assigned__item_id); - - if NOT FOUND then - return ''f''; - else - return ''t''; - end if; end if; if is_assigned__recurse = ''down'' then @@ -261,7 +244,7 @@ -- and -- m.item_id = is_assigned__item_id); - select 1 from dual where exists ( select 1 from + return count(*) > 0 from dual where exists ( select 1 from (select k2.keyword_id from @@ -278,11 +261,6 @@ and m.item_id = is_assigned__item_id); - if NOT FOUND then - return ''f''; - else - return ''t''; - end if; end if; -- Tried none, up and down - must be an invalid parameter Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-perms.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/Attic/content-perms.sql,v diff -u -N -r1.4 -r1.5 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-perms.sql 30 Mar 2001 03:03:08 -0000 1.4 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-perms.sql 2 Apr 2001 05:35:29 -0000 1.5 @@ -7,13 +7,15 @@ create function inline_0 () returns integer as ' +declare + found_p boolean; begin - select 1 from dual + select count(*) > 0 into found_p from dual where exists (select 1 from acs_privileges where privilege = ''cm_root''); - if NOT FOUND then + if NOT found_p then -- Dummy root privilege PERFORM acs_privilege__create_privilege(''cm_root'', ''Root'', ''Root''); @@ -165,7 +167,7 @@ -- t.object_id, has_revoke_authority__revokee_id, h.privilege -- ) = ''f''; - select 1 from + return count(*) > 0 from (select o2.object_id from acs_objects o1, acs_objects o2 where o1.object_id = has_revoke_authority__object_id @@ -185,12 +187,6 @@ content_permission__permission_p( t.object_id, has_revoke_authority__revokee_id, h.privilege ) = ''f''; - - if NOT FOUND then - return ''f''; - else - return ''t''; - end if; end;' language 'plpgsql'; @@ -387,18 +383,12 @@ create function cm_admin_exists () returns boolean as ' begin - select 1 from dual + return count(*) > 0 from dual where exists ( select 1 from acs_permissions where privilege in (''cm_admin'', ''cm_root'') ); - if NOT FOUND then - return ''f''; - else - return ''t''; - end if; - end;' language 'plpgsql'; -- show errors Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-revision.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-revision.sql,v diff -u -N -r1.7 -r1.8 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-revision.sql 1 Apr 2001 18:25:55 -0000 1.7 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-revision.sql 2 Apr 2001 05:35:29 -0000 1.8 @@ -51,8 +51,10 @@ revision_id, title, description, mime_type, publish_date, nls_language, lob, item_id, storage_type ) values ( - v_revision_id, new__title, new__description, new__mime_type, - new__publish_date, new__nls_language, new__data, new__item_id, ''lob'' + v_revision_id, coalesce(new__title,''''), coalesce(new__description,''''), + new__mime_type, + new__publish_date, coalesce(new__nls_language,''''), new__data, + new__item_id, ''lob'' ); return v_revision_id; @@ -63,7 +65,7 @@ declare new__title alias for $1; new__description alias for $2; - new__publish_data alias for $3; + new__publish_date alias for $3; new__mime_type alias for $4; new__text alias for $5; new__item_id alias for $6; @@ -119,8 +121,10 @@ revision_id, title, description, mime_type, publish_date, nls_language, content, item_id, storage_type, content_length ) values ( - v_revision_id, new__title, new__description, new__mime_type, - new__publish_date, new__nls_language, new__text, new__item_id, ''text'', + v_revision_id, coalesce(new__title,''''), coalesce(new__description,''''), + new__mime_type, + new__publish_date, coalesce(new__nls_language,''''), + coalesce(new__text,''''), new__item_id, ''text'', length(new__text) ); @@ -465,15 +469,9 @@ is_live__revision_id alias for $1; begin - select 1 from cr_items - where live_revision = is_live__revision_id; + return count(*) > 0 from cr_items + where live_revision = is_live__revision_id; - if NOT FOUND then - return ''f''; - else - return ''t''; - end if; - end;' language 'plpgsql'; @@ -484,14 +482,8 @@ is_latest__revision_id alias for $1; begin - select 1 from cr_items + return count(*) > 0 from cr_items where latest_revision = is_latest__revision_id; - - if NOT FOUND then - return ''f''; - else - return ''t''; - end if; end;' language 'plpgsql'; Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-schedule.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-schedule.sql,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-schedule.sql 30 Mar 2001 05:31:33 -0000 1.3 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-schedule.sql 2 Apr 2001 05:35:29 -0000 1.4 @@ -91,7 +91,8 @@ insert into cr_scheduled_release_log ( items_released, items_expired, err_num, err_msg ) values ( - exec__items_released, exec__items_expired, exec__err_num, exec__err_msg + exec__items_released, exec__items_expired, exec__err_num, + coalesce(exec__err_msg,'''') ); -- Reset the last time of execution to start of processing Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-symlink.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-symlink.sql,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-symlink.sql 30 Mar 2001 05:31:33 -0000 1.3 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-symlink.sql 2 Apr 2001 05:35:29 -0000 1.4 @@ -99,7 +99,7 @@ insert into cr_symlinks (symlink_id, target_id, label) values - (v_symlink_id, new__target_id, v_label); + (v_symlink_id, new__target_id, coalesce(v_label,'''')); return v_symlink_id; Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-template.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-template.sql,v diff -u -N -r1.3 -r1.4 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-template.sql 1 Apr 2001 18:25:55 -0000 1.3 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-template.sql 2 Apr 2001 05:35:29 -0000 1.4 @@ -58,7 +58,7 @@ if content_folder__is_folder(new__parent_id) = ''t'' and content_folder__is_registered(new__parent_id,''content_template'',''f'') = ''f'' then - raise EXCEPTION ''-20000: ''This folder does not allow templates to be created''; + raise EXCEPTION ''-20000: This folder does not allow templates to be created''; else v_template_id := content_item__new ( @@ -122,14 +122,8 @@ is_template__template_id alias for $1; begin - select 1 from cr_templates + return count(*) > 0 from cr_templates where template_id = is_template__template_id; - - if NOT FOUND then - return ''f''; - else - return ''t''; - end if; end;' language 'plpgsql'; Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-test.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-test.sql,v diff -u -N -r1.1 -r1.2 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-test.sql 1 Apr 2001 18:25:55 -0000 1.1 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-test.sql 2 Apr 2001 05:35:29 -0000 1.2 @@ -6,6 +6,11 @@ return null; end;' language 'plpgsql'; +create function cast_char(boolean) returns char as ' +begin + return case when $1 then ''t''::varchar else ''f''::varchar end; +end;' language 'plpgsql'; + create function test_content() returns integer as ' declare folder_id cr_folders.folder_id%TYPE; @@ -29,18 +34,21 @@ -- create folders and an item - folder_id := content_folder__new(''grandpa'',''Grandpa'',NULL,-1); - folder_b_id := content_folder__new(''grandma'',''Grandma'',NULL,-1); + folder_id := content_folder__new(''grandpa'',''Grandpa'',NULL,-100); + folder_b_id := content_folder__new(''grandma'',''Grandma'',NULL,-100); + sub_folder_id := content_folder__new(''pa'',''Pa'',NULL,folder_id); + sub_sub_folder_id := content_folder__new(''me'',''Me'',NULL,sub_folder_id); + item_id := content_item__new(''puppy'',sub_sub_folder_id); simple_item_id := content_item__new( ''bunny'', - sub_sub_folder_id + sub_sub_folder_id, ''Bugs Bunny'', ''Simple (Revisionless) Item Test'', - ''Simple (Revisionless) Item Test Text'', + ''Simple (Revisionless) Item Test Text'' ); live_revision_id := content_revision__new( @@ -99,62 +107,62 @@ PERFORM content_test__put_line(''FOLDERS AND EMPTY FOLDERS AND SUBFOLDERS''); PERFORM content_test__put_line(''...all tests passed''); PERFORM content_test__put_line(''Is folder '' || folder_id || '' empty? '' - || content_folder__is_empty(folder_id) + || cast_char(content_folder__is_empty(folder_id)) ); + PERFORM content_test__put_line(''Is folder '' || sub_sub_folder_id || '' empty? '' || - content_folder__is_empty(sub_sub_folder_id) + cast_char(content_folder__is_empty(sub_sub_folder_id)) ); PERFORM content_test__put_line(''Is folder '' || sub_folder_id || '' empty? '' || - content_folder__is_empty(sub_folder_id) + cast_char(content_folder__is_empty(sub_folder_id)) ); PERFORM content_test__put_line(''Is folder '' || folder_b_id || '' empty? '' || - content_folder__is_empty(folder_b_id) + cast_char(content_folder__is_empty(folder_b_id)) ); PERFORM content_test__put_line(''Is folder '' || folder_id || ''? '' || - content_folder__is_folder(folder_id) + cast_char(content_folder__is_folder(folder_id)) ); PERFORM content_test__put_line(''Is folder '' || item_id || ''? '' || - content_folder__is_folder(item_id) + cast_char(content_folder__is_folder(item_id)) ); PERFORM content_test__put_line(''Is '' || folder_id || '' a subfolder of '' || sub_folder_id || ''? '' || - content_folder__is_sub_folder(sub_folder_id, + cast_char(content_folder__is_sub_folder(sub_folder_id, folder_id - ) + )) ); PERFORM content_test__put_line(''Is '' || sub_folder_id || '' a subfolder of '' || folder_id || ''? '' || - content_folder__is_sub_folder(folder_id, + cast_char(content_folder__is_sub_folder(folder_id, sub_folder_id - ) + )) ); PERFORM content_test__put_line(''Is '' || sub_sub_folder_id || '' a subfolder of '' || folder_id || ''? '' || - content_folder__is_sub_folder(folder_id, + cast_char(content_folder__is_sub_folder(folder_id, sub_sub_folder_id - ) + )) ); PERFORM content_test__put_line(''Is '' || sub_folder_id || '' a subfolder of '' || - -- -1 || ''? '' || - content_folder__is_sub_folder(-1, + -1 || ''? '' || + cast_char(content_folder__is_sub_folder(-1, sub_folder_id - ) + )) ); - PERFORM content_test__put_line(''-------------------------------------''); PERFORM content_test__put_line(''LIVE AND LATEST REVISIONS...''); PERFORM content_test__put_line(''...all tests passed''); PERFORM content_test__put_line(''Get live_revision_id for item puppy '' || item_id || '' is '' || - content_item__get_live_revision(item_id) + coalesce(content_item__get_live_revision(item_id)::varchar,''null'') ); PERFORM content_item__set_live_revision(live_revision_id); @@ -169,7 +177,7 @@ ); PERFORM content_test__put_line(''Get live_revision_id for item kitty '' || simple_item_id || '' is '' || - content_item__get_live_revision(simple_item_id) + coalesce(content_item__get_live_revision(simple_item_id)::varchar,''null'') ); PERFORM content_test__put_line(''Get late_revision_id for item puppy '' || item_id || '' is '' || @@ -179,19 +187,21 @@ simple_item_id || '' is '' || content_item__get_latest_revision(simple_item_id) ); - - +/* PERFORM content_item__register_template(item_id, item_template_id, ''public'' ); +*/ PERFORM content_type__register_template(''content_revision'', type_template_id, - ''public'' + ''public'', + ''f'' ); PERFORM content_type__register_template(''content_revision'', def_type_template_id, - ''admin'' + ''admin'', + ''f'' ); PERFORM content_type__register_template(''content_revision'', dum_template_id, @@ -221,9 +231,9 @@ ); PERFORM content_test__put_line(''Get template id for item puppy '' || item_id || '' and context public is '' || - content_item__get_template(item_id, + coalesce(content_item__get_template(item_id, ''public'' - ) + )::varchar,''null'') ); PERFORM content_test__put_line(''Get template id for item puppy '' || item_id || '' and context admin is '' || @@ -232,7 +242,7 @@ ) ); - found_folder_id := content_item__get_id(''grandpa/pa/me'', -1); + found_folder_id := content_item__get_id(''grandpa/pa/me'', -100, ''f''); PERFORM content_test__put_line(''-------------------------------------''); PERFORM content_test__put_line(''LOCATING CONTENT FOLDERS AND ITEMS...''); @@ -241,10 +251,10 @@ found_folder_id ); PERFORM content_test__put_line(''Path for '' || found_folder_id || '' is '' - || content_item__get_path(found_folder_id) + || content_item__get_path(found_folder_id,null) ); PERFORM content_test__put_line(''Path for puppy '' || item_id || '' is '' - || content_item__get_path(item_id) + || content_item__get_path(item_id,null) ); PERFORM content_test__put_line(''Path for puppy '' || item_id || '' from folder_id: '' || folder_id || @@ -296,7 +306,7 @@ content_item__get_path(item_id,folder_b_id) ); - +/* PERFORM content_test__put_line(''-------------------------------------''); PERFORM content_test__put_line(''MOVING/RENAMING CONTENT FOLDERS...''); PERFORM content_test__put_line(''...all tests passed''); @@ -434,7 +444,7 @@ PERFORM content_folder__delete(sub_folder_id); PERFORM content_folder__delete(folder_id); PERFORM content_folder__delete(folder_b_id); - +*/ return null; end;' language 'plpgsql'; Index: openacs-4/packages/acs-content-repository/sql/postgresql/content-type.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-content-repository/sql/postgresql/content-type.sql,v diff -u -N -r1.10 -r1.11 --- openacs-4/packages/acs-content-repository/sql/postgresql/content-type.sql 1 Apr 2001 05:57:53 -0000 1.10 +++ openacs-4/packages/acs-content-repository/sql/postgresql/content-type.sql 2 Apr 2001 05:35:29 -0000 1.11 @@ -688,7 +688,8 @@ parent_type, child_type, relation_tag, min_n, max_n ) values ( register_child_type__parent_type, register_child_type__child_type, - register_child_type__relation_tag, register_child_type__min_n, + coalesce(register_child_type__relation_tag,''''), + register_child_type__min_n, register_child_type__max_n ); @@ -764,7 +765,7 @@ ) values ( register_relation_type__content_type, register_relation_type__target_type, - register_relation_type__relation_tag, + coalesce(register_relation_type__relation_tag,''''), register_relation_type__min_n, register_relation_type__max_n );