[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