21
21
import com .google .common .base .Preconditions ;
22
22
import io .shardingjdbc .core .constant .DatabaseType ;
23
23
import io .shardingjdbc .core .parsing .SQLParsingEngine ;
24
- import io .shardingjdbc .core .parsing .parser .context .GeneratedKey ;
25
24
import io .shardingjdbc .core .parsing .parser .dialect .mysql .statement .ShowDatabasesStatement ;
26
25
import io .shardingjdbc .core .parsing .parser .dialect .mysql .statement .ShowTablesStatement ;
27
26
import io .shardingjdbc .core .parsing .parser .dialect .mysql .statement .UseStatement ;
33
32
import io .shardingjdbc .core .parsing .parser .token .GeneratedKeyToken ;
34
33
import io .shardingjdbc .core .rewrite .SQLBuilder ;
35
34
import io .shardingjdbc .core .rewrite .SQLRewriteEngine ;
35
+ import io .shardingjdbc .core .routing .GeneratedKey ;
36
36
import io .shardingjdbc .core .routing .SQLExecutionUnit ;
37
37
import io .shardingjdbc .core .routing .SQLRouteResult ;
38
38
import io .shardingjdbc .core .routing .type .RoutingEngine ;
@@ -136,8 +136,8 @@ private RoutingResult route(final List<Object> parameters, final SQLStatement sq
136
136
}
137
137
138
138
private GeneratedKey getGenerateKey (final ShardingRule shardingRule , final InsertStatement insertStatement ) {
139
- if (null != insertStatement .getGeneratedKey ()) {
140
- return insertStatement .getGeneratedKey ( );
139
+ if (null != insertStatement .getGeneratedKeyCondition ()) {
140
+ return new GeneratedKey ( insertStatement .getGeneratedKeyCondition () );
141
141
}
142
142
Optional <TableRule > tableRule = shardingRule .tryFindTableRuleByLogicTable (insertStatement .getTables ().getSingleTableName ());
143
143
if (!tableRule .isPresent ()) {
@@ -156,7 +156,7 @@ private GeneratedKey getGenerateKey(final ShardingRule shardingRule, final Inser
156
156
157
157
private void processGeneratedKey (final List <Object > parameters , final GeneratedKey generatedKey , final String logicTableName , final SQLRouteResult sqlRouteResult ) {
158
158
if (parameters .isEmpty ()) {
159
- sqlRouteResult .getGeneratedKeys ().add (generatedKey .getValue ());
159
+ sqlRouteResult .getGeneratedKey (). getGeneratedKeys ().add (generatedKey .getValue ());
160
160
} else if (parameters .size () == generatedKey .getIndex ()) {
161
161
Number key = shardingRule .generateKey (logicTableName );
162
162
parameters .add (key );
@@ -168,8 +168,8 @@ private void processGeneratedKey(final List<Object> parameters, final GeneratedK
168
168
169
169
private void setGeneratedKeys (final SQLRouteResult sqlRouteResult , final Number generatedKey ) {
170
170
generatedKeys .add (generatedKey );
171
- sqlRouteResult .getGeneratedKeys ().clear ();
172
- sqlRouteResult .getGeneratedKeys ().addAll (generatedKeys );
171
+ sqlRouteResult .getGeneratedKey (). getGeneratedKeys ().clear ();
172
+ sqlRouteResult .getGeneratedKey (). getGeneratedKeys ().addAll (generatedKeys );
173
173
}
174
174
175
175
private void processLimit (final List <Object > parameters , final SelectStatement selectStatement , final boolean isSingleRouting ) {
0 commit comments