6.0.0-beta1
11/9/25

[#2822] New Contact Addition errors
Summary New Contact Addition errors
Queue Turba
Queue Version 2.0.4
Type Bug
State Not A Bug
Priority 3. High
Owners
Requester aread-horde (at) localnet (dot) com
Created 10/20/2005 (7325 days ago)
Due
Updated 10/20/2005 (7325 days ago)
Assigned
Resolved 10/20/2005 (7325 days ago)
Github Issue Link
Github Pull Request
Milestone
Patch No

History
10/20/2005 10:47:37 PM Chuck Hagenbuch Comment #3
State ⇒ Not A Bug
Reply to this comment
Duplicate of bug #2298.
10/20/2005 10:22:23 PM aread-horde (at) localnet (dot) com Comment #2 Reply to this comment
The select that has > 30k rows is the problem.  It is exhausting the 
total memory space allotted to the individual php process.  When I 
grossly increased the max value, the addition completed normally(with 
notification message).  This memory problem is causing the process to 
die.

What exactly is this select used for?

[Show Quoted Text - 46 lines]
10/20/2005 07:57:46 PM aread-horde (at) localnet (dot) com Comment #1
State ⇒ Unconfirmed
Priority ⇒ 3. High
Type ⇒ Bug
Summary ⇒ New Contact Addition errors
Queue ⇒ Turba
Reply to this comment
Horde 3.0.5, mysql prefs backend, php 4.3.10

When adding a new contact to an addressbook, after hitting submit, the 
page reloads a few times, then sits there(no confirmation of 
addition).  Browsing the addressbook shows that 2-3 copies of the 
entry have been added.  From mysql logs the following query is bring 
run, which returns >30k rows.  I have included some data on that table 
as it is configured on my server.  This error has just started to 
creep up(I assume as the number of entries/time required for the 
select grew).  Upgrading from the previous version of Turba and Horde 
had no effect.  This is beginning to become a big problem.



                    1228 Query       SELECT datatree_id, 
datatree_name, datatree_

parents, datatree_order FROM horde_datatree WHERE (datatree_parents 
LIKE ':2%' O

R datatree_id = 2) AND group_uid = 'horde.history'



mysql> explain horde_datatree;

+---------------------+---------------+------+-----+---------+-------+

| Field               | Type          | Null | Key | Default | Extra |

+---------------------+---------------+------+-----+---------+-------+

| datatree_id         | int(11)       |      | PRI | 0       |       |

| group_uid           | varchar(255)  |      | MUL |         |       |

| user_uid            | varchar(255)  |      | MUL |         |       |

| datatree_name       | varchar(255)  |      | MUL |         |       |

| datatree_parents    | varchar(255)  |      |     |         |       |

| datatree_order      | int(11)       | YES  |     | NULL    |       |

| datatree_data       | text          | YES  |     | NULL    |       |

| datatree_serialized | smallint(6)   |      | MUL | 0       |       |

| datatree_updated    | timestamp(14) | YES  |     | NULL    |       |

+---------------------+---------------+------+-----+---------+-------+

9 rows in set (0.00 sec)



mysql> explain SELECT datatree_id, datatree_name, datatree_parents, 
datatree_order FROM horde_datatree WHERE (datatree_parents LIKE ':2%' 
OR datatree_id = 2) AND group_uid = 'horde.history';

+----------------+------+----------------------------+------+---------+------+-------+------------+

| table          | type | possible_keys              | key  | key_len 
| ref  | rows  | Extra      |

+----------------+------+----------------------------+------+---------+------+-------+------------+

| horde_datatree | ALL  | PRIMARY,datatree_group_idx | NULL |    NULL 
| NULL | 30421 | where used |

+----------------+------+----------------------------+------+---------+------+-------+------------+

1 row in set (0.00 sec)




Saved Queries