Index: openacs-4/readme.txt
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/readme.txt,v
diff -u -r1.1 -r1.2
--- openacs-4/readme.txt	13 Mar 2001 22:59:26 -0000	1.1
+++ openacs-4/readme.txt	16 Sep 2001 13:34:14 -0000	1.2
@@ -1,9 +1,20 @@
-This is the ArsDigita Community System, described in
-http://photo.net/wtr/thebook/community.html 
+This is the OpenACS Community System.
 
-Copyright (C) 1995-2000 ArsDigita Corporation and, in some cases,
-individual authors
+OpenACS (Open ArsDigita Community System) is an advanced toolkit for
+building scalable, community-oriented web applications.
 
+The original ACS, which formed the foundation of OpenACS is described
+in http://photo.net/wtr/thebook/community.html
+
+The original ACS was Copyright (C) 1995-2000 ArsDigita Corporation
+and, in some cases, individual authors.
+
+OpenACS is a community created and supported software system, visit
+http://openacs.org for more information. 
+
+The major change in OpenACS 4.x is its database-independence; it can
+use either PostgreSQL (7.1 or later) or Oracle (8.1.6 or later).
+
 This program is free software; you can redistribute it and/or modify
 it under the terms of the GNU General Public License as published by
 the Free Software Foundation; either version 2 of the License, or
@@ -21,10 +32,10 @@
 --------------
 
 Documentation for this system is at viewable via your favorite browser 
-at http://acs40.arsdigita.com/doc
+at http://openacs.org/doc
 
 For installation instructions, please see
-http://acs40.arsdigita.com/doc/install-guide/
+http://openacs.org/4/
 
 Once your service is up and running, this same documenation is
 available at 
@@ -34,5 +45,7 @@
 The release notes for this release are available at
 packages/acs-core-docs/www/release-notes/.
 
-This is release $Name$
+This is an early development version of OpenACS 4.x.  Production use
+is NOT recommended.  Please report bugs via http://openacs.org/sdm
 
+
Index: openacs-4/packages/acs-admin/www/tests/db-api-acceptance-test.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-admin/www/tests/Attic/db-api-acceptance-test.tcl,v
diff -u -r1.1 -r1.2
--- openacs-4/packages/acs-admin/www/tests/db-api-acceptance-test.tcl	13 Mar 2001 22:59:26 -0000	1.1
+++ openacs-4/packages/acs-admin/www/tests/db-api-acceptance-test.tcl	16 Sep 2001 13:34:15 -0000	1.2
@@ -100,20 +100,6 @@
 
 if { $count != 2 } { report_error "db_transaction did not propagate error with on_error block present" }
 
-set count 0 
-db_transaction {
-    db_transaction {
-	error "db_transaction inside transactions 2"
-    } on_error {
-	if [info exists errmsg] {
-	    db_continue_transaction
-	}
-    }
-    incr count
-}
-
-if { $count != 1 } { report_error "db_transaction did not continue processing with db_continue_transaction present." }
-
 set count 0
 db_dml db_api_acceptance_test_delete_footest "delete from footest"
 
Index: openacs-4/packages/acs-tcl/tcl/00-database-procs-oracle.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/Attic/00-database-procs-oracle.tcl,v
diff -u -r1.14 -r1.15
--- openacs-4/packages/acs-tcl/tcl/00-database-procs-oracle.tcl	3 Sep 2001 13:31:39 -0000	1.14
+++ openacs-4/packages/acs-tcl/tcl/00-database-procs-oracle.tcl	16 Sep 2001 13:34:15 -0000	1.15
@@ -149,18 +149,6 @@
     return [ns_ora resultrows $db_state(last_used)]
 }
 
-ad_proc db_continue_transaction {} {
-    
-    If a transaction is set to be aborted, this procedure allows it to continue.
-    Intended for use only within a db_transaction on_error code block.  
-} {
-    global db_state
-    db_with_handle db {
-	# The error has been handled, set the flag to false.
-	set db_state(db_abort_p,$db) 0
-    }
-}
-
 ad_proc db_write_clob { statement_name sql args } {
     ad_arg_parser { bind } $args
 
Index: openacs-4/packages/acs-tcl/tcl/00-database-procs-postgresql.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/Attic/00-database-procs-postgresql.tcl,v
diff -u -r1.24 -r1.25
--- openacs-4/packages/acs-tcl/tcl/00-database-procs-postgresql.tcl	3 Sep 2001 18:17:56 -0000	1.24
+++ openacs-4/packages/acs-tcl/tcl/00-database-procs-postgresql.tcl	16 Sep 2001 13:34:15 -0000	1.25
@@ -292,22 +292,6 @@
     return [ns_pg ntuples $db_state(last_used)]
 }
 
-#ad_proc db_continue_transaction {} {
-#    
-#    If a transaction is set to be aborted, this procedure allows it to continue.
-#    Intended for use only within a db_transaction on_error code block.  
-#
-#    DRB: we can't emulate this in Postgres.  The best we can do is a COMMIT
-#    followed by BEGIN.  Commented out so caller will get an error.
-#
-#} {
-#    global db_state
-#    db_with_handle db {
-#	# The error has been handled, set the flag to false.
-#	set db_state(db_abort_p,$db) 0
-#    }
-#}
-
 ad_proc db_write_clob { statement_name sql args } {
     ad_arg_parser { bind } $args
 
@@ -322,8 +306,10 @@
     set full_statement_name [db_qd_get_fullname $statement_name]
 
     db_with_handle db { 
-	db_exec_lob blob_get $db $full_statement_name $sql
+	set data [db_exec_lob blob_get $db $full_statement_name $sql]
     }
+
+    return $data
 }
 
 ad_proc db_write_blob { statement_name sql args } {
Index: openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/Attic/00-database-procs.tcl,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl	3 Sep 2001 18:40:46 -0000	1.6
+++ openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl	16 Sep 2001 13:34:15 -0000	1.7
@@ -566,8 +566,6 @@
     <code>transaction_code</code> will be caught automatically and process control will transfer to <code>error_code</code>
     with a variable <code>errmsg</code> set.  The error_code block can then clean up after the error, such as presenting a usable
     error message to the user.  Following the execution of <code>error_code</code> the transaction will be aborted.
-    Alternatively, a command to continue the transaction <code>db_continue_transaction</code> can be issued.  This
-    command will commit any successful database commands when the transaction completes, assuming no further errors are raised.  
     If you want to explicity abort the transaction, call <code>db_abort_transaction</code>
     from within the transaction_code block or the error_code block.<p>
 
@@ -592,23 +590,6 @@
     } 
     </pre>
 
-    Example 3:<br>
-    In this example, all of the dml statements are executed and committed.  The call to db_abort_transaction
-    signals that the transaction should be aborted which activates the higher level on_error block.  That code
-    issues a db_continue_transaction which commits the transaction.  Had there not been an on_error block, none
-    of the dml statements would have been committed.
-    <pre>
-    db_transaction {
-	db_dml test {insert into footest values(1)}
-	db_transaction {
-	    db_dml test {insert into footest values(2) }
-	    db_abort_transaction
-	}
-	db_dml test {insert into footest values(3) }
-    } on_error {
-	db_continue_transaction
-    }
-    </pre>
 } {
 
     global db_state 
@@ -721,7 +702,6 @@
 		# Good, no error thrown by the on_error block.
 		if [db_abort_transaction_p] {
 		    # This means we should abort the transaction.
-		    # Use db_continue_transaction in the on_error block to avoid this.
 		    if { $level == 1 } {
 			set db_state(db_abort_p,$dbh) 0
 			ns_db dml $dbh "abort transaction"