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.7 -r1.8 --- openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl 16 Sep 2001 13:34:15 -0000 1.7 +++ openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl 15 Jan 2002 16:40:14 -0000 1.8 @@ -388,7 +388,12 @@ } } -proc_doc db_multirow { var_name statement_name sql args } { +ad_proc -public db_multirow { + -local:boolean + var_name + statement_name + sql + args } { Performs the SQL query $sql, saving results in variables of the form var_name:1, var_name:2, etc, @@ -401,6 +406,12 @@ # Query Dispatcher (OpenACS - ben) set full_statement_name [db_qd_get_fullname $statement_name] + if { $local_p } { + set level_up 1 + } else { + set level_up \#[template::adp_level] + } + ad_arg_parser { bind args } $args # Do some syntax checking. @@ -423,7 +434,7 @@ return -code error "Expected 1 or 3 arguments after switches" } - upvar \#[template::adp_level] "$var_name:rowcount" counter + upvar $level_up "$var_name:rowcount" counter db_with_handle db { set selection [db_exec select $db $full_statement_name $sql] @@ -432,7 +443,7 @@ while { [db_getrow $db $selection] } { if { [empty_string_p $code_block] } { # No code block - pull values directly into the var_name array. - upvar \#[template::adp_level] \ + upvar $level_up \ "$var_name:[expr {$counter+1}]" array_val for { set i 0 } { $i < [ns_set size $selection] } { incr i } { set array_val([ns_set key $selection $i]) \ @@ -480,7 +491,7 @@ } # Pull the variables into the array. - upvar \#[template::adp_level] \ + upvar $level_up \ "$var_name:[expr {$counter + 1}]" array_val for { set i 0 } { $i < [ns_set size $selection] } { incr i } { upvar 1 [ns_set key $selection $i] column_value