File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 1010import sqlancer .postgres .ast .PostgresExpression ;
1111import sqlancer .postgres .ast .PostgresFunction ;
1212import sqlancer .postgres .ast .PostgresInOperation ;
13+ import sqlancer .postgres .ast .PostgresLikeOperation ;
1314import sqlancer .postgres .ast .PostgresOrderByTerm ;
1415import sqlancer .postgres .ast .PostgresPOSIXRegularExpression ;
1516import sqlancer .postgres .ast .PostgresPostfixOperation ;
@@ -169,4 +170,11 @@ public void visit(PostgresBinaryLogicalOperation op) {
169170 visit (op .getRight ());
170171 }
171172
173+ @ Override
174+ public void visit (PostgresLikeOperation op ) {
175+ print (op );
176+ visit (op .getLeft ());
177+ visit (op .getRight ());
178+ }
179+
172180}
Original file line number Diff line number Diff line change 33import java .util .Optional ;
44
55import sqlancer .Randomly ;
6+ import sqlancer .common .visitor .BinaryOperation ;
67import sqlancer .common .visitor .ToStringVisitor ;
78import sqlancer .postgres .PostgresSchema .PostgresDataType ;
89import sqlancer .postgres .ast .PostgresAggregate ;
1718import sqlancer .postgres .ast .PostgresInOperation ;
1819import sqlancer .postgres .ast .PostgresJoin ;
1920import sqlancer .postgres .ast .PostgresJoin .PostgresJoinType ;
21+ import sqlancer .postgres .ast .PostgresLikeOperation ;
2022import sqlancer .postgres .ast .PostgresOrderByTerm ;
2123import sqlancer .postgres .ast .PostgresPOSIXRegularExpression ;
2224import sqlancer .postgres .ast .PostgresPostfixOperation ;
@@ -340,13 +342,12 @@ public void visit(PostgresCollate op) {
340342
341343 @ Override
342344 public void visit (PostgresBinaryLogicalOperation op ) {
343- sb .append ("(" );
344- visit (op .getLeft ());
345- sb .append (")" );
346- sb .append (op .getOperatorRepresentation ());
347- sb .append ("(" );
348- visit (op .getRight ());
349- sb .append (")" );
345+ super .visit ((BinaryOperation <PostgresExpression >) op );
346+ }
347+
348+ @ Override
349+ public void visit (PostgresLikeOperation op ) {
350+ super .visit ((BinaryOperation <PostgresExpression >) op );
350351 }
351352
352353}
Original file line number Diff line number Diff line change 1414import sqlancer .postgres .ast .PostgresExpression ;
1515import sqlancer .postgres .ast .PostgresFunction ;
1616import sqlancer .postgres .ast .PostgresInOperation ;
17+ import sqlancer .postgres .ast .PostgresLikeOperation ;
1718import sqlancer .postgres .ast .PostgresOrderByTerm ;
1819import sqlancer .postgres .ast .PostgresPOSIXRegularExpression ;
1920import sqlancer .postgres .ast .PostgresPostfixOperation ;
@@ -63,6 +64,8 @@ public interface PostgresVisitor {
6364
6465 void visit (PostgresBinaryLogicalOperation op );
6566
67+ void visit (PostgresLikeOperation op );
68+
6669 default void visit (PostgresExpression expression ) {
6770 if (expression instanceof PostgresConstant ) {
6871 visit ((PostgresConstant ) expression );
@@ -98,8 +101,8 @@ default void visit(PostgresExpression expression) {
98101 visit ((PostgresFromTable ) expression );
99102 } else if (expression instanceof PostgresSubquery ) {
100103 visit ((PostgresSubquery ) expression );
101- } else if (expression instanceof PostgresBinaryLogicalOperation ) {
102- visit ((PostgresBinaryLogicalOperation ) expression );
104+ } else if (expression instanceof PostgresLikeOperation ) {
105+ visit ((PostgresLikeOperation ) expression );
103106 } else {
104107 throw new AssertionError (expression );
105108 }
You can’t perform that action at this time.
0 commit comments