[Tickets #7750] SQL driver error on PERMS_ROOT with PostgreSQL
bugs at horde.org
bugs at horde.org
Wed Dec 3 16:57:25 UTC 2008
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/7750
------------------------------------------------------------------------------
Ticket | 7750
Created By | Marcus Ryan <marcus at riboflavin.net>
Summary | SQL driver error on PERMS_ROOT with PostgreSQL
Queue | Horde Framework Packages
Version | FRAMEWORK_3
Type | Bug
State | Unconfirmed
Priority | 2. Medium
Milestone |
Patch | 1
Owners |
+New Attachment | patch
------------------------------------------------------------------------------
Marcus Ryan <marcus at riboflavin.net> (2008-12-03 11:57) wrote:
When trying to create a root permission for an application a call is
made to the sql driver (Horde/Perms/sql.php) getPermissionId method.
The call to the database is made as 'SELECT perm_id FROM horde_perms
WHERE perm_name = ?', but at least with postgresql when the name id
for PERMS_ROOT (-1) is passed, it's interpreted as a number, not a
string, and postgresql complains:
Dec 3 10:25:55 dsl postgres[43453]: [5-3] STATEMENT: SELECT perm_id
FROM horde_perms WHERE perm_name = -1
Dec 3 10:26:10 dsl postgres[42457]: [5-1] ERROR: operator does not
exist: character varying = integer at character 49
Dec 3 10:26:10 dsl postgres[42457]: [5-2] HINT: No operator matches
the given name and argument type(s). You might need to add explicit
type casts.
It seems reasonable to shortcut this (both for this bug and
performance in general) to say if name == PERMS_ROOT return an id of
PERMS_ROOT (works on my install anyway).
More information about the bugs
mailing list