Index: openacs-4/packages/acs-tcl/tcl/security-procs-oracle.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/security-procs-oracle.xql,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-tcl/tcl/security-procs-oracle.xql 29 Dec 2001 01:48:32 -0000 1.3
+++ openacs-4/packages/acs-tcl/tcl/security-procs-oracle.xql 1 Mar 2002 15:01:02 -0000 1.4
@@ -63,4 +63,20 @@
+
+
+
+ update sec_session_properties
+ set property_value = null,
+ property_clob = empty_clob(),
+ secure_p = :secure,
+ last_hit = :last_hit
+ where session_id = :session_id and
+ module = :module and
+ property_name = :name
+ returning property_clob into :1
+
+
+
+
Index: openacs-4/packages/acs-tcl/tcl/security-procs.tcl
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/security-procs.tcl,v
diff -u -r1.6 -r1.7
--- openacs-4/packages/acs-tcl/tcl/security-procs.tcl 28 Feb 2002 01:10:08 -0000 1.6
+++ openacs-4/packages/acs-tcl/tcl/security-procs.tcl 1 Mar 2002 15:01:02 -0000 1.7
@@ -388,7 +388,7 @@
db_transaction {
# DRB: Older versions of this code did a delete/insert pair in an attempt
- # to guard against duplicate insertions. This didn't work if there were
+ # to guard against duplicate insertions. This didn't work if there was
# no value for this property in the table and two transactions ran in
# parallel. The problem is that without an existing row the delete had
# nothing to lock on, thus allowing the two inserts to conflict. This
@@ -400,8 +400,8 @@
set clob_insert_dml [db_map prop_insert_dml_clob]
- if { $clob == "t" && ![empty_string_p $clob_dml] } {
- if { [catch {db_dml dummy $clob_dml -clobs [list $value]} errmsg] } {
+ if { $clob == "t" && ![empty_string_p $clob_insert_dml] } {
+ if { [catch {db_dml dummy $clob_insert_dml -clobs [list $value]} errmsg] } {
db_dml prop_update_dml_clob "" -clobs [list $value]
}
} else {
Index: openacs-4/packages/acs-tcl/tcl/security-procs.xql
===================================================================
RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/security-procs.xql,v
diff -u -r1.3 -r1.4
--- openacs-4/packages/acs-tcl/tcl/security-procs.xql 29 Dec 2001 01:48:32 -0000 1.3
+++ openacs-4/packages/acs-tcl/tcl/security-procs.xql 1 Mar 2002 15:01:02 -0000 1.4
@@ -36,30 +36,32 @@
-
-
+
- delete from sec_session_properties
- where session_id = :session_id
- and module = :module
- and property_name = :name
+ insert into sec_session_properties
+ (session_id, module, property_name, property_value, secure_p, last_hit)
+ values ( :session_id, :module, :name, :value, :secure, :last_hit )
-
+
- insert into sec_session_properties
- (session_id, module, property_name, property_value, secure_p, last_hit)
- values ( :session_id, :module, :name, :value, :secure, :last_hit )
+ update sec_session_properties
+ set property_value = :value,
+ property_clob = null,
+ secure_p = :secure,
+ last_hit = :last_hit
+ where session_id = :session_id and
+ module = :module and
+ property_name = :name
-