terrymanu commented on issue #29026:
URL: 
https://github.com/apache/shardingsphere/issues/29026#issuecomment-3622367219

   Issue Understanding
   
     - ShardingSphere-JDBC 5.4.0 with Oracle: !SINGLE tables: configured in 
lowercase, Oracle returns uppercase table names, and single tables fail to load 
at startup, throwing an NPE/not loaded. Suspected case-sensitivity mismatch.
   
     Root Cause
   
     - In 5.4.0 the single-table loader compared configured tables with actual 
tables using case-sensitive sets. Oracle defaults unquoted identifiers to 
uppercase, so a lowercase configured table didn’t match the uppercase actual 
name, leading to the single table being
       skipped and an exception.
   
     Analysis
   
     - On master, SingleTableDataNodeLoader now normalizes/matches 
case-insensitively: actual tables use a CaseInsensitiveMap and lowercase keys; 
matching uses tableName().toLowerCase(), and 
SingleTableLoadUtils.convertToDataNodes lowercases table names.
     - This means the case-mismatch issue in 5.4.0 is addressed on master; 
Oracle uppercase vs lowercase config should now match.
     - The issue is still open, but the code shows the fix on the main branch. 
Recommend upgrading to 5.5.x-SNAPSHOT or later, or in 5.4.0 temporarily 
configure uppercase table names or quote identifiers.
   
     Conclusion
   
     - Root cause: 5.4.0 single-table loading was case-sensitive, so Oracle 
uppercase names didn’t match lowercase config.
     - Master already fixes it with case-insensitive matching. Please upgrade; 
if you still see it, share your exact version, full !SINGLE config, whether 
tables were created with quotes, and the init stack trace for further checks.


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