Index: openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl,v diff -u -N -r1.126.2.1 -r1.126.2.2 --- openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl 14 Feb 2019 16:15:00 -0000 1.126.2.1 +++ openacs-4/packages/acs-tcl/tcl/00-database-procs.tcl 18 Feb 2019 12:40:09 -0000 1.126.2.2 @@ -1596,7 +1596,7 @@ code_block once for each row with variables set to column values (or a set or array populated if -column_array or column_set is specified). If the query returns no rows, executes - if_no_rows_block (if provided).

+ if_no_rows_block (if provided). In place of 'if_no_rows' also the 'else' keyword can be used.

Example: @@ -1618,10 +1618,8 @@ set code_block [lindex $args 0] } elseif { $arglength == 3 } { # Should have code block + if_no_rows + code block. - if { [lindex $args 1] ne "if_no_rows" - && [lindex $args 1] ne "else" - } { - return -code error "Expected if_no_rows as second-to-last argument" + if { [lindex $args 1] ni {"if_no_rows" "else"}} { + return -code error "Expected if_no_rows or else as second-to-last argument" } lassign $args code_block . if_no_rows_code_block } else { @@ -1682,7 +1680,7 @@ } } # If the if_no_rows_code is defined, go ahead and run it. - if { $counter > 0 && [info exists if_no_rows_code_block] } { + if { $counter == 0 && [info exists if_no_rows_code_block] } { uplevel 1 $if_no_rows_code_block } }