def __get_entities(self): if self._relationship is None: ents = list(self._session.iterator(self.entity_class)) else: if self._relationship.children is None: ents = list(self._session.iterator(self.entity_class)) visitor = \ get_filter_specification_visitor(EXPRESSION_KINDS.EVAL)() self._relationship.specification.accept(visitor) ents = visitor.expression(ents) else: ents = self._relationship.children if not self._filter_spec is None: visitor = get_filter_specification_visitor(EXPRESSION_KINDS.EVAL)() self._filter_spec.accept(visitor) ents = visitor.expression(ents) # Record the total count of matching entities. count = len(ents) if not self._order_spec is None: visitor = get_order_specification_visitor(EXPRESSION_KINDS.EVAL)() self._order_spec.accept(visitor) ents = visitor.expression(ents) if not self._slice_key is None: ents = ents[self._slice_key] return ents, count
def make_order_string(cls, order_specification): """ Converts the given order specification to a CQL order expression. """ visitor_cls = get_order_specification_visitor(EXPRESSION_KINDS.CQL) visitor = visitor_cls() order_specification.accept(visitor) return str(visitor.expression)
def order_by(self, *args): spec = order(*args) visitor_cls = get_order_specification_visitor(self.expression_kind) vst = visitor_cls(self._entity_class) spec.accept(vst) return vst.order_query(self)
def order_by(self, *args): spec = order(*args) vst_cls = get_order_specification_visitor(EXPRESSION_KINDS.SQL) vst = vst_cls(self._entity_class) spec.accept(vst) return vst.order_query(self)
def _order_visitor_factory(self): """ Override this to create order visitors with custom clauses. """ visitor_cls = get_order_specification_visitor(self.expression_kind) return visitor_cls(self.entity_class)
def make_order_string(cls, order_specification): visitor_cls = get_order_specification_visitor(EXPRESSION_KINDS.CQL) visitor = visitor_cls() order_specification.accept(visitor) return str(visitor.expression)
def _order_visitor_factory(self): visitor_cls = get_order_specification_visitor(EXPRESSION_KINDS.SQL) return visitor_cls(self.entity_class)