[geeklog-devel] Draft of schema for GL2

Vincent Furia vfuria at gmail.com
Thu Dec 16 15:07:53 EST 2004


Whatever names you think best.  I just have a continuing giant brain
fart whenever I try to think of new names for those...

For a new comment, the value of leftIndex is the parent comments
rightIndex.  The value of rightIndex is the parent comments rightIndex
+ 1.  All Indexes (left and right) for all comments that have a value
greater than the new comments leftIndex are increased by two.  I guess
I need to explain that better in my article.

You might want to draw some pictures.  I had to do that a lot to prove
to myself that inserts and deletes would always work.

Also if you use this algorithm you technically don't need the pid
column (the parent id can be found easily given the left and right
indexes of a child comment).  I left the pid column in 1.3.x so I
wouldn't need to rewrite even more comment code.

-Vinny


On Thu, 16 Dec 2004 13:52:27 -0600, Tony Bibbs <tony at tonybibbs.com> wrote:
> In the table on this page:
> 
> http://vinny.furiafamily.com/article.php?story=20041129154258296
> 
> How does a new comment get it's rht, lft values?  I'm fuzzy on that.
> Anyway, it looks good to me.  For column names in GL2 how about
> leftIndex and rightIndex?
> 
> --Tony
> 
> How do you know what the rht
> Vincent Furia wrote:
> 
> >I didn't look at slashcode.  But most other CMSs I looked at just grab
> >all the comments from the DB and use a recursive php algorithm.  I
> >didn't see any that had an efficient (or smart) way of grabbing
> >comments.
> >
> >The implementation is original, the algorithm was spelled out in a
> >couple different places with slight variations in the details.
> >
> >-Vinny
> >
> >
> >On Thu, 16 Dec 2004 13:35:07 -0600, Tony Bibbs <tony at tonybibbs.com> wrote:
> >
> >
> >>Vincent Furia wrote:
> >>
> >>
> >>
> >>>Yes.  If you look in the geeklog code for calls to SEC_inGroup() it is
> >>>really only used for the  Root group.  Most of the other instance
> >>>where it is used it is used against a group id variable.  The
> >>>remainder I would argue are redundant if we better respected
> >>>privileges in 1.3.x.  I'd recommend a "isRoot" function, but I think
> >>>"inGroup" is really not needed except when actually administering
> >>>group membership.
> >>>
> >>>
> >>>
> >>>
> >>Ok, I say we yank it...adding that column in if deemed appropriate isn't
> >>too hard.
> >>
> >>
> >>
> >>>Better names for those columns wouldn't hurt, I just couldn't come up
> >>>with anything better when I was implementing it in 1.3.x.  I looked
> >>>around at other algorithms when I was first looking into improving the
> >>>performance of comments and didn't find anything better.  If you do
> >>>find something let me know.  This was, by far, the best I found.  The
> >>>biggest downside is that I had to lock the table during inserts, but
> >>>that is really OBE since we can use transactions.
> >>>
> >>>
> >>>
> >>>
> >>Was this an original implementation or was it one you borrowed from
> >>someplace?  WTF does slashcode use...you'd think they'd have to have
> >>this issue nailed down by now.
> >>
> >>--Tony
> >>_______________________________________________
> >>geeklog-devel mailing list
> >>geeklog-devel at lists.geeklog.net
> >>http://lists.geeklog.net/listinfo/geeklog-devel
> >>
> >>
> >>
> >_______________________________________________
> >geeklog-devel mailing list
> >geeklog-devel at lists.geeklog.net
> >http://lists.geeklog.net/listinfo/geeklog-devel
> >
> >
> 
> _______________________________________________
> geeklog-devel mailing list
> geeklog-devel at lists.geeklog.net
> http://lists.geeklog.net/listinfo/geeklog-devel
>



More information about the geeklog-devel mailing list