Index: openacs-4/packages/notes/sql/postgresql/notes-create.sql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/notes/sql/postgresql/notes-create.sql,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/notes/sql/postgresql/notes-create.sql	3 May 2001 18:23:35 -0000	1.1
+++ openacs-4/packages/notes/sql/postgresql/notes-create.sql	9 Jul 2001 15:37:14 -0000	1.2
@@ -5,21 +5,23 @@
 -- @creation-date 2000-10-22
 -- @cvs-id $Id$
 --
+-- openacs port: vinod kurup vkurup@massmed.org
+--
 
 create function inline_0 ()
 returns integer as '
 begin
     PERFORM acs_object_type__create_type (
-	''note'',
-	''Note'',
-	''Notes'',
-	''acs_object'',
-	''notes'',
-	''note_id'',
-	null,
-	''f'',
-	null,
-	null
+	''note'',			-- object_type
+	''Note'',			-- pretty_name
+	''Notes'',			-- pretty_plural
+	''acs_object'',		-- supertype
+	''notes'',			-- table_name
+	''note_id'',		-- id_column
+	null,				-- package_name
+	''f'',				-- abstract_p
+	null,				-- type_extension_table
+	null				-- name_method
 	);
 
     return 0;
@@ -29,52 +31,39 @@
 
 drop function inline_0 ();
 
---begin
---  acs_object_type.create_type (
---    supertype => 'acs_object',
---    object_type => 'note',
---    pretty_name => 'Note',
---    pretty_plural => 'Notes',
---    table_name => 'NOTES',
---    id_column => 'NOTE_ID'
---  );
---end;
---/
---show errors;
-
 create function inline_1 ()
 returns integer as '
 begin
     PERFORM acs_attribute__create_attribute (
-	  ''note'',
-	  ''TITLE'',
-	  ''string'',
-	  ''Title'',
-	  ''Titles'',
-	  null,
-	  null,
-	  null,
-	  1,
-	  1,
-	  null,
-	  ''type_specific'',
-	  ''f''
+	  ''note'',				-- object_type
+	  ''TITLE'',			-- attribute_name
+	  ''string'',			-- datatype
+	  ''Title'',			-- pretty_name
+	  ''Titles'',			-- pretty_plural
+	  null,					-- table_name
+	  null,					-- column_name
+	  null,					-- default_value
+	  1,					-- min_n_values
+	  1,					-- max_n_values
+	  null,					-- sort_order
+	  ''type_specific'',	-- storage
+	  ''f''					-- static_p
 	);
 
     PERFORM acs_attribute__create_attribute (
-	  ''note'',
-	  ''BODY'',
-	  ''string'',
-	  ''Body'',
-	  ''Bodies'',
-	  null,
-	  null,
-	  null,
-	  1,
-	  1,
-	  null,
-	  ''type_specific'',
-	  ''f''
+	  ''note'',				-- object_type
+	  ''BODY'',				-- attribute_name
+	  ''string'',			-- datatype
+	  ''Body'',				-- pretty_name
+	  ''Bodies'',			-- pretty_plural
+	  null,					-- table_name
+	  null,					-- column_name
+	  null,					-- default_value
+	  1,					-- min_n_values
+	  1,					-- max_n_values
+	  null,					-- sort_order
+	  ''type_specific'',	-- storage
+	  ''f''					-- static_p
 	);
 
     return 0;
@@ -84,67 +73,52 @@
 
 drop function inline_1 ();
 
---declare
---  attr_id acs_attributes.attribute_id%TYPE;
---
---begin
---  attr_id := acs_attribute.create_attribute (
---    object_type => 'note',
---    attribute_name => 'TITLE',
---    pretty_name => 'Title',
---    pretty_plural => 'Titles',
---    datatype => 'string'
---  );
---
---  attr_id := acs_attribute.create_attribute (
---    object_type => 'note',
---    attribute_name => 'BODY',
---    pretty_name => 'Body',
---    pretty_plural => 'Bodies',
---    datatype => 'string'
---  );
---end;
---/
---show errors;
-
 create table notes (
-    note_id    integer references acs_objects(object_id) primary key,
-    owner_id   integer references users(user_id),
-    title      varchar(255) not null,
+    note_id    integer 
+			   constraint notes_note_id_fk
+			   references acs_objects(object_id) 
+			   constraint notes_note_id_pk
+			   primary key,
+    owner_id   integer 
+			   constraint notes_owner_id_fk
+			   references users(user_id),
+    title      varchar(255) 
+			   constraint notes_title_nn
+			   not null,
     body       varchar(1024)
 );
 
 create function note__new (integer,integer,varchar,varchar,varchar,timestamp,integer,varchar,integer)
 returns integer as '
 declare
-  new__note_id					alias for $1;       -- default null
-  new__owner_id					alias for $2;       -- default null
-  new__title					alias for $3;
-  new__body						alias for $4;
-  new__object_type				alias for $5;       -- default ''note''
-  new__creation_date			alias for $6;		-- default now()
-  new__creation_user			alias for $7;		-- default null
-  new__creation_ip				alias for $8;		-- default null
-  new__context_id				alias for $9;		-- default null
-  v_note_id						notes.note_id%TYPE;
+  p_note_id					alias for $1;       -- default null
+  p_owner_id				alias for $2;       -- default null
+  p_title					alias for $3;
+  p_body					alias for $4;
+  p_object_type				alias for $5;       -- default ''note''
+  p_creation_date			alias for $6;		-- default now()
+  p_creation_user			alias for $7;		-- default null
+  p_creation_ip				alias for $8;		-- default null
+  p_context_id				alias for $9;		-- default null
+  v_note_id					notes.note_id%TYPE;
 begin
 	v_note_id := acs_object__new (
-		new__note_id,
-		new__object_type,
-		new__creation_date,
-		new__creation_user,
-		new__creation_ip,
-		new__context_id
+		p_note_id,
+		p_object_type,
+		p_creation_date,
+		p_creation_user,
+		p_creation_ip,
+		p_context_id
 	);
 
 	insert into notes
 	  (note_id, owner_id, title, body)
 	values
-	  (v_note_id, new__owner_id, new__title, new__body);
+	  (v_note_id, p_owner_id, p_title, p_body);
 
 	PERFORM acs_permission__grant_permission(
           v_note_id,
-          new__owner_id,
+          p_owner_id,
           ''admin''
     );
 
@@ -155,87 +129,18 @@
 create function note__delete (integer)
 returns integer as '
 declare
-  delete__note_id				alias for $1;
+  p_note_id				alias for $1;
 begin
     delete from acs_permissions
-		   where object_id = delete__note_id;
+		   where object_id = p_note_id;
 
 	delete from notes
-		   where note_id = delete__note_id;
+		   where note_id = p_note_id;
 
 	raise NOTICE ''Deleting note...'';
-	PERFORM acs_object__delete(delete__note_id);
+	PERFORM acs_object__delete(p_note_id);
 
 	return 0;
 
 end;' language 'plpgsql';
 
---create or replace package note
---as
---    function new (
---		note_id             in notes.note_id%TYPE default null,
---		owner_id            in notes.owner_id%TYPE default null,
---		title               in notes.title%TYPE,
---		body                in notes.body%TYPE,
---		object_type         in acs_object_types.object_type%TYPE default 'note',
---		creation_date       in acs_objects.creation_date%TYPE default sysdate,
---		creation_user       in acs_objects.creation_user%TYPE default null,
---		creation_ip         in acs_objects.creation_ip%TYPE default null,
---		context_id          in acs_objects.context_id%TYPE default null
---    ) return notes.note_id%TYPE;
---
---    procedure delete (
---		note_id				in notes.note_id%TYPE
---    );
---end note;
---/
---show errors
---
---create or replace package body note
---as
---    function new (
---        note_id             in notes.note_id%TYPE default null,
---        owner_id            in notes.owner_id%TYPE default null,
---        title               in notes.title%TYPE,
---        body                in notes.body%TYPE,
---        object_type         in acs_object_types.object_type%TYPE default 'note',
---        creation_date       in acs_objects.creation_date%TYPE default sysdate,
---        creation_user       in acs_objects.creation_user%TYPE default null,
---        creation_ip         in acs_objects.creation_ip%TYPE default null,
---        context_id          in acs_objects.context_id%TYPE default null
---    ) return notes.note_id%TYPE
---    is
---        v_note_id integer;
---     begin
---        v_note_id := acs_object.new (
---            object_id => note_id,
---            object_type => object_type,
---            creation_date => creation_date,
---            creation_user => creation_user,
---            creation_ip => creation_ip,
---            context_id => context_id
---         );
---
---         insert into notes
---          (note_id, owner_id, title, body)
---         values
---          (v_note_id, owner_id, title, body);
---
---         return v_note_id;
---     end new;
---
---     procedure delete (
---         note_id      in notes.note_id%TYPE
---     )
---     is
---     begin
---         delete from notes
---         where note_id = note.delete.note_id;
---
---         acs_object.delete(note_id);
---     end delete;
---
---end note;
---/
---show errors;
-