Forum .LRN Q&A: Re: Forums in dotLRN broken?
Thanks, it seems to work now. However, day summary portlet in personal portal throws the following error:
You have found a bug in our code. Please notify the webmaster and include the following text. Thank You. *** portal::render_element show callback Error! *** Database operation "0or1row" failed (exception NSINT, "Query returned more than one row.")
I think you are seeing the bug Rafael Calvo ran into
here https://openacs.org/forums/message-view?message_id=60280
here https://openacs.org/forums/message-view?message_id=60280
You might try deleting the entries in site_nodes where the
package_id is 0.
Jeff,
I assume you mean object_id. However, this time it seems not to be the case, i.e. no rows with object_id 0, just applets without object_id:
dotlrn-test=# select * from site_nodes; node_id | parent_id | name | directory_p | pattern_p | o bject_id | tree_sortkey ---------+-----------+-----------------------------+-------------+-----------+-- ---------+------------------------------------------------------------------ 2603 | | | t | t | 2576 | 00000000 2604 | 2603 | acs-admin | t | t | 372 | 0000000000000000 2605 | 2603 | acs-service-contract | t | t | 516 | 0000000000000001 2606 | 2603 | acs-content-repository | t | t | 1068 | 0000000000000010 2607 | 2603 | acs-workflow | t | t | 2547 | 0000000000000011 2608 | 2603 | doc | t | t | 1356 | 0000000000000100 2609 | 2603 | api-doc | t | t | 411 | 0000000000000101 4825 | 2603 | dotlrn | t | t | 4827 | 0000000000000110 4862 | 2603 | attachments | t | t | 4864 | 0000000000001000 4861 | 2603 | notifications | t | t | 4868 | 0000000000000111 4872 | 2603 | portal | t | t | 4873 | 0000000000001001 4884 | 4825 | attach | t | t | 4864 | 000000000000011000000000 4885 | 4825 | applets | t | t | | 000000000000011000000001 4887 | 4825 | file-storage | t | t | 4888 | 000000000000011000000010 4896 | 4885 | fs | t | t | 4508 | 00000000000001100000000100000000 4897 | 4825 | calendar | t | t | 4898 | 000000000000011000000011 4903 | 4885 | forums | t | t | 4798 | 00000000000001100000000100000001 4906 | 4885 | static-portlet | t | t | 4907 | 00000000000001100000000100000010 5172 | 4825 | classes | t | t | 5173 | 000000000000011000000100 5296 | 4825 | clubs | t | t | 5297 | 000000000000011000000101 5467 | 5172 | tiedonhallinta | t | t | 5468 | 00000000000001100000010000000000 5504 | 5467 | software-business | t | t | 5505 | 0000000000000110000001000000000000000000 5654 | 5504 | software-business | t | t | 5655 | 000000000000011000000100000000000000000000000000 5696 | 5654 | file-storage | t | t | 5697 | 00000000000001100000010000000000000000000000000000000000 5719 | 5654 | forums | t | t | 5720 | 00000000000001100000010000000000000000000000000000000001 5724 | 5719 | attach | t | t | 4864 | 0000000000000110000001000000000000000000000000000000000100000000 5732 | 5654 | calendar | t | t | 5733 | 00000000000001100000010000000000000000000000000000000010 5734 | 5732 | attach | t | t | 4864 | 0000000000000110000001000000000000000000000000000000001000000000 5745 | 5654 | faq | t | t | 5746 | 00000000000001100000010000000000000000000000000000000011 5754 | 5654 | news | t | t | 5755 | 00000000000001100000010000000000000000000000000000000100 5813 | 5467 | tiedonhallinnan-peruskurssi | t | t | 5814 | 0000000000000110000001000000000000000001 5963 | 5813 | tiedonhallinnan-peruskurssi | t | t | 5964 | 000000000000011000000100000000000000000100000000 6005 | 5963 | file-storage | t | t | 6006 | 00000000000001100000010000000000000000010000000000000000 6028 | 5963 | forums | t | t | 6029 | 00000000000001100000010000000000000000010000000000000001 6033 | 6028 | attach | t | t | 4864 | 0000000000000110000001000000000000000001000000000000000100000000 6041 | 5963 | calendar | t | t | 6042 | 00000000000001100000010000000000000000010000000000000010 6043 | 6041 | attach | t | t | 4864 | 0000000000000110000001000000000000000001000000000000001000000000 6054 | 5963 | faq | t | t | 6055 | 00000000000001100000010000000000000000010000000000000011 6063 | 5963 | news | t | t | 6064 | 00000000000001100000010000000000000000010000000000000100 (39 rows)
Jarkko, you should look in the server error log to figure out
what query it was that is actually failing. Also, I think
if you install the newer postgres driver you will get the
offending query in your error message.
what query it was that is actually failing. Also, I think
if you install the newer postgres driver you will get the
offending query in your error message.
The site_nodes stuff do look fine.
Jeff,
Here's the snippet from server log. I'm not quite sure if the error refers to the query that's before or after it, but I think before, because it gives three rows and the latter just one when run from psql shell.
[03/Dec/2002:13:49:18][10942.4101][-conn1-] Notice: Querying ' select calendar_id from calendars where owner_id = '2610' and private_p = 't';' [03/Dec/2002:13:49:18][10942.4101][-conn1-] Notice: dbinit: sql(localhost::dotlrn-test): ' select calendar_id from calendars where owner_id = '2610' and private_p = 't' ' [03/Dec/2002:13:49:18][10942.4101][-conn1-] Error: *** portal::render_element show callback Error! *** Database operation "0or1row" failed (exception NSINT, "Query returned more than one row.") [03/Dec/2002:13:49:18][10942.4101][-conn1-] Debug: NO FULLQUERY FOR dbqd.dotlrn.tcl.dotlrn-security-procs.dotlrn::user_p.select_count --> using default SQL [03/Dec/2002:13:49:18][10942.4101][-conn1-] Debug: PgBindCmd: sql = select count(*) from dual where exists (select 1 from dotlrn_users where user_id = :user_id) [03/Dec/2002:13:49:18][10942.4101][-conn1-] Debug: PgBindCmd: bind var: user_id = 2610 [03/Dec/2002:13:49:18][10942.4101][-conn1-] Debug: PgBindCmd: query with bind variables substituted = select count(*) from dual where exists (select 1 from dotlrn_users where user_id = '2610')
OK, the reason seems to be that somehow this user 2610 (me, site-wide admin) has three personal calendars in the calendars table:
dotlrn-test=# select * from calendars; calendar_id | calendar_name | owner_id | package_id | private_p -------------+-----------------------------+----------+------------+----------- 5396 | Personal | 2610 | 4898 | t 5465 | Personal | 5397 | 4898 | t 5735 | Software Business | 2610 | 5733 | f 5809 | Personal | 2610 | 5733 | t 6044 | Tiedonhallinnan peruskurssi | 2610 | 6042 | f 6177 | Personal | 6109 | 4898 | t 6247 | Personal | 6179 | 4898 | t 6293 | Personal | 2610 | 6042 | t (8 rows)When I deleted the rows 5809 and 6293, the calendar started working ok again. The question remains, how these extra calendars got to exist in the first place. I certainly didn't create them explicitly (or at least, on purpose). It seems that every time you create a class and implicitly a calendar for it, you get a new personal calendar, too.