[248] in Moira
[jfc@ATHENA.MIT.EDU: moira]
daemon@ATHENA.MIT.EDU (daemon@ATHENA.MIT.EDU)
Tue Jan 15 12:48:46 1991
Date: Tue, 15 Jan 91 12:48:07 -0500
From: Mark Rosenstein <mar@MIT.EDU>
To: jfc@MIT.EDU
Cc: bug-moira@ATHENA.MIT.EDU
In-Reply-To: "Jonathan I. Kamens"'s message of Mon, 26 Nov 90 03:27:14 -0500 <9011260827.AA03656@pit-manager.MIT.EDU>
>In mrtest, I ran the following query:
> qy gaus ruser jfc
>It took 30 minutes for the server to return 101 lines of output.
I just investigated this. You are on 88 different lists, so there
were 89 different objects for which moira had to check every object in
the database to see if it was owned by one of those 89 objects.
Currently, Moira scans through the entire database once for each
object it checks. This implies that each scan took about 20 seconds,
which is pretty fast considering the amount of data it searched.
Is there a faster way to do it? I don't know. To only scan the
database once, checking each object to see if it is owned by one of
the objects in the set we are about would probably take longer. In
this case we couldn't take advantage of any indexes, but would have to
retrieve every object and then scan our set of objects in memory.
This would certainly be more complex to code.
For now I'll make get_acl_use only let users check themselves or a
list they own, but not do a recursive search.
-Mark