Example #1
0
    def _validate(self):
        # All aggregates are valid
        for expr in self.agg_exprs:
            if not rules.is_scalar(expr) or not is_reduction(expr):
                raise TypeError("Passed a non-aggregate expression: %s" % _safe_repr(expr))

        for expr in self.having:
            if not isinstance(expr, ir.BooleanScalar):
                raise com.ExpressionError(
                    "Having clause must be boolean " "expression, was: {0!s}".format(_safe_repr(expr))
                )

        # All non-scalar refs originate from the input table
        all_exprs = self.agg_exprs + self.by + self.having
        self.table._assert_valid(all_exprs)
Example #2
0
    def _validate(self):
        # All aggregates are valid
        for expr in self.agg_exprs:
            if not rules.is_scalar(expr) or not is_reduction(expr):
                raise TypeError('Passed a non-aggregate expression: %s' %
                                _safe_repr(expr))

        for expr in self.having:
            if not isinstance(expr, ir.BooleanScalar):
                raise com.ExpressionError('Having clause must be boolean '
                                          'expression, was: {0!s}'.format(
                                              _safe_repr(expr)))

        # All non-scalar refs originate from the input table
        all_exprs = self.agg_exprs + self.by + self.having
        self.table._assert_valid(all_exprs)
Example #3
0
 def __repr__(self):
     # Temporary
     rows = [
         'Sort key:', '  ascending: {0!s}'.format(self.ascending),
         util.indent(_safe_repr(self.expr), 2)
     ]
     return '\n'.join(rows)
Example #4
0
    def _validate(self, args, types):
        clean_args = list(args)
        for i, validator in enumerate(types):
            try:
                clean_args[i] = validator.validate(clean_args, i)
            except IbisTypeError as e:
                exc = e.args[0]
                msg = ('Argument {0}: {1}'.format(i, exc) +
                       '\nArgument was: {0}'.format(ir._safe_repr(args[i])))
                raise IbisTypeError(msg)

        return clean_args
Example #5
0
    def _validate(self, args, types):
        clean_args = list(args)
        for i, validator in enumerate(types):
            try:
                clean_args[i] = validator.validate(clean_args, i)
            except IbisTypeError as e:
                exc = e.message
                msg = ('Argument {0}: {1}'.format(i, exc) +
                       '\nArgument was: {0}'.format(ir._safe_repr(args[i])))
                raise IbisTypeError(msg)

        return clean_args
Example #6
0
 def __repr__(self):
     # Temporary
     rows = ['Sort key:',
             '  ascending: {0!s}'.format(self.ascending),
             util.indent(_safe_repr(self.expr), 2)]
     return '\n'.join(rows)
Example #7
0
 def __repr__(self):
     # Temporary
     rows = ["Sort key:", "  ascending: {0!s}".format(self.ascending), util.indent(_safe_repr(self.expr), 2)]
     return "\n".join(rows)