1   
2   
3   
4   
5   
6   
7   
8   
9   
10  
11  
12  
13  
14  
15  
16  
17  
18  package org.apache.shardingsphere.infra.executor.sql.prepare.driver.jdbc;
19  
20  import lombok.AccessLevel;
21  import lombok.Getter;
22  import lombok.RequiredArgsConstructor;
23  import org.apache.shardingsphere.infra.executor.sql.prepare.driver.StorageResourceOption;
24  
25  import java.sql.ResultSet;
26  
27  
28  
29  
30  @RequiredArgsConstructor(access = AccessLevel.PRIVATE)
31  @Getter
32  public final class StatementOption implements StorageResourceOption {
33      
34      private final int resultSetType;
35      
36      private final int resultSetConcurrency;
37      
38      private final int resultSetHoldability;
39      
40      private final boolean returnGeneratedKeys;
41      
42      private final String[] columns;
43      
44      public StatementOption(final int resultSetType, final int resultSetConcurrency, final int resultSetHoldability) {
45          this(resultSetType, resultSetConcurrency, resultSetHoldability, false, null);
46      }
47      
48      public StatementOption(final boolean returnGeneratedKeys) {
49          this(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT, returnGeneratedKeys, null);
50      }
51      
52      public StatementOption(final boolean returnGeneratedKeys, final String[] columns) {
53          this(ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY, ResultSet.HOLD_CURSORS_OVER_COMMIT, returnGeneratedKeys, columns);
54      }
55  }