1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 package org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.complex;
19
20 import lombok.Getter;
21 import lombok.RequiredArgsConstructor;
22 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.column.ColumnSegment;
23 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.ExpressionSegment;
24 import org.apache.shardingsphere.sql.parser.sql.common.segment.dml.expr.subquery.SubquerySegment;
25 import org.apache.shardingsphere.sql.parser.sql.common.value.identifier.IdentifierValue;
26
27 import java.util.Collection;
28 import java.util.LinkedList;
29
30
31
32
33 @RequiredArgsConstructor
34 @Getter
35 public final class CommonTableExpressionSegment implements ExpressionSegment {
36
37 private final int startIndex;
38
39 private final int stopIndex;
40
41 private final IdentifierValue identifier;
42
43 private final SubquerySegment subquery;
44
45 private final Collection<ColumnSegment> columns = new LinkedList<>();
46
47 @Override
48 public String getText() {
49 return identifier.getValue();
50 }
51 }