<h2 dir="auto">Bug Report</h2>
<h3 dir="auto">Which version of ShardingSphere did you use?</h3>
<p dir="auto">master branch</p>
<h3 dir="auto">Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?</h3>
<p dir="auto">Proxy</p>
<h3 dir="auto">Expected behavior</h3>
<p dir="auto">PipelineTableMetaDataLoader.getTableMetaData should case-insensitive for table name.</p>
<h3 dir="auto">Actual behavior</h3>
<p dir="auto">Case-sensitive.</p>
<p dir="auto">Proxy log:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="[INFO ] 2022-04-30 14:50:08.688 [0130317c30317c3054317c7363616c696e675f6462_Worker-1] o.a.s.d.p.c.m.l.PipelineTableMetaDataLoader - loadTableMetaData, tableNamePattern=t_order, result={T_ORDER=PipelineTableMetaData(name=T_ORDER, columnMetaDataMap={order_id=PipelineColumnMetaData(ordinalPosition=1, name=order_id, dataType=4, dataTypeName=INT, primaryKey=true), user_id=PipelineColumnMetaData(ordinalPosition=2, name=user_id, dataType=4, dataTypeName=INT, primaryKey=false), status=PipelineColumnMetaData(ordinalPosition=3, name=status, dataType=12, dataTypeName=VARCHAR, primaryKey=false)}, columnNames=[order_id, user_id, status], primaryKeyColumns=[order_id])}, cost time=17 ms
[WARN ] 2022-04-30 14:50:24.892 [0130317c30317c3054317c7363616c696e675f6462_Worker-1] o.a.s.d.p.c.m.l.PipelineTableMetaDataLoader - getTableMetaData, can not load metadata for table 't_order'"><pre class="notranslate"><code class="notranslate">[INFO ] 2022-04-30 14:50:08.688 [0130317c30317c3054317c7363616c696e675f6462_Worker-1] o.a.s.d.p.c.m.l.PipelineTableMetaDataLoader - loadTableMetaData, tableNamePattern=t_order, result={T_ORDER=PipelineTableMetaData(name=T_ORDER, columnMetaDataMap={order_id=PipelineColumnMetaData(ordinalPosition=1, name=order_id, dataType=4, dataTypeName=INT, primaryKey=true), user_id=PipelineColumnMetaData(ordinalPosition=2, name=user_id, dataType=4, dataTypeName=INT, primaryKey=false), status=PipelineColumnMetaData(ordinalPosition=3, name=status, dataType=12, dataTypeName=VARCHAR, primaryKey=false)}, columnNames=[order_id, user_id, status], primaryKeyColumns=[order_id])}, cost time=17 ms
[WARN ] 2022-04-30 14:50:24.892 [0130317c30317c3054317c7363616c696e675f6462_Worker-1] o.a.s.d.p.c.m.l.PipelineTableMetaDataLoader - getTableMetaData, can not load metadata for table 't_order'
</code></pre></div>
<h3 dir="auto">Reason analyze (If you can)</h3>
<h3 dir="auto">Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.</h3>
<p dir="auto">Run in MySQL (in MySQL cli):</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="mysql&gt; drop database if exists scaling_ds_0;
Query OK, 4 rows affected (0.06 sec)

mysql&gt; create database scaling_ds_0 default charset utf8;
Query OK, 1 row affected (0.03 sec)

mysql&gt; use scaling_ds_0
Database changed
mysql&gt; CREATE TABLE T_ORDER (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
Query OK, 0 rows affected (0.05 sec)

mysql&gt; insert into t_order (order_id, user_id, status) values (1,2,'ok'),(2,4,'ok'),(3,6,'ok'),(4,1,'ok'),(5,3,'ok'),(6,5,'ok');
Query OK, 6 rows affected (0.03 sec)
Records: 6  Duplicates: 0  Warnings: 0

mysql&gt; select * from T_ORDER;
+----------+---------+--------+
| order_id | user_id | status |
+----------+---------+--------+
|        1 |       2 | ok     |
|        2 |       4 | ok     |
|        3 |       6 | ok     |
|        4 |       1 | ok     |
|        5 |       3 | ok     |
|        6 |       5 | ok     |
+----------+---------+--------+
6 rows in set (0.00 sec)"><pre class="notranslate"><code class="notranslate">mysql&gt; drop database if exists scaling_ds_0;
Query OK, 4 rows affected (0.06 sec)

mysql&gt; create database scaling_ds_0 default charset utf8;
Query OK, 1 row affected (0.03 sec)

mysql&gt; use scaling_ds_0
Database changed
mysql&gt; CREATE TABLE T_ORDER (order_id INT NOT NULL, user_id INT NOT NULL, status VARCHAR(45) NULL, PRIMARY KEY (order_id));
Query OK, 0 rows affected (0.05 sec)

mysql&gt; insert into t_order (order_id, user_id, status) values (1,2,'ok'),(2,4,'ok'),(3,6,'ok'),(4,1,'ok'),(5,3,'ok'),(6,5,'ok');
Query OK, 6 rows affected (0.03 sec)
Records: 6  Duplicates: 0  Warnings: 0

mysql&gt; select * from T_ORDER;
+----------+---------+--------+
| order_id | user_id | status |
+----------+---------+--------+
|        1 |       2 | ok     |
|        2 |       4 | ok     |
|        3 |       6 | ok     |
|        4 |       1 | ok     |
|        5 |       3 | ok     |
|        6 |       5 | ok     |
+----------+---------+--------+
6 rows in set (0.00 sec)
</code></pre></div>
<p dir="auto">Run in Proxy (in MySQL cli):</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="mysql&gt; create database scaling_db;
Query OK, 0 rows affected (0.13 sec)

mysql&gt; use scaling_db
Database changed
mysql&gt; ADD RESOURCE ds_0 (
    -&gt;     URL=&quot;jdbc:mysql://127.0.0.1:3306/scaling_ds_0?serverTimezone=UTC&amp;useSSL=false&quot;,
    -&gt;     USER=root,
    -&gt;     PASSWORD=root,
    -&gt;     PROPERTIES(&quot;maximumPoolSize&quot;=50,&quot;idleTimeout&quot;=&quot;60000&quot;)
    -&gt; );
Query OK, 0 rows affected (1.01 sec)

mysql&gt; CREATE SHARDING ALGORITHM database_inline (
    -&gt; TYPE(NAME=INLINE,PROPERTIES(&quot;algorithm-expression&quot;=&quot;ds_0&quot;))
    -&gt; );
Query OK, 0 rows affected (1.73 sec)

mysql&gt; CREATE SHARDING ALGORITHM t_order_inline (
    -&gt; TYPE(NAME=INLINE,PROPERTIES(&quot;algorithm-expression&quot;=&quot;t_order&quot;))
    -&gt; );
Query OK, 0 rows affected (0.06 sec)

mysql&gt; CREATE SHARDING TABLE RULE t_order (
    -&gt; DATANODES(&quot;ds_0.t_order&quot;),
    -&gt; DATABASE_STRATEGY(TYPE=standard,SHARDING_COLUMN=user_id,SHARDING_ALGORITHM=database_inline),
    -&gt; TABLE_STRATEGY(TYPE=standard,SHARDING_COLUMN=order_id,SHARDING_ALGORITHM=t_order_inline),
    -&gt; KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=snowflake))
    -&gt; );
Query OK, 0 rows affected (1.36 sec)

mysql&gt; preview select count(1) from t_order;
+------------------+------------------------------+
| data_source_name | actual_sql                   |
+------------------+------------------------------+
| ds_0             | select count(1) from t_order |
+------------------+------------------------------+
1 row in set (0.29 sec)

mysql&gt; select count(1) from t_order;
+----------+
| count(1) |
+----------+
|        6 |
+----------+
1 row in set (0.15 sec)

mysql&gt; CREATE SHARDING SCALING RULE scaling_auto1 (
    -&gt; COMPLETION_DETECTOR(TYPE(NAME=IDLE, PROPERTIES(&quot;incremental-task-idle-second-threshold&quot;=10))),
    -&gt; DATA_CONSISTENCY_CHECKER(TYPE(NAME=DATA_MATCH, PROPERTIES(&quot;chunk-size&quot;=1000)))
    -&gt; );
Query OK, 0 rows affected (0.09 sec)

mysql&gt; ADD RESOURCE ds_2 (
    -&gt;     URL=&quot;jdbc:mysql://127.0.0.1:3306/scaling_ds_10?serverTimezone=UTC&amp;useSSL=false&quot;,
    -&gt;     USER=root,
    -&gt;     PASSWORD=root,
    -&gt;     PROPERTIES(&quot;maximumPoolSize&quot;=50,&quot;idleTimeout&quot;=&quot;60000&quot;)
    -&gt; ), ds_3 (
    -&gt;     URL=&quot;jdbc:mysql://127.0.0.1:3306/scaling_ds_11?serverTimezone=UTC&amp;useSSL=false&quot;,
    -&gt;     USER=root,
    -&gt;     PASSWORD=root,
    -&gt;     PROPERTIES(&quot;maximumPoolSize&quot;=50,&quot;idleTimeout&quot;=&quot;60000&quot;)
    -&gt; ), ds_4 (
    -&gt;     URL=&quot;jdbc:mysql://127.0.0.1:3306/scaling_ds_12?serverTimezone=UTC&amp;useSSL=false&quot;,
    -&gt;     USER=root,
    -&gt;     PASSWORD=root,
    -&gt;     PROPERTIES(&quot;maximumPoolSize&quot;=50,&quot;idleTimeout&quot;=&quot;60000&quot;)
    -&gt; );
Query OK, 0 rows affected (0.21 sec)

mysql&gt; ALTER SHARDING TABLE RULE t_order(
    -&gt; RESOURCES(ds_2,ds_3,ds_4),
    -&gt; SHARDING_COLUMN=order_id,
    -&gt; TYPE(NAME=hash_mod,PROPERTIES(&quot;sharding-count&quot;=6)),
    -&gt; KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=snowflake))
    -&gt; );
Query OK, 0 rows affected (0.27 sec)

mysql&gt; show scaling list;
+--------------------------------------------+---------+----------------------+--------+---------------------+-----------+
| id                                         | tables  | sharding_total_count | active | create_time         | stop_time |
+--------------------------------------------+---------+----------------------+--------+---------------------+-----------+
| 0130317c30317c3054317c7363616c696e675f6462 | t_order | 1                    | true   | 2022-04-30 14:50:07 | NULL      |
+--------------------------------------------+---------+----------------------+--------+---------------------+-----------+
1 row in set (0.24 sec)"><pre class="notranslate"><code class="notranslate">mysql&gt; create database scaling_db;
Query OK, 0 rows affected (0.13 sec)

mysql&gt; use scaling_db
Database changed
mysql&gt; ADD RESOURCE ds_0 (
    -&gt;     URL="jdbc:mysql://127.0.0.1:3306/scaling_ds_0?serverTimezone=UTC&amp;useSSL=false",
    -&gt;     USER=root,
    -&gt;     PASSWORD=root,
    -&gt;     PROPERTIES("maximumPoolSize"=50,"idleTimeout"="60000")
    -&gt; );
Query OK, 0 rows affected (1.01 sec)

mysql&gt; CREATE SHARDING ALGORITHM database_inline (
    -&gt; TYPE(NAME=INLINE,PROPERTIES("algorithm-expression"="ds_0"))
    -&gt; );
Query OK, 0 rows affected (1.73 sec)

mysql&gt; CREATE SHARDING ALGORITHM t_order_inline (
    -&gt; TYPE(NAME=INLINE,PROPERTIES("algorithm-expression"="t_order"))
    -&gt; );
Query OK, 0 rows affected (0.06 sec)

mysql&gt; CREATE SHARDING TABLE RULE t_order (
    -&gt; DATANODES("ds_0.t_order"),
    -&gt; DATABASE_STRATEGY(TYPE=standard,SHARDING_COLUMN=user_id,SHARDING_ALGORITHM=database_inline),
    -&gt; TABLE_STRATEGY(TYPE=standard,SHARDING_COLUMN=order_id,SHARDING_ALGORITHM=t_order_inline),
    -&gt; KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=snowflake))
    -&gt; );
Query OK, 0 rows affected (1.36 sec)

mysql&gt; preview select count(1) from t_order;
+------------------+------------------------------+
| data_source_name | actual_sql                   |
+------------------+------------------------------+
| ds_0             | select count(1) from t_order |
+------------------+------------------------------+
1 row in set (0.29 sec)

mysql&gt; select count(1) from t_order;
+----------+
| count(1) |
+----------+
|        6 |
+----------+
1 row in set (0.15 sec)

mysql&gt; CREATE SHARDING SCALING RULE scaling_auto1 (
    -&gt; COMPLETION_DETECTOR(TYPE(NAME=IDLE, PROPERTIES("incremental-task-idle-second-threshold"=10))),
    -&gt; DATA_CONSISTENCY_CHECKER(TYPE(NAME=DATA_MATCH, PROPERTIES("chunk-size"=1000)))
    -&gt; );
Query OK, 0 rows affected (0.09 sec)

mysql&gt; ADD RESOURCE ds_2 (
    -&gt;     URL="jdbc:mysql://127.0.0.1:3306/scaling_ds_10?serverTimezone=UTC&amp;useSSL=false",
    -&gt;     USER=root,
    -&gt;     PASSWORD=root,
    -&gt;     PROPERTIES("maximumPoolSize"=50,"idleTimeout"="60000")
    -&gt; ), ds_3 (
    -&gt;     URL="jdbc:mysql://127.0.0.1:3306/scaling_ds_11?serverTimezone=UTC&amp;useSSL=false",
    -&gt;     USER=root,
    -&gt;     PASSWORD=root,
    -&gt;     PROPERTIES("maximumPoolSize"=50,"idleTimeout"="60000")
    -&gt; ), ds_4 (
    -&gt;     URL="jdbc:mysql://127.0.0.1:3306/scaling_ds_12?serverTimezone=UTC&amp;useSSL=false",
    -&gt;     USER=root,
    -&gt;     PASSWORD=root,
    -&gt;     PROPERTIES("maximumPoolSize"=50,"idleTimeout"="60000")
    -&gt; );
Query OK, 0 rows affected (0.21 sec)

mysql&gt; ALTER SHARDING TABLE RULE t_order(
    -&gt; RESOURCES(ds_2,ds_3,ds_4),
    -&gt; SHARDING_COLUMN=order_id,
    -&gt; TYPE(NAME=hash_mod,PROPERTIES("sharding-count"=6)),
    -&gt; KEY_GENERATE_STRATEGY(COLUMN=order_id,TYPE(NAME=snowflake))
    -&gt; );
Query OK, 0 rows affected (0.27 sec)

mysql&gt; show scaling list;
+--------------------------------------------+---------+----------------------+--------+---------------------+-----------+
| id                                         | tables  | sharding_total_count | active | create_time         | stop_time |
+--------------------------------------------+---------+----------------------+--------+---------------------+-----------+
| 0130317c30317c3054317c7363616c696e675f6462 | t_order | 1                    | true   | 2022-04-30 14:50:07 | NULL      |
+--------------------------------------------+---------+----------------------+--------+---------------------+-----------+
1 row in set (0.24 sec)
</code></pre></div>
<p dir="auto">Run in MySQL:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="mysql&gt; update T_ORDER set status='ok1' where order_id=1;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0"><pre class="notranslate"><code class="notranslate">mysql&gt; update T_ORDER set status='ok1' where order_id=1;
Query OK, 1 row affected (0.03 sec)
Rows matched: 1  Changed: 1  Warnings: 0
</code></pre></div>
<p dir="auto">Run in Proxy:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="mysql&gt; show scaling status 0130317c30317c3054317c7363616c696e675f6462;
+------+-------------+-------------------+--------+-------------------------------+--------------------------+
| item | data_source | status            | active | inventory_finished_percentage | incremental_idle_seconds |
+------+-------------+-------------------+--------+-------------------------------+--------------------------+
| 0    | ds_0        | PREPARING_FAILURE | true   | 0                             | 0                        |
+------+-------------+-------------------+--------+-------------------------------+--------------------------+
1 row in set (0.02 sec)"><pre class="notranslate"><code class="notranslate">mysql&gt; show scaling status 0130317c30317c3054317c7363616c696e675f6462;
+------+-------------+-------------------+--------+-------------------------------+--------------------------+
| item | data_source | status            | active | inventory_finished_percentage | incremental_idle_seconds |
+------+-------------+-------------------+--------+-------------------------------+--------------------------+
| 0    | ds_0        | PREPARING_FAILURE | true   | 0                             | 0                        |
+------+-------------+-------------------+--------+-------------------------------+--------------------------+
1 row in set (0.02 sec)
</code></pre></div>
<h3 dir="auto">Example codes for reproduce this issue (such as a github link).</h3>
<div class="highlight highlight-source-ini notranslate position-relative overflow-auto" dir="auto" data-snippet-clipboard-copy-content="I don't think you fully understand what I mean. I mean, all names are different  Include the key in the datasourceMap
The following conditions need to be met at the same time
  1： Database names are no rule  
  2： table names are  no  rule 
  3： the key in the datasourceMap are  no  rule  
  4： Use  ShardingAutoTableRuleConfiguration  
  5： Use  Mod Sharding Algorithm

  * How  to code  this  example ?
  * How  to code  this  example ?
  * How  to code  this  example ?

--------------------------------------------------------------------------------------------------

You  give me  the example in Issue #15985   the keys in the datasourceMap are ds_0 and ds_1 ,Names are regular but What I want to know is what to do when there is no regularity.  
 
--------------------------------------------------------------------------------------------------
please give me  a complete example of meeting the above five conditions at the same time.
Thank you very much
Thank you very very very much
  "><pre class="notranslate">I don<span class="pl-s"><span class="pl-pds">'</span>t think you fully understand what I mean. I mean, all names are different  Include the key in the datasourceMap</span>
<span class="pl-s">The following conditions need to be met at the same time</span>
<span class="pl-s">  1： Database names are no rule  </span>
<span class="pl-s">  2： table names are  no  rule </span>
<span class="pl-s">  3： the key in the datasourceMap are  no  rule  </span>
<span class="pl-s">  4： Use  ShardingAutoTableRuleConfiguration  </span>
<span class="pl-s">  5： Use  Mod Sharding Algorithm</span>
<span class="pl-s"></span>
<span class="pl-s">  * How  to code  this  example ?</span>
<span class="pl-s">  * How  to code  this  example ?</span>
<span class="pl-s">  * How  to code  this  example ?</span>
<span class="pl-s"></span>
<span class="pl-s">--------------------------------------------------------------------------------------------------</span>
<span class="pl-s"></span>
<span class="pl-s">You  give me  the example in Issue #15985   the keys in the datasourceMap are ds_0 and ds_1 ,Names are regular but What I want to know is what to do when there is no regularity.  </span>
<span class="pl-s"> </span>
<span class="pl-s">--------------------------------------------------------------------------------------------------</span>
<span class="pl-s">please give me  a complete example of meeting the above five conditions at the same time.</span>
<span class="pl-s">Thank you very much</span>
<span class="pl-s">Thank you very very very much</span>
<span class="pl-s">  </span></pre></div>