In porting the template::query calls in the clickthrough module I am
having a little problem.
<p>
I have named the queries and created the xql files. <p>
It looks like the sql is not making it to db_exec but I am not sure
why, template::query is getting it.
<p>
I get the following errors when I attempt to load the admin pages:
<pre>
Request Error
no value given for parameter "pre_sql" to "db_exec"
while executing
"db_exec select nsdb0 dbqd.acs-templating.tcl.query-
procs.template::query.by_local_url "
invoked from within
"set __row [db_exec select nsdb0 dbqd.acs-templating.tcl.query-
procs.template::query.by_local_url ]"
("uplevel" body line 1)
invoked from within
"uplevel "set __row [db_exec select $db $full_statement_name $sql]""
(procedure "template::query::multirow" line 7)
invoked from within
"template::query::$type $statement_name $db $result_name "
invoked from within
"set ret_code [template::query::$type $statement_name $db
$result_name
$sql] "
("uplevel" body line 2)
invoked from within
"uplevel 1 $code_block "
invoked from within
"db_with_handle db {
set ret_code [template::query::$type $statement_name $db
$result_name
$sql]
}"
(procedure "template::query" line 24)
invoked from within
"template::query by_local_url urls multirow "
select distinct local_url, foreign_url
from clickthrough_log
where package_id = :parent_p..."
("uplevel" body line 21)
invoked from within
"uplevel {
# www/admin/by-local-url.tcl
ad_page_contract {
@author Philip Greenspun (mailto:philg@mit.edu)
@creation-date 1997
@cvs-id $I..."
(procedure "code::tcl::/web/openacs-
4/packages/clickthrough/www/admin/by..." line 2)
invoked from within
"code::tcl::$__adp_stub"
invoked from within
"if { [file exists $__adp_stub.tcl] } {
# ensure that data source preparation procedure exists and is
up-to-date
adp_init tcl $__adp_stub
..."
("uplevel" body line 3)
invoked from within
"uplevel {
if { [file exists $__adp_stub.tcl] } {
# ensure that data source preparation procedure exists and is
up-to-date
adp_init t..."
(procedure "adp_prepare" line 3)
invoked from within
"adp_prepare "
(procedure "template::adp_parse" line 31)
invoked from within
"template::adp_parse [file root [ad_conn file]] {}"
(procedure "adp_parse_ad_conn_file" line 7)
invoked from within
"$handler"
("uplevel" body line 2)
invoked from within
"uplevel $code"
invoked from within
"ad_try {
$handler
} ad_script_abort val {
# do nothing
}"
invoked from within
"rp_serve_concrete_file [ad_conn file]"
(procedure "rp_serve_abstract_file" line 60)
invoked from within
"rp_serve_abstract_file "$root/$path""
("uplevel" body line 2)
invoked from within
"uplevel $code"
invoked from within
"ad_try {
rp_serve_abstract_file "$root/$path"
set tcl_url2file([ad_conn url]) [ad_conn file]
set tcl_url2path_info([ad_conn url]) [ad_conn path_inf..."
</pre>
Here is the query:
<pre>
template::query by_local_url urls multirow "
select distinct local_url, foreign_url
from clickthrough_log
where package_id = :parent_package_id
order by local_url"
</pre>
and the xql:
<pre>
<?xml version="1.0"?>
<queryset>
<fullquery name="by_local_url">
<querytext>
select distinct local_url, foreign_url
from clickthrough_log
where package_id = :parent_package_id
order by local_url
</querytext>
</fullquery>
</queryset>
</pre>