I forgot: 1) ... is not multiple select and what I meant by one line: if you have a given nid, it will have one tid but not tha other way around (N:1) and uid-uid is 1:1. So if we have an access clause: INNER JOIN {term_node} ta USING (nid) INNER JOIN {access} a ON ta.tid = a.tid AND a.uid = $user->uid then this will not multiply the number of results of a FROM {node} n query. Regards NK On Wed, 05 Oct 2005 19:17:36 +0200, Karoly Negyesi <karoly@negyesi.net> wrote:
Hi!
Create an access module which:
1) Creates a vocabulary that has all node types and required. 2) Stores (tid, uid, view, update, delete) for every user.
No DISTINCT is needed because for every node-user pair we have _exactly_ one line in access.
How 2) is calculated is absolutely up to contrib modules.
While access table will have (number of terms * number of users) lines, my gut instict says that this method would be still a lot faster than DISTINCTing.
Regards
NK