Forum OpenACS Development: Response to How do I get the creation_user from acs_objects?

Dan, I tried using the cast and I get some really strange behavior. If I run one line of the query in psql there are no problems:

select person__name(acs_object__get_attribute(r.response_id,'creation_user')::text::integer) as respondent_name
from
  survsimp_responses r,
  survsimp_question_responses qr
where
  qr.response_id = r.response_id
  and qr.question_id = '2216'

The only things that show up are the following:

NOTICE:  identifier "acs_object__get_attribute_storage" will be truncated to "acs_object__get_attribute_stora"
NOTICE:  identifier "acs_object__get_attr_storage_column" will be truncated to "acs_object__get_attr_storage_co"
NOTICE:  identifier "acs_object__get_attr_storage_table" will be truncated to "acs_object__get_attr_storage_ta"
NOTICE:  identifier "acs_object__get_attr_storage_sql" will be truncated to "acs_object__get_attr_storage_sq"

Now if I do it again for creation_date right after doing the query for creation_user, it will bomb and say "ERROR: type of v_rec.return doesn't match that when preparing the plan"

select acs_object__get_attribute(r.response_id,'creation_date') as submission_date
from
  survsimp_responses r,
  survsimp_question_responses qr
where
  qr.response_id = r.response_id
  and qr.question_id = '2216'

If I exit psql and restart it and do the same queries again, the same problem comes up (the second call of the function on a different object attribute fails). If I reverse the order of the queries, the second query still fails. If I do the full query (see code below) it also fails! It looks like I can run the acs_objects__get_attribute function once per query (maybe per session). The first call of the function always works, but the rest of the calls fail. However, I can repeat the first query indefinitely and it will always work.

After you updated the acs_object__get_attribute function, I dropped it and reloaded the new function. I even dropped the whole database and reloaded it. Do you have any idea what is going on? I hope my explaination was clear.

[04/Jul/2001:23:15:23][723.4101][-conn0-] Notice: Querying '

select
  varchar_answer as response,
  person__name(acs_object__get_attribute(r.response_id,'creation_user')::text::integer) as respondent_name,
  acs_object__get_attribute(r.response_id,'creation_date') as submission_date,
  acs_object__get_attribute(r.response_id,'creation_ip') as ip_address
from
  survsimp_responses r,
  survsimp_question_responses qr
where
  qr.response_id = r.response_id
  and qr.question_id = '2216'
  order by submission_date;'
[04/Jul/2001:23:15:23][723.4101][-conn0-] Error: Ns_PgExec: result status: 7 mes
sage: ERROR:  type of v_rec.return doesn't match that when preparing the plan

[04/Jul/2001:23:15:23][723.4101][-conn0-] Error: dbinit: error(localhost::openacs4,ERROR:  type of v_rec.return doesn't match that when preparing the plan
): '
select
  varchar_answer as response, person__name(acs_object__get_attribute(r.response_id,'creation_user')::text::integer) as respondent_name,
  acs_object__get_attribute(r.response_id,'creation_date') as submission_date,
  acs_object__get_attribute(r.response_id,'creation_ip') as ip_address
from
  survsimp_responses r,
  survsimp_question_responses qr
where
  qr.response_id = r.response_id
  and qr.question_id = '2216'
  order by submission_date

      '
[04/Jul/2001:23:15:23][723.4101][-conn0-] Notice: RP (109.983 ms): error in rp_handler: serving GET /surveys/admin/view-text-responsesquestion_id=2216
        ad_url "/surveys/admin/view-text-responses" maps to file "/web/openacs-4/packages/simple-survey/www/admin/view-text-responses.tcl"
errmsg is Database operation "select" failed (exception NSDB, "Query was not a statement returning rows.")
[04/Jul/2001:23:15:23][723.4101][-conn0-] Warning: APM: RestrictErrorsToAdminsP does not exist
[04/Jul/2001:23:15:23][723.4101][-conn0-] Warning: APM: AutomaticErrorReportingP does not exist
[04/Jul/2001:23:15:23][723.4101][-conn0-] Warning: APM: EnabledP does not exist
[04/Jul/2001:23:15:23][723.4101][-conn0-] Error: GET /surveys/admin/view-text-responses question_id=2216 Database operation "select" failed (exception NSDB, "Query was not a statement returning rows.")
    while executing
"ns_pg_bind select nsdb0 {
...