longjy opened a new issue #3971: Why does the encrypted table only judge the 
first one, maybe left join encrypt table, and then judge that there is no 
encrypted table
URL: https://github.com/apache/incubator-shardingsphere/issues/3971
 
 
   
org.apache.shardingsphere.encrypt.rewrite.token.generator.impl.EncryptProjectionTokenGenerator#generateSQLTokens
   
   @Override
       public Collection<SubstitutableColumnNameToken> generateSQLTokens(final 
SQLStatementContext sqlStatementContext) {
           Collection<SubstitutableColumnNameToken> result = new LinkedList<>();
           Optional<SelectItemsSegment> selectItemsSegment = 
sqlStatementContext.getSqlStatement().findSQLSegment(SelectItemsSegment.class);
           Preconditions.checkState(selectItemsSegment.isPresent());
           String tableName = 
sqlStatementContext.getTablesContext().getSingleTableName();
           Optional<EncryptTable> encryptTable = 
getEncryptRule().findEncryptTable(tableName);
           if (!encryptTable.isPresent()) {
               return Collections.emptyList();
           }
           for (SelectItemSegment each : 
selectItemsSegment.get().getSelectItems()) {
               if (isEncryptLogicColumn(each, encryptTable.get())) {
                   result.add(generateSQLToken((ColumnSelectItemSegment) each, 
tableName));
               }
           }
           return result;
       }

----------------------------------------------------------------
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:
us...@infra.apache.org


With regards,
Apache Git Services

Reply via email to