[Tickets #8899] Re: Inconsistent data type for group_uid
bugs at horde.org
bugs at horde.org
Fri Mar 5 09:55:15 UTC 2010
DO NOT REPLY TO THIS MESSAGE. THIS EMAIL ADDRESS IS NOT MONITORED.
Ticket URL: http://bugs.horde.org/ticket/8899
------------------------------------------------------------------------------
Ticket | 8899
Updated By | simon.jackson at carringbush.net
Summary | Inconsistent data type for group_uid
Queue | Horde Framework Packages
Version | FRAMEWORK_3
Type | Bug
State | Unconfirmed
Priority | 3. High
Milestone |
Patch |
Owners |
------------------------------------------------------------------------------
simon.jackson at carringbush.net (2010-03-05 04:55) wrote:
> Many Horde and associated projects have a group_uid column. In some
> tables this is an INT (eg. horde_groups) in others a VARCHAR(255)
> (eg. ansel_shares_groups). Some code (eg
> horde/lib/Horde/Share/sql.php) ends up generating SQL fragments such
> as "group_uid in ( 1, 2 )". In PostgreSQL, this causes an error when
> group_uid has a datatype on VARCHAR(255).
>
> A simple patch in horde/lib/Horde/Share/sql.php (1.1.2.57
> 2009-08-12) on line 691 from
> $group_ids[] = $this->_db->quote($id);
> to
> $group_ids[] = $this->_db->quote((string)$id);
> fixes this because PostgreSQL can cast automatically from string to
> int, but not vice versa (don't know why since one might things its
> the easier cast)
>
> However, I suspect this is not the best approach.
>
> Is there any reason why the column has different datatypes in
> different tables?
>
> I have toyed with the ideas of creating a database update script
> which forces all the group_uid columns to be INT, but without a lot
> of code analyzing, I'm not sure whether this would work.
The "patch" was also requires in sql_hierarchical.php on line 230.
More information about the bugs
mailing list