Hi all,

You can read about materialized paths at:

  http://www.dbazine.com/oracle/or-articles/tropashko4

Having trouble ordering a search on a materialized path.  Let's say I have an 
object with an id of 17, it might have a materialized path which looks like:  
'2.23.84.17'.  This is a branch in a tree with the 2 being the top of the tree 
and the 17 being a leaf.  To find the ancestors of a leaf, we have the 
following method:

I have the following DBIx::Class code.

    sub ancestors_rs {
        my $self = shift;
        
        my @ids = split /\./, $self->materialized_path;
        pop @ids;   # remove self
        if (!...@ids) {
            @ids = ('NOSUCHID'); # XXX :(
        }   
        
        return $self->_default_resultset('PCE')
          ->search( { 'me.id' => { -in => \...@ids } } );
    }

 
The problem is that I need to walk up the tree from bottom to top but I can't 
figure out how to order the results correctly (they get returned in an 
effectively random order).  Thoughts?

Cheers,
Ovid
--
Buy the book         - http://www.oreilly.com/catalog/perlhks/
Tech blog            - http://use.perl.org/~Ovid/journal/
Twitter              - http://twitter.com/OvidPerl
Official Perl 6 Wiki - http://www.perlfoundation.org/perl6


_______________________________________________
List: http://lists.scsys.co.uk/cgi-bin/mailman/listinfo/dbix-class
IRC: irc.perl.org#dbix-class
SVN: http://dev.catalyst.perl.org/repos/bast/DBIx-Class/
Searchable Archive: http://www.grokbase.com/group/[email protected]

Reply via email to