This is an automated email from the ASF dual-hosted git repository.
zhonghongsheng 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 d7c11b15fae Add test unit of driver hash_mod (#37281)
d7c11b15fae is described below
commit d7c11b15fae8f0001dff76182119f47fa26ab73a
Author: Hongsheng Zhong <[email protected]>
AuthorDate: Fri Dec 5 17:59:28 2025 +0800
Add test unit of driver hash_mod (#37281)
---
.../driver/ShardingSphereDriverTest.java | 33 ++++++++++++++++++++++
1 file changed, 33 insertions(+)
diff --git
a/jdbc/src/test/java/org/apache/shardingsphere/driver/ShardingSphereDriverTest.java
b/jdbc/src/test/java/org/apache/shardingsphere/driver/ShardingSphereDriverTest.java
index 985f7588f9b..839bcc43754 100644
---
a/jdbc/src/test/java/org/apache/shardingsphere/driver/ShardingSphereDriverTest.java
+++
b/jdbc/src/test/java/org/apache/shardingsphere/driver/ShardingSphereDriverTest.java
@@ -73,6 +73,39 @@ class ShardingSphereDriverTest {
}
}
+ @Test
+ void assertHashModSetLongOnIntColumnWorks() throws SQLException {
+ try (Connection connection =
DriverManager.getConnection("jdbc:shardingsphere:classpath:config/driver/foo-driver-fixture.yaml"))
{
+ assertThat(connection, isA(ShardingSphereConnection.class));
+ try (Statement statement = connection.createStatement()) {
+ statement.execute("DROP TABLE IF EXISTS t_order");
+ statement.execute("CREATE TABLE t_order (order_id INT PRIMARY
KEY, user_id INT)");
+ }
+ // TODO Replace 1 to -1 after HASH_MOD algorithm improved
+ int value = 1;
+ try (PreparedStatement preparedStatement =
connection.prepareStatement("INSERT INTO t_order (order_id, user_id) VALUES (?,
?)")) {
+ preparedStatement.setObject(1, value);
+ preparedStatement.setObject(2, 101);
+ int updatedCount = preparedStatement.executeUpdate();
+ assertThat(updatedCount, is(1));
+ }
+ try (PreparedStatement preparedStatement =
connection.prepareStatement("SELECT * FROM t_order WHERE order_id = ?")) {
+ preparedStatement.setObject(1, value);
+ ResultSet resultSet = preparedStatement.executeQuery();
+ assertTrue(resultSet.next());
+ assertThat(resultSet.getInt(1), is(value));
+ resultSet.close();
+ }
+ try (PreparedStatement preparedStatement =
connection.prepareStatement("SELECT * FROM t_order WHERE order_id = ?")) {
+ preparedStatement.setObject(1, (long) value);
+ ResultSet resultSet = preparedStatement.executeQuery();
+ assertTrue(resultSet.next());
+ assertThat(resultSet.getInt(1), is(value));
+ resultSet.close();
+ }
+ }
+ }
+
@Test
void assertVarbinaryColumnWorks() throws SQLException {
try (