strongduanmu commented on a change in pull request #10956:
URL: https://github.com/apache/shardingsphere/pull/10956#discussion_r659405244



##########
File path: 
shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/builder/loader/dialect/OracleTableMetaDataLoaderTest.java
##########
@@ -163,16 +201,16 @@ private ResultSet mockPrimaryKeysMetaDataResultSet() 
throws SQLException {
         when(result.getString("COLUMN_NAME")).thenReturn("id");
         return result;
     }
-    
+
     private DialectTableMetaDataLoader getTableMetaDataLoader() {
         for (DialectTableMetaDataLoader each : 
ShardingSphereServiceLoader.getSingletonServiceInstances(DialectTableMetaDataLoader.class))
 {
-            if ("Oracle".equals(each.getDatabaseType())) {
+            if ("Oracle" .equals(each.getDatabaseType())) {

Review comment:
       @xueshiji Please delete this useless blank.

##########
File path: 
shardingsphere-infra/shardingsphere-infra-common/src/main/java/org/apache/shardingsphere/infra/metadata/schema/builder/loader/dialect/OracleTableMetaDataLoader.java
##########
@@ -105,7 +107,8 @@ private ColumnMetaData loadColumnMetaData(final Map<String, 
Integer> dataTypeMap
     }
 
     private String getTableMetaDataSQL(final Collection<String> existedTables, 
final DatabaseMetaData metaData) throws SQLException {
-        String collation = metaData.getDatabaseMajorVersion() >= 
COLLATION_START_MAJOR_VERSION && metaData.getDatabaseMinorVersion() >= 
COLLATION_START_MINOR_VERSION ? ", COLLATION" : "";
+        String collation = metaData.getDatabaseMajorVersion() >= 
COLLATION_START_MAJOR_VERSION ? metaData.getDatabaseMinorVersion() >= 
COLLATION_START_MINOR_VERSION ? ", IDENTITY_COLUMN, COLLATION"

Review comment:
       @xueshiji This expression is too complicated. It might be better to 
split it into two expressions. What do you think?

##########
File path: 
shardingsphere-infra/shardingsphere-infra-common/src/test/java/org/apache/shardingsphere/infra/metadata/schema/builder/loader/dialect/OracleTableMetaDataLoaderTest.java
##########
@@ -37,106 +37,144 @@
 import static org.mockito.Mockito.mock;
 import static org.mockito.Mockito.when;
 
+/**.
+ * Condition 1: Oracle version >= 12.2 WithoutExistedTables
+ * Condition 2: 12.2>Oracle version >= 12.1 WithoutExistedTables
+ * Condition 3: Oracle version < 12.1 WithoutExistedTables
+ * Condition 4: Oracle version >= 12.2 WithExistedTables
+ * Condition 5: 12.2>Oracle version >= 12.1 WithExistedTables
+ * Condition 6: Oracle version < 12.1 WithExistedTables
+ */
 public final class OracleTableMetaDataLoaderTest {
-    
+
+    private static final String ALL_CONSTRAINTS_SQL_WITHOUTEXISTEDTABLES = 
"SELECT A.OWNER AS TABLE_SCHEMA, A.TABLE_NAME AS TABLE_NAME, B.COLUMN_NAME AS 
COLUMN_NAME FROM ALL_CONSTRAINTS A"
+            + " INNER JOIN ALL_CONS_COLUMNS B ON A.CONSTRAINT_NAME = 
B.CONSTRAINT_NAME WHERE CONSTRAINT_TYPE = 'P' AND A.OWNER = ?";
+
+    private static final String ALL_CONSTRAINTS_SQL_WITHEXISTEDTABLES = 
"SELECT A.OWNER AS TABLE_SCHEMA, A.TABLE_NAME AS TABLE_NAME, B.COLUMN_NAME AS 
COLUMN_NAME FROM ALL_CONSTRAINTS A"
+            + " INNER JOIN ALL_CONS_COLUMNS B ON A.CONSTRAINT_NAME = 
B.CONSTRAINT_NAME WHERE CONSTRAINT_TYPE = 'P' AND A.OWNER = ? AND A.TABLE_NAME 
NOT IN ('existed_tbl')";
+
+    private static final String ALL_INDEXES_SQL = "SELECT OWNER AS 
TABLE_SCHEMA, TABLE_NAME, INDEX_NAME FROM ALL_INDEXES WHERE OWNER = ? AND 
TABLE_NAME IN ('tbl')";
+
+    private static final String ALL_TAB_COLUMNS_SQL_CONDITION1 = "SELECT OWNER 
AS TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE , IDENTITY_COLUMN, 
COLLATION"
+            + " FROM ALL_TAB_COLUMNS WHERE OWNER = ?";
+
+    private static final String ALL_TAB_COLUMNS_SQL_CONDITION2 = "SELECT OWNER 
AS TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE , IDENTITY_COLUMN FROM 
ALL_TAB_COLUMNS WHERE OWNER = ?";
+
+    private static final String ALL_TAB_COLUMNS_SQL_CONDITION3 = "SELECT OWNER 
AS TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE  FROM ALL_TAB_COLUMNS WHERE 
OWNER = ?";
+
+    private static final String ALL_TAB_COLUMNS_SQL_CONDITION4 = "SELECT OWNER 
AS TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE , IDENTITY_COLUMN, 
COLLATION FROM ALL_TAB_COLUMNS"
+            + " WHERE OWNER = ? AND TABLE_NAME NOT IN ('existed_tbl')";
+
+    private static final String ALL_TAB_COLUMNS_SQL_CONDITION5 = "SELECT OWNER 
AS TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE , IDENTITY_COLUMN FROM 
ALL_TAB_COLUMNS"
+            + " WHERE OWNER = ? AND TABLE_NAME NOT IN ('existed_tbl')";
+
+    private static final String ALL_TAB_COLUMNS_SQL_CONDITION6 = "SELECT OWNER 
AS TABLE_SCHEMA, TABLE_NAME, COLUMN_NAME, DATA_TYPE  FROM ALL_TAB_COLUMNS"
+            + " WHERE OWNER = ? AND TABLE_NAME NOT IN ('existed_tbl')";
+
     @BeforeClass
     public static void setUp() {
         ShardingSphereServiceLoader.register(DialectTableMetaDataLoader.class);
     }
-    

Review comment:
       @xueshiji Please keep indents consistent with the previous one.
   




-- 
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.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to