This is an automated email from the ASF dual-hosted git repository.

duanzhengqiang pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/shardingsphere.git


The following commit(s) were added to refs/heads/master by this push:
     new 3c489535cd0 Update TableExtractor.java (#21597)
3c489535cd0 is described below

commit 3c489535cd0abea12df0fce8ceb677f7adc741b9
Author: xuejmnet <[email protected]>
AuthorDate: Fri Oct 21 17:21:42 2022 +0800

    Update TableExtractor.java (#21597)
    
    * Update TableExtractor.java
    
    防止静态方法多次调用和多次判断转换,当SelectStatement不在对应的if语句里面需要多判断4次
    
    * Update TableExtractor.java
---
 .../sql/parser/sql/common/extractor/TableExtractor.java              | 5 ++---
 1 file changed, 2 insertions(+), 3 deletions(-)

diff --git 
a/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/extractor/TableExtractor.java
 
b/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/extractor/TableExtractor.java
index b63dc09e69e..71675f77ed7 100644
--- 
a/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/extractor/TableExtractor.java
+++ 
b/sql-parser/statement/src/main/java/org/apache/shardingsphere/sql/parser/sql/common/extractor/TableExtractor.java
@@ -88,9 +88,8 @@ public final class TableExtractor {
         if (selectStatement.getOrderBy().isPresent()) {
             
extractTablesFromOrderByItems(selectStatement.getOrderBy().get().getOrderByItems());
         }
-        if 
(SelectStatementHandler.getLockSegment(selectStatement).isPresent()) {
-            
extractTablesFromLock(SelectStatementHandler.getLockSegment(selectStatement).get());
-        }
+        Optional<LockSegment> lockSegment = 
SelectStatementHandler.getLockSegment(selectStatement);
+        lockSegment.ifPresent(this::extractTablesFromLock);
         if (selectStatement.getCombine().isPresent()) {
             
extractTablesFromSelect(selectStatement.getCombine().get().getSelectStatement());
         }

Reply via email to