Beispiel #1
0
    def right(self):
        # paths...
        pk_path = self.__right.pk_path
        right_path = self.__right.set_path
        left_path = self.__left.set_path

        # join...
        for pk in self.__right.pk_values():
            right = self.__right.retrieve(pk)
            left = self.__left.retrieve(pk)

            yield PathDict.union((pk_path, pk), (left_path, left),
                                 (right_path, right))
Beispiel #2
0
    def full(self):
        # paths...
        pk_path = self.__left.pk_path
        right_path = self.__right.set_path
        left_path = self.__left.set_path

        # keys...
        right_pk_values = set(self.__right.pk_values())
        left_pk_values = set(self.__left.pk_values())

        pk_values = sorted(right_pk_values | left_pk_values)

        # join...
        for pk in pk_values:
            right = self.__right.retrieve(pk)
            left = self.__left.retrieve(pk)

            yield PathDict.union((pk_path, pk), (left_path, left),
                                 (right_path, right))