Forum OpenACS Q&A: Error when using content_type__create_type

I'm trying to learn how the CR works by following Jade Rubick's tutorial.
I run into problems right at the beginning, when using the content_type__create_type function.

When issuing:
SELECT content_type__create_type (
'control_tarea',
'content_revision',
'Tarea',
'Tareas',
'todo_item_revisions',
'tarea_revision_id',
'content_revision.revision_name'
);

I get the following error:
ERROR: column "v_revision_id" does not exist
LINE 20: ...todo_item_revisions ( tarea_revision_id ) values (v_revision...
^
QUERY: create rule todo_item_revisions_r as on insert to todo_item_revisionsi do instead (
update cr_dummy set val = (
select content_revision__new(
new.title,
new.description,
now(),
new.mime_type,
new.nls_language,
case when new.text is null
then new.data
else new.text
end,
content_symlink__resolve(new.item_id),
new.revision_id,
now(),
new.creation_user,
new.creation_ip,
new.object_package_id
));
insert into todo_item_revisions ( tarea_revision_id ) values (v_revision_id); );
CONTEXT: PL/pgSQL function "content_type__refresh_trigger" line 73 at EXECUTE statement
SQL statement "SELECT content_type__refresh_trigger( $1 )"
PL/pgSQL function "content_type__refresh_view" line 95 at PERFORM
SQL statement "SELECT content_type__refresh_view( $1 )"
PL/pgSQL function "content_type__create_type" line 54 at PERFORM

I have the HEAD OpenACS version installed. My database is Postgresql 8.4.

I've read somewhere in the forums that Malte Sussdorff has commented on this, but I have been unable to find his posting.
Do I need to patch acs-content-repository to use it with Postgresql 8.4?

Thanks in advance for any hints.

Michael

Collapse
Posted by Michael Martí Menzel on
Solved. I got the wrong version of "content_type__refresh_trigger". I got the wrong object model update script order. When you order them by date, it seems to me that you get the incorrect order. Thus I wrote the correct version of this function with a previous one.
Collapse
Posted by Michael Martí Menzel on
Sorry, here "Thus I wrote the correct version of this function with a previous one." I meant "Thus I replaced the correct version of this function with a previous one."