[horde] Database issue with horde-webmail 1.2.5 (and prior)

tom burkart horde at aussec.com
Mon Mar 29 11:00:29 UTC 2010


Hi,
when using PostgreSQL 8.4.1 (OpenSuSE 11.2) with horde-webmail the  
following error occurs many times (on login and other):

Mar 29 21:45:35 <host> postgres[17774]: [2-1] horde horde ERROR:   
operator does not exist: character varying = integer at character 647
Mar 29 21:45:35 <host> postgres[17774]: [2-2] horde horde HINT:  No  
operator matches the given name and argument type(s). You might need  
to add explicit type casts.
Mar 29 21:45:35 <host> postgres[17774]: [2-3] horde horde STATEMENT:   
SELECT DISTINCT s.*  FROM kronolith_shares s  LEFT JOIN  
kronolith_shares_users AS u ON u.share_id = s.share_id LEFT JOIN  
kronolith_shares_groups AS g ON g.share_id = s.share_id WHERE  
s.share_owner = '<user>@<domain>' OR (CASE WHEN CAST(s.perm_creator AS  
VARCHAR) ~ '^-?[0-9]+$' THEN (CAST(s.perm_creator AS INTEGER) & 2) <>  
0 ELSE FALSE END) OR (CASE WHEN CAST(s.perm_default AS VARCHAR) ~  
'^-?[0-9]+$' THEN (CAST(s.perm_default AS INTEGER) & 2) <> 0 ELSE  
FALSE END) OR ( u.user_uid = '<user>@<domain>' AND (CASE WHEN  
CAST(u.perm AS VARCHAR) ~ '^-?[0-9]+$' THEN (CAST(u.perm AS INTEGER) &  
2) <> 0 ELSE FALSE END)) OR (g.group_uid IN (2411) AND (CASE WHEN  
CAST(g.perm AS VARCHAR) ~ '^-?[0-9]+$' THEN (CAST(g.permAS INTEGER) &  
2) <> 0 ELSE FALSE END)) ORDER BY s.attribute_name ASC

The actual offending part is "g.group_uid IN (2411)" if the brackets  
were replaced by "'" (single quotes) it should work as before (don't  
know what other impact this may have).
In the above string <host>, <user>, <domain> have been edited (host  
was 4 chars long, user was 5 and domain was 17 chars long).  In any  
case the 647 reference is on the "N" of the "IN" above.

tom




More information about the horde mailing list