Index: openacs-4/packages/acs-subsite/tcl/package-procs.tcl =================================================================== RCS file: /usr/local/cvsroot/openacs-4/packages/acs-subsite/tcl/package-procs.tcl,v diff -u -r1.14 -r1.14.2.1 --- openacs-4/packages/acs-subsite/tcl/package-procs.tcl 11 Feb 2004 18:29:07 -0000 1.14 +++ openacs-4/packages/acs-subsite/tcl/package-procs.tcl 25 Dec 2004 21:33:40 -0000 1.14.2.1 @@ -898,6 +898,18 @@ return $object_id } + +ad_proc -public package_function_p { + package_name + function_name +} { + Returns 0 if the given function is a procedure, 1 if a function. Always + returns 1 in the Postgres version. Broken out into its own function so we + can util_memoize it. +} { + return [db_string function_p {}] +} + ad_proc -public package_exec_plsql { { -var_list "" } package_name @@ -958,7 +970,11 @@ set $__key $__value } - return [db_exec_plsql exec_plsql {}] + if { [util_memoize "package_function_p $package_name $function_name"] } { + return [db_exec_plsql exec_plsql_func {}] + } else { + db_exec_plsql exec_plsql_proc {} + } }