diff --git a/src/main/java/edu/caltech/nanodb/sqlparse/NanoSQLTranslator.java b/src/main/java/edu/caltech/nanodb/sqlparse/NanoSQLTranslator.java index 3a7f236a2a3b7348f7c9e28c969919e5b706b438..fa8035722a8ac9e19cc6b961e8a50cade0ad47cf 100644 --- a/src/main/java/edu/caltech/nanodb/sqlparse/NanoSQLTranslator.java +++ b/src/main/java/edu/caltech/nanodb/sqlparse/NanoSQLTranslator.java @@ -1002,16 +1002,26 @@ public class NanoSQLTranslator extends NanoSQLBaseVisitor<Object> { @Override public Object visitExprLike(NanoSQLParser.ExprLikeContext ctx) { + boolean invert = (ctx.NOT() != null); Expression lhs = (Expression) visit(ctx.expression(0)); Expression rhs = (Expression) visit(ctx.expression(1)); - return new StringMatchOperator(StringMatchOperator.Type.LIKE, lhs, rhs); + + StringMatchOperator op = new StringMatchOperator( + StringMatchOperator.Type.LIKE, lhs, rhs); + op.setInvert(invert); + return op; } @Override public Object visitExprSimilarTo(NanoSQLParser.ExprSimilarToContext ctx) { + boolean invert = (ctx.NOT() != null); Expression lhs = (Expression) visit(ctx.expression(0)); Expression rhs = (Expression) visit(ctx.expression(1)); - return new StringMatchOperator(StringMatchOperator.Type.REGEX, lhs, rhs); + + StringMatchOperator op = new StringMatchOperator( + StringMatchOperator.Type.REGEX, lhs, rhs); + op.setInvert(invert); + return op; } @Override