Index: openacs-4/packages/bookshelf/bookshelf.info =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bookshelf/bookshelf.info,v diff -u -r1.2 -r1.3 --- openacs-4/packages/bookshelf/bookshelf.info 11 Dec 2003 21:39:58 -0000 1.2 +++ openacs-4/packages/bookshelf/bookshelf.info 25 Mar 2004 16:03:26 -0000 1.3 @@ -7,7 +7,7 @@ f f - + oracle postgresql @@ -16,8 +16,7 @@ Share your bookshelf with others. Store commentary on books with an interface to amazon to retrieve thumbnails and other book data - - + Index: openacs-4/packages/bookshelf/sql/postgresql/bookshelf-books-package-create.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bookshelf/sql/postgresql/bookshelf-books-package-create.sql,v diff -u -r1.2 -r1.3 --- openacs-4/packages/bookshelf/sql/postgresql/bookshelf-books-package-create.sql 3 Oct 2002 12:17:56 -0000 1.2 +++ openacs-4/packages/bookshelf/sql/postgresql/bookshelf-books-package-create.sql 25 Mar 2004 16:03:26 -0000 1.3 @@ -9,7 +9,7 @@ select define_function_args ('bookshelf_book__new', 'book_id,object_type;bookshelf_book,package_id,isbn,book_author,book_title,main_entry,additional_entry,excerpt,publish_status,read_status,creation_date,creation_user,creation_ip,context_id'); -create function bookshelf_book__new ( +create or replace function bookshelf_book__new ( integer, -- book_id varchar, -- object_type integer, -- package_id @@ -59,7 +59,10 @@ v_creation_date, p_creation_user, p_creation_ip, - coalesce(p_context_id, p_package_id) + coalesce(p_context_id, p_package_id), + ''t'', + p_book_title, + p_package_id ); select coalesce(max(book_no),0) + 1 @@ -84,7 +87,7 @@ select define_function_args ('bookshelf_book__delete', 'message_id'); -create function bookshelf_book__delete (integer) +create or replace function bookshelf_book__delete (integer) returns integer as ' declare p_book_id alias for $1; @@ -100,7 +103,7 @@ select define_function_args('bookshelf_book__name','book_id'); -create function bookshelf_book__name (integer) +create or replace function bookshelf_book__name (integer) returns varchar as ' declare p_book_id alias for $1; @@ -112,7 +115,7 @@ -create function bookshelf_book__read_status_sort_order( +create or replace function bookshelf_book__read_status_sort_order( varchar -- read_status ) returns integer as ' @@ -134,7 +137,7 @@ -create function bookshelf_book__read_status_pretty( +create or replace function bookshelf_book__read_status_pretty( varchar -- read_status ) returns varchar as ' @@ -155,7 +158,7 @@ -create function bookshelf_book__pub_status_sort_order( +create or replace function bookshelf_book__pub_status_sort_order( varchar -- publish_status ) returns integer as ' @@ -176,7 +179,7 @@ -create function bookshelf_book__pub_status_pretty( +create or replace function bookshelf_book__pub_status_pretty( varchar -- publish_status ) returns varchar as ' Index: openacs-4/packages/bookshelf/sql/postgresql/upgrade/upgrade-0.2-0.3.sql =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/bookshelf/sql/postgresql/upgrade/upgrade-0.2-0.3.sql,v diff -u --- /dev/null 1 Jan 1970 00:00:00 -0000 +++ openacs-4/packages/bookshelf/sql/postgresql/upgrade/upgrade-0.2-0.3.sql 25 Mar 2004 16:03:26 -0000 1.1 @@ -0,0 +1,73 @@ +-- propigate package_id, title to acs_objects +create or replace function bookshelf_book__new ( + integer, -- book_id + varchar, -- object_type + integer, -- package_id + varchar, -- isbn + text, -- book_author + text, -- book_title + text, -- main_entry + text, -- additional_entry + text, -- excerpt + varchar, -- publish_status + varchar, -- read_status + date, -- creation_date + integer, -- creation_user + varchar, -- creation_ip + integer -- context_id +) +returns integer as ' +declare + p_book_id alias for $1; + p_object_type alias for $2; + p_package_id alias for $3; + p_isbn alias for $4; + p_book_author alias for $5; + p_book_title alias for $6; + p_main_entry alias for $7; + p_additional_entry alias for $8; + p_excerpt alias for $9; + p_publish_status alias for $10; + p_read_status alias for $11; + p_creation_date alias for $12; + p_creation_user alias for $13; + p_creation_ip alias for $14; + p_context_id alias for $15; + v_book_id integer; + v_book_no integer; + v_creation_date date; +begin + if p_creation_date is null then + v_creation_date := now(); + else + v_creation_date := p_creation_date; + end if; + + v_book_id := acs_object__new( + p_book_id, + p_object_type, + v_creation_date, + p_creation_user, + p_creation_ip, + coalesce(p_context_id, p_package_id), + ''t'', + p_book_title, + p_package_id + ); + + select coalesce(max(book_no),0) + 1 + into v_book_no + from bookshelf_books + where package_id = p_package_id; + + insert into bookshelf_books + (book_id, book_no, isbn, book_author, book_title, main_entry, additional_entry, excerpt, + publish_status, read_status, package_id) + values + (v_book_id, v_book_no, p_isbn, p_book_author, p_book_title, p_main_entry, p_additional_entry, p_excerpt, + p_publish_status, p_read_status, p_package_id); + + return v_book_id; +end; +' language 'plpgsql'; +