def _sqlalchemy(cls, column, like_pattern_list, match_on, _dialect, **kwargs): if not match_on: match_on = "any" if match_on not in ["any", "all"]: raise ValueError("match_on must be any or all") if len(like_pattern_list) == 0: raise ValueError( "At least one like_pattern must be supplied in the like_pattern_list." ) like_pattern_expression = get_dialect_like_pattern_expression( column, _dialect, like_pattern_list[0]) if like_pattern_expression is None: logger.warning( f"Like patterns are not supported for dialect {str(_dialect.dialect.name)}" ) raise NotImplementedError if match_on == "any": condition = sa.or_(*(get_dialect_like_pattern_expression( column, _dialect, like_pattern) for like_pattern in like_pattern_list)) else: condition = sa.and_(*(get_dialect_like_pattern_expression( column, _dialect, like_pattern) for like_pattern in like_pattern_list)) return condition
def _sqlalchemy(cls, column, like_pattern_list, _dialect, **kwargs): if len(like_pattern_list) == 0: raise ValueError( "At least one like_pattern must be supplied in the like_pattern_list." ) like_pattern_expression = get_dialect_like_pattern_expression( column, _dialect, like_pattern_list[0], positive=False) if like_pattern_expression is None: logger.warning("Like patterns are not supported for dialect %s" % str(_dialect.name)) raise NotImplementedError return sa.and_(*(get_dialect_like_pattern_expression( column, _dialect, like_pattern, positive=False) for like_pattern in like_pattern_list))
def _sqlalchemy(cls, column, like_pattern, _dialect, **kwargs): like_pattern_expression = get_dialect_like_pattern_expression( column, _dialect, like_pattern) if like_pattern_expression is None: logger.warning("Like patterns are not supported for dialect %s" % str(_dialect.name)) raise NotImplementedError return like_pattern_expression