def test_ops_smoke(): expr = ir.literal(3) ops.UnaryOp(expr) ops.Cast(expr, to='int64') ops.TypeOf(arg=2) ops.Negate(4) ops.Negate(4.0) ops.NullIfZero(0) ops.NullIfZero(1) ops.IsNull(ir.null()) ops.NotNull(ir.null()) ops.ZeroIfNull(ir.null()) ops.IfNull(1, ops.NullIfZero(0).to_expr()) ops.NullIf(ir.null(), ops.NullIfZero(0).to_expr()) ops.IsNan(np.nan) ops.IsInf(np.inf) ops.Ceil(4.5) ops.Floor(4.5) ops.Round(3.43456) ops.Round(3.43456, 2) ops.Round(3.43456, digits=1) ops.Clip(123, lower=30) ops.Clip(123, lower=30, upper=100) ops.BaseConvert('EEE', from_base=16, to_base=10) ops.Logarithm(100) ops.Log(100) ops.Log(100, base=2) ops.Ln(100) ops.Log2(100) ops.Log10(100) ops.Uppercase('asd') ops.Lowercase('asd') ops.Reverse('asd') ops.Strip('asd') ops.LStrip('asd') ops.RStrip('asd') ops.Capitalize('asd') ops.Substring('asd', start=1) ops.Substring('asd', 1) ops.Substring('asd', 1, length=2) ops.StrRight('asd', nchars=2) ops.Repeat('asd', times=4) ops.StringFind('asd', 'sd', start=1) ops.Translate('asd', from_str='bd', to_str='ce') ops.LPad('asd', length=2, pad='ss') ops.RPad('asd', length=2, pad='ss') ops.StringJoin(',', ['asd', 'bsdf']) ops.FuzzySearch('asd', pattern='n') ops.StringSQLLike('asd', pattern='as', escape='asd') ops.RegexExtract('asd', pattern='as', index=1) ops.RegexReplace('asd', 'as', 'a') ops.StringReplace('asd', 'as', 'a') ops.StringSplit('asd', 's') ops.StringConcat(['s', 'e']) ops.StartsWith('asd', 'as') ops.EndsWith('asd', 'xyz')
def test_ops_smoke(): expr = ir.literal(3) ops.UnaryOp(expr) ops.Cast(expr, to='int64') ops.TypeOf(arg=2) ops.Negate(4) ops.Negate(4.0) ops.NullIfZero(0) ops.NullIfZero(1) ops.IsNull(ir.null()) ops.NotNull(ir.null()) ops.ZeroIfNull(ir.null()) ops.IfNull(1, ops.NullIfZero(0).to_expr()) ops.NullIf(ir.null(), ops.NullIfZero(0).to_expr()) ops.IsNan(np.nan) ops.IsInf(np.inf) ops.Ceil(4.5) ops.Floor(4.5) ops.Round(3.43456) ops.Round(3.43456, 2) ops.Round(3.43456, digits=1) ops.Clip(123, lower=30) ops.Clip(123, lower=30, upper=100) ops.BaseConvert('EEE', from_base=16, to_base=10) ops.Logarithm(100) ops.Log(100) ops.Log(100, base=2) ops.Ln(100) ops.Log2(100) ops.Log10(100) ops.Uppercase('asd') ops.Lowercase('asd') ops.Reverse('asd') ops.Strip('asd') ops.LStrip('asd') ops.RStrip('asd') ops.Capitalize('asd') ops.Substring('asd', start=1) ops.Substring('asd', 1) ops.Substring('asd', 1, length=2) ops.StrRight('asd', nchars=2) ops.Repeat('asd', times=4) ops.StringFind('asd', 'sd', start=1) ops.Translate('asd', from_str='bd', to_str='ce') ops.LPad('asd', length=2, pad='ss') ops.RPad('asd', length=2, pad='ss') ops.StringJoin(',', ['asd', 'bsdf']) ops.FuzzySearch('asd', pattern='n') ops.StringSQLLike('asd', pattern='as', escape='asd') ops.RegexExtract('asd', pattern='as', index=1) ops.RegexReplace('asd', 'as', 'a') ops.StringReplace('asd', 'as', 'a') ops.StringSplit('asd', 's') ops.StringConcat(['s', 'e'])
def end(self): if self.default is None: default = ir.null() else: default = self.default op = SearchedCase(self.cases, self.results, default) return op.to_expr()
def end(self): default = self.default if default is None: default = ir.null().cast(self.type()) args = [ getattr(self, slot) for slot in self.__slots__ if slot != 'default' ] args.append(default) op = self.__class__.case_op(*args) return op.to_expr()
def variance_compiler(t, expr): arg, where, how = expr.op().args func = getattr(sa.func, '%s_%s' % (func_name, suffix.get(how, 'samp'))) if where is None: return func(t.translate(arg)) else: # TODO(wesm): PostgreSQL 9.4 stuff # where_compiled = t.translate(where) # return sa.funcfilter(result, where_compiled) filtered = where.ifelse(ir.null(), arg) return func(t.translate(filtered))
__all__ = [ 'schema', 'table', 'literal', 'expr_list', 'timestamp', 'case', 'where', 'sequence', 'now', 'desc', 'null', 'NA', 'cast', 'coalesce', 'greatest', 'least', 'cross_join', 'join', 'aggregate', 'row_number', 'negate', 'ifelse', 'Expr', 'Schema', 'window', 'trailing_window', 'cumulative_window' ] __all__ += _T.__all__ NA = null() _data_type_docs = """\ Ibis uses its own type aliases that map onto database types. See, for example, the correspondence between Ibis type names and Impala type names: Ibis type Impala Type ~~~~~~~~~ ~~~~~~~~~~~ int8 TINYINT int16 SMALLINT int32 INT int64 BIGINT float FLOAT double DOUBLE boolean BOOLEAN
"greatest", "least", "join", "row_number", "negate", "ifelse", "Expr", "Schema", "window", "trailing_window", "cumulative_window", ] __all__ += _T.__all__ NA = null() _data_type_docs = """\ Ibis uses its own type aliases that map onto database types. See, for example, the correspondence between Ibis type names and Impala type names: Ibis type Impala Type ~~~~~~~~~ ~~~~~~~~~~~ int8 TINYINT int16 SMALLINT int32 INT int64 BIGINT float FLOAT double DOUBLE boolean BOOLEAN