public override bool Visit(SqlLikeScalarExpression first, SqlObject secondAsObject) { if (!(secondAsObject is SqlLikeScalarExpression second)) { return(false); } if (!Equals(first.Expression, second.Expression)) { return(false); } if (!Equals(first.Pattern, second.Pattern)) { return(false); } if (!Equals(first.Not, second.Not)) { return(false); } if (!Equals(first.EscapeSequence, second.EscapeSequence)) { return(false); } return(true); }
public override SqlObject Visit(SqlLikeScalarExpression sqlLikeScalarExpression) { return(SqlLikeScalarExpression.Create( sqlLikeScalarExpression.Expression.Accept(this) as SqlScalarExpression, sqlLikeScalarExpression.Pattern.Accept(this) as SqlScalarExpression, sqlLikeScalarExpression.Not, sqlLikeScalarExpression.EscapeSequence?.Accept(this) as SqlStringLiteral)); }
public override SqlObject VisitLike_scalar_expression([NotNull] sqlParser.Like_scalar_expressionContext context) { Contract.Requires(context != null); SqlScalarExpression expression = (SqlScalarExpression)this.Visit(context.binary_scalar_expression()[0]); SqlScalarExpression pattern = (SqlScalarExpression)this.Visit(context.binary_scalar_expression()[1]); bool not = context.K_NOT() != null; SqlStringLiteral escapeSequence = (context.escape_expression() != null) ? (SqlStringLiteral)this.Visit(context.escape_expression()) : null; return(SqlLikeScalarExpression.Create(expression, pattern, not, escapeSequence)); }
public override int Visit(SqlLikeScalarExpression sqlLikeScalarExpression) { int hashCode = SqlLikeScalarExpressionHashCode; hashCode = CombineHashes(hashCode, sqlLikeScalarExpression.Expression.Accept(this)); hashCode = CombineHashes(hashCode, sqlLikeScalarExpression.Not ? 1 : 0); hashCode = CombineHashes(hashCode, sqlLikeScalarExpression.Pattern.Accept(this)); if (sqlLikeScalarExpression.EscapeSequence != null) { hashCode = CombineHashes(hashCode, sqlLikeScalarExpression.EscapeSequence.Accept(this)); } return(hashCode); }
public override void Visit(SqlLikeScalarExpression sqlObject) { this.writer.Write("("); sqlObject.Expression.Accept(this); if (sqlObject.Not) { this.writer.Write(" NOT "); } this.writer.Write(" LIKE "); sqlObject.Pattern.Accept(this); if (sqlObject.EscapeSequence != null) { this.writer.Write(" ESCAPE "); sqlObject.EscapeSequence.Accept(this); } this.writer.Write(")"); }
public abstract void Visit(SqlLikeScalarExpression scalarExpression);
public abstract void Visit(SqlLikeScalarExpression sqlObject);
public abstract TResult Visit(SqlLikeScalarExpression sqlObject);
public override bool Visit(SqlLikeScalarExpression scalarExpression) { return(false); }
public abstract TOutput Visit(SqlLikeScalarExpression sqlObject, TArg input);
public abstract TResult Visit(SqlLikeScalarExpression scalarExpression);
public override CosmosElement Visit(SqlLikeScalarExpression scalarExpression, CosmosElement document) { // Consider the necessity of having v3 offline engine. Should we remove this altogether? throw new NotImplementedException(); }