Skip to content

Commit b6fab2a

Browse files
fix: expose IntervalExpression attributes and use DeParser
1 parent 54b4303 commit b6fab2a

File tree

2 files changed

+18
-3
lines changed

2 files changed

+18
-3
lines changed

src/main/java/net/sf/jsqlparser/expression/IntervalExpression.java

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,10 @@
99
*/
1010
package net.sf.jsqlparser.expression;
1111

12-
import java.util.Objects;
1312
import net.sf.jsqlparser.parser.ASTNodeAccessImpl;
1413

14+
import java.util.Objects;
15+
1516
public class IntervalExpression extends ASTNodeAccessImpl implements Expression {
1617

1718
private String parameter = null;
@@ -27,6 +28,10 @@ public IntervalExpression(boolean intervalKeyword) {
2728
this.intervalKeyword = intervalKeyword;
2829
}
2930

31+
public boolean isUsingIntervalKeyword() {
32+
return intervalKeyword;
33+
}
34+
3035
public String getParameter() {
3136
return parameter;
3237
}

src/main/java/net/sf/jsqlparser/util/deparser/ExpressionDeParser.java

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -816,8 +816,18 @@ public void visit(ExtractExpression eexpr) {
816816
}
817817

818818
@Override
819-
public void visit(IntervalExpression iexpr) {
820-
buffer.append(iexpr.toString());
819+
public void visit(IntervalExpression intervalExpression) {
820+
if (intervalExpression.isUsingIntervalKeyword()) {
821+
buffer.append("INTERVAL ");
822+
}
823+
if (intervalExpression.getExpression()!=null) {
824+
intervalExpression.getExpression().accept(this);
825+
} else {
826+
buffer.append(intervalExpression.getParameter());
827+
}
828+
if (intervalExpression.getIntervalType()!=null) {
829+
buffer.append(" ").append(intervalExpression.getIntervalType());
830+
}
821831
}
822832

823833
@Override

0 commit comments

Comments
 (0)