[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