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.dialect.statement.sqlserver.dml;
19
20 import lombok.Getter;
21 import lombok.Setter;
22 import org.apache.shardingsphere.sql.parser.sql.common.segment.ddl.index.IndexSegment;
23 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.OutputSegment;
24 import org.apache.shardingsphere.sql.parser.sql.common.segment.generic.WithSegment;
25 import org.apache.shardingsphere.sql.parser.sql.common.statement.dml.MergeStatement;
26 import org.apache.shardingsphere.sql.parser.sql.dialect.segment.sqlserver.hint.OptionHintSegment;
27 import org.apache.shardingsphere.sql.parser.sql.dialect.segment.sqlserver.hint.WithTableHintSegment;
28 import org.apache.shardingsphere.sql.parser.sql.dialect.segment.sqlserver.merge.MergeWhenAndThenSegment;
29 import org.apache.shardingsphere.sql.parser.sql.dialect.statement.sqlserver.SQLServerStatement;
30
31 import java.util.Collection;
32 import java.util.LinkedList;
33 import java.util.Optional;
34
35
36
37
38 @Setter
39 @Getter
40 public final class SQLServerMergeStatement extends MergeStatement implements SQLServerStatement {
41
42 private WithSegment withSegment;
43
44 private WithTableHintSegment withTableHintSegment;
45
46 private Collection<IndexSegment> indexes = new LinkedList<>();
47
48 private OutputSegment outputSegment;
49
50 private OptionHintSegment optionHintSegment;
51
52 private Collection<MergeWhenAndThenSegment> whenAndThenSegments = new LinkedList<>();
53
54
55
56
57
58
59 public Optional<WithSegment> getWithSegment() {
60 return Optional.ofNullable(withSegment);
61 }
62
63
64
65
66
67
68 public Optional<WithTableHintSegment> getWithTableHintSegment() {
69 return Optional.ofNullable(withTableHintSegment);
70 }
71
72
73
74
75
76
77 public Optional<OutputSegment> getOutputSegment() {
78 return Optional.ofNullable(outputSegment);
79 }
80
81
82
83
84
85
86 public Optional<OptionHintSegment> getOptionHintSegment() {
87 return Optional.ofNullable(optionHintSegment);
88 }
89 }