Revision 2c2513fc snf-pithos-backend/pithos/backends/lib/sqlalchemy/node.py

b/snf-pithos-backend/pithos/backends/lib/sqlalchemy/node.py
765 765
        return None
766 766

  
767 767
    def version_lookup_bulk(self, nodes, before=inf, cluster=0,
768
                            all_props=True):
768
                            all_props=True, order_by_path=False):
769 769
        """Lookup the current versions of the given nodes.
770 770
           Return a list with their properties:
771 771
           (serial, node, hash, size, type, source, mtime, muser, uuid,
......
774 774
        if not nodes:
775 775
            return ()
776 776
        v = self.versions.alias('v')
777
        n = self.nodes.alias('n')
777 778
        if not all_props:
778 779
            s = select([v.c.serial])
779 780
        else:
......
791 792
                       self.nodes.c.node.in_(nodes))
792 793
        s = s.where(and_(v.c.serial.in_(c),
793 794
                         v.c.cluster == cluster))
794
        s = s.order_by(v.c.node)
795
        if order_by_path:
796
            s = s.where(v.c.node == n.c.node)
797
            s = s.order_by(n.c.path)
798
        else:
799
            s = s.order_by(v.c.node)
795 800
        r = self.conn.execute(s)
796 801
        rproxy = r.fetchall()
797 802
        r.close()

Also available in: Unified diff