kalvan2019 opened a new issue #2929: 4.0.0-RC2查询结果没有解密bug
URL: https://github.com/apache/incubator-shardingsphere/issues/2929
 
 
   使用AES加密
   数据库操作select 定位到分表只有一条sql语句执行时结果集没有解密,如果是多条sql执行会有解密
   
   
org.apache.shardingsphere.shardingjdbc.jdbc.core.statement.ShardingPreparedStatement#getResultSet()
   `public ResultSet getResultSet() throws SQLException {
           if (null != this.currentResultSet) {
               return this.currentResultSet;
           } else if (1 == 
this.preparedStatementExecutor.getStatements().size() && 
this.sqlRouteResult.getOptimizedStatement().getSQLStatement() instanceof 
SelectStatement) {
               this.currentResultSet = 
((Statement)this.preparedStatementExecutor.getStatements().iterator().next()).getResultSet();
               return this.currentResultSet;
           } else {
               List<ResultSet> resultSets = new 
ArrayList(this.preparedStatementExecutor.getStatements().size());
               List<QueryResult> queryResults = new 
ArrayList(this.preparedStatementExecutor.getStatements().size());
               Iterator var3 = 
this.preparedStatementExecutor.getStatements().iterator();
   
               while(var3.hasNext()) {
                   Statement each = (Statement)var3.next();
                   ResultSet resultSet = each.getResultSet();
                   resultSets.add(resultSet);
                   queryResults.add(new StreamQueryResult(resultSet, 
(ShardingRule)this.connection.getRuntimeContext().getRule()));
               }
   
               if (this.sqlRouteResult.getOptimizedStatement() instanceof 
ShardingSelectOptimizedStatement || 
this.sqlRouteResult.getOptimizedStatement().getSQLStatement() instanceof 
DALStatement) {
                   MergeEngine mergeEngine = 
MergeEngineFactory.newInstance(this.connection.getRuntimeContext().getDatabaseType(),
 (ShardingRule)this.connection.getRuntimeContext().getRule(), 
this.sqlRouteResult, 
this.connection.getRuntimeContext().getMetaData().getTable(), queryResults);
                   this.currentResultSet = this.getCurrentResultSet(resultSets, 
mergeEngine);
               }
   
               return this.currentResultSet;
           }
       }`

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to