Issue 1:
Bug Report

Connecting to mysql using sharding-jdbc 4.0.0-rc3 always fails to start.

Which version of ShardingSphere did you use?

ShardingSphere 4.0.0-RC1 4.0.0-RC2 4.0.0-RC3

Which project did you use? Sharding-JDBC or Sharding-Proxy?

Sharding-JDBC

Expected behavior

Properly configured environment, the project can not start properly, the following error:

Caused by: org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Factory method 'shardingDataSource' threw exception; nested exception is java.lang.NumberFormatException: For input string: "YES"

Actual behavior

At project startup

Reason analyze (If you can)

In org.apache.shardingsphere.core.execute.metadata.TableMetaDataLoader#getColumnMetaDataList method and in

boolean isAutoIncrement = resultSet.getBoolean("IS_AUTOINCREMENT");

line,attempt to convert the string 'NO' or 'YES' to a Boolean

Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.

Example codes for reproduce this issue (such as a github link).

Unsatisfied dependency expressed through method 'sqlSessionFactory' parameter 0; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'shardingDataSource' defined in class path resource [org/apache/shardingsphere/shardingjdbc/spring/boot/SpringBootConfiguration.class]: Bean instantiation via factory method failed; nested exception is org.springframework.beans.BeanInstantiationException: Failed to instantiate [javax.sql.DataSource]: Factory method 'shardingDataSource' threw exception; nested exception is java.lang.NumberFormatException: For input string: "YES"

Issue 2:
Which version of ShardingSphere did you use?

we find java version: java8, full_version=1.8.0_342, full_path=/home/peilq_sharding/bisheng-jdk1.8.0_342//bin/java

ShardingSphere-5.2.2-SNAPSHOT

Commit ID: dirty-753c0cee8ee6fd3db00536da55b64bc5198a3758

Commit Message: Optimize sqlFederationExecutor init logic when sqlFederationType modify dynamically (#22209)

Branch: 753c0ce

Build time: 2022-11-19T10:18:41+0800

Which project did you use? ShardingSphere-JDBC or ShardingSphere-Proxy?

ShardingSphere-Proxy

Expected behavior

The select result of ‘join with USING(column)’ is correct；

Actual behavior

The select result of ‘join with USING(column)’ exists problem;The column name and value doesn't match.

Reason analyze (If you can)

Steps to reproduce the behavior, such as: SQL to execute, sharding rule configuration, when exception occur etc.

DROP TABLE IF EXISTS t_order;
DROP TABLE IF EXISTS t_order_item;
CREATE TABLE t_order (order_id INT PRIMARY KEY, user_id INT NOT NULL, status VARCHAR(50) NOT NULL, merchant_id INT NOT NULL, remark VARCHAR(50) NOT NULL, creation_date DATE NOT NULL);
CREATE TABLE t_order_item (item_id INT PRIMARY KEY, order_id INT NOT NULL, user_id INT NOT NULL, product_id INT NOT NULL, quantity INT NOT NULL, creation_date DATE NOT NULL);
INSERT INTO t_order VALUES(1000, 10, 'init', 1, 'test', '2017-07-08');
INSERT INTO t_order VALUES(1001, 10, 'init', 2, 'test', '2017-07-08');
INSERT INTO t_order VALUES(2000, 20, 'init', 3, 'test', '2017-08-08');
INSERT INTO t_order VALUES(2001, 20, 'init', 4, 'test', '2017-08-08');
INSERT INTO t_order_item VALUES(100001, 1000, 10, 1, 1, '2017-07-08');
INSERT INTO t_order_item VALUES(100002, 1000, 10, 1, 1, '2017-07-08');
INSERT INTO t_order_item VALUES(100101, 1001, 10, 2, 1, '2017-07-08');
INSERT INTO t_order_item VALUES(100102, 1001, 10, 2, 1, '2017-07-08');

SELECT * FROM t_order o RIGHT JOIN t_order_item i using(order_id) WHERE o.user_id = 10 ORDER BY o.order_id, 7;

The result of sharding-proxy

test_db=> SELECT * FROM t_order o RIGHT JOIN t_order_item i using(order_id) WHERE o.user_id = 10 ORDER BY o.order_id, 7;
order_id | user_id | status | merchant_id | remark | creation_date | item_id | order_id | user_id | product_id | quantity
----------+---------+--------+-------------+--------+-----------------------+---------+----------+---------+------------+-----------------------
1000 | 10 | init | 1 | test | 2017-07-08 00:00:00.0 | 100001 | 10 | 1 | 1 | 2017-07-08 00:00:00.0
1000 | 10 | init | 1 | test | 2017-07-08 00:00:00.0 | 100002 | 10 | 1 | 1 | 2017-07-08 00:00:00.0
1001 | 10 | init | 2 | test | 2017-07-08 00:00:00.0 | 100101 | 10 | 2 | 1 | 2017-07-08 00:00:00.0
1001 | 10 | init | 2 | test | 2017-07-08 00:00:00.0 | 100102 | 10 | 2 | 1 | 2017-07-08 00:00:00.0
(4 rows)

The result of opengauss

tpccdb=# SELECT * FROM t_order o RIGHT JOIN t_order_item i using(order_id) WHERE o.user_id = 10 ORDER BY o.order_id, 7;
order_id | user_id | status | merchant_id | remark | creation_date | item_id | user_id | product_id | quantity | creation_date
----------+---------+--------+-------------+--------+---------------------+---------+---------+------------+----------+---------------------
1000 | 10 | init | 1 | test | 2017-07-08 00:00:00 | 100001 | 10 | 1 | 1 | 2017-07-08 00:00:00
1000 | 10 | init | 1 | test | 2017-07-08 00:00:00 | 100002 | 10 | 1 | 1 | 2017-07-08 00:00:00
1001 | 10 | init | 2 | test | 2017-07-08 00:00:00 | 100101 | 10 | 2 | 1 | 2017-07-08 00:00:00
1001 | 10 | init | 2 | test | 2017-07-08 00:00:00 | 100102 | 10 | 2 | 1 | 2017-07-08 00:00:00
(4 rows)

Example codes for reproduce this issue (such as a github link).

schemaName: test_db
dataSources:
ds_0:
connectionTimeoutMilliseconds: 30000
idleTimeoutMilliseconds: 60000
maxLifetimeMilliseconds: 1800000
maxPoolSize: 260
minPoolSize: 10
password: Test@123
url: jdbc:opengauss://90.90.44.171:14000/test_db?batchMode=on
username: tpccuser
ds_1:
connectionTimeoutMilliseconds: 30000
idleTimeoutMilliseconds: 60000
maxLifetimeMilliseconds: 1800000
maxPoolSize: 260
minPoolSize: 10
password: Test@123
url: jdbc:opengauss://90.90.44.171:15000/test_db?batchMode=on
username: tpccuser
rules:
- !SHARDING
tables:
t_user:
actualDataNodes: ds_0.t_user
t_product:
actualDataNodes: ds_0.t_product
t_merchant:
actualDataNodes: ds_1.t_merchant
t_product_detail:
actualDataNodes: ds_1.t_product_detail
t_order:
actualDataNodes: ds_${0..1}.t_order
databaseStrategy:
standard:
shardingColumn: user_id
shardingAlgorithmName: database_inline
t_order_item:
actualDataNodes: ds_${0..1}.t_order_item
databaseStrategy:
standard:
shardingColumn: user_id
shardingAlgorithmName: database_inline
t_order_item1:
actualDataNodes: ds_${0..1}.t_order_item1
databaseStrategy:
standard:
shardingColumn: user_id
shardingAlgorithmName: database_inline
t_new_order:
actualDataNodes: ds_${0..1}.t_new_order_${0..1}
databaseStrategy:
standard:
shardingAlgorithmName: database_inline
shardingColumn: user_id
tableStrategy:
standard:
shardingColumn: order_id
shardingAlgorithmName: table_inline
bindingTables:
- t_order,t_order_item
broadcastTables:
- t_product_category
- t_country
shardingAlgorithms:
database_inline:
type: INLINE
props:
algorithm-expression: ds_${user_id % 2}
allow-range-query-with-inline-sharding: true
table_inline:
type: INLINE
props:
algorithm-expression: t_new_order_${order_id % 2}
allow-range-query-with-inline-sharding: true