6.0.0-alpha12
6/12/25

[#11064] Turba Browse is very inefficient
Summary Turba Browse is very inefficient
Queue Turba
Queue Version Git master
Type Enhancement
State Rejected
Priority 1. Low
Owners
Requester slusarz (at) horde (dot) org
Created 03/09/2012 (4843 days ago)
Due
Updated 06/27/2012 (4733 days ago)
Assigned
Resolved 06/27/2012 (4733 days ago)
Milestone
Patch No

History
06/27/2012 09:07:52 PM Michael Slusarz Comment #5
State ⇒ Rejected
Reply to this comment
Going to reject, since Jan says this is not going to be possible with 
current code.
04/05/2012 05:01:24 PM Jan Schneider Comment #4 Reply to this comment
The actual problem is that 1) name fields are usually composite fields 
and 2) there is the user preference that defines the name format for 
sorting. For the filtering to reliably work, this would require 
composing the fields on the database level. I doubt this is going to 
be possible in a portable way.
03/09/2012 08:20:31 PM Michael Slusarz Comment #3 Reply to this comment

[Show Quoted Text - 11 lines]
The problem, at least as I can tell, is that the way the Turba Views 
are designed.  The Browse View is passed a search result, and it is 
only in that view that the filter (from URL parameter data) is 
determined.

In other words, the filter can't be applied at the time the search is 
done based on the current architecture.
03/09/2012 08:09:58 PM Ralf Lang Comment #2 Reply to this comment
Browsing in Turba (at least via SQL driver) will query ALL contacts 
on every page, regardless if you are filtering - for example, by a 
letter when using the alphabet pager.  It is the View code that is 
doing the filtering.  This is incorrect behavior - the query should 
be filtered at the DB level instead - it reduces overhead and SQL is 
precisely designed for this kind of filtering, so it is the proper 
tool for the job.
Driver->search should support criteria like limit(n) and %like% or 
startwith('a')
This probably applies to more backends.
03/09/2012 08:01:23 PM Michael Slusarz Comment #1
Priority ⇒ 1. Low
Patch ⇒ No
Milestone ⇒
Queue ⇒ Turba
Summary ⇒ Turba Browse is very inefficient
Type ⇒ Enhancement
State ⇒ New
Reply to this comment
Browsing in Turba (at least via SQL driver) will query ALL contacts on 
every page, regardless if you are filtering - for example, by a letter 
when using the alphabet pager.  It is the View code that is doing the 
filtering.  This is incorrect behavior - the query should be filtered 
at the DB level instead - it reduces overhead and SQL is precisely 
designed for this kind of filtering, so it is the proper tool for the 
job.

Saved Queries