Skip to content

Commit 95469da

Browse files
committed
added test for JDBC
1 parent 3677ea7 commit 95469da

File tree

1 file changed

+38
-0
lines changed

1 file changed

+38
-0
lines changed

jdbc-v2/src/test/java/com/clickhouse/jdbc/StatementTest.java

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515
import java.sql.Connection;
1616
import java.sql.Date;
1717
import java.sql.ResultSet;
18+
import java.sql.ResultSetMetaData;
1819
import java.sql.SQLException;
1920
import java.sql.Statement;
2021
import java.time.LocalDate;
@@ -1189,6 +1190,43 @@ public void testSetFetchSize() throws Exception {
11891190
}
11901191
}
11911192

1193+
@Test(groups = {"integration"})
1194+
public void testResponseWithDuplicateColumns() throws Exception {
1195+
try (Connection conn = getJdbcConnection(); Statement stmt = conn.createStatement()) {
1196+
1197+
1198+
try (ResultSet rs = stmt.executeQuery("SELECT 'a', 'a'")) {
1199+
ResultSetMetaData metaData = rs.getMetaData();
1200+
Assert.assertEquals(metaData.getColumnCount(), 2);
1201+
Assert.assertEquals(metaData.getColumnName(1), "'a'");
1202+
Assert.assertEquals(metaData.getColumnName(2), "'a'");
1203+
}
1204+
1205+
{
1206+
stmt.execute("DROP TABLE IF EXISTS test_jdbc_duplicate_column_names_1");
1207+
stmt.execute("DROP TABLE IF EXISTS test_jdbc_duplicate_column_names_2");
1208+
stmt.execute("CREATE TABLE test_jdbc_duplicate_column_names1 (name String ) ENGINE = MergeTree ORDER BY ()");
1209+
stmt.execute("INSERT INTO test_jdbc_duplicate_column_names1 VALUES ('some name')");
1210+
stmt.execute("CREATE TABLE test_jdbc_duplicate_column_names2 (name String ) ENGINE = MergeTree ORDER BY ()");
1211+
stmt.execute("INSERT INTO test_jdbc_duplicate_column_names2 VALUES ('another name')");
1212+
1213+
try (ResultSet rs = stmt.executeQuery("SELECT * FROM test_jdbc_duplicate_column_names1, test_jdbc_duplicate_column_names2")) {
1214+
ResultSetMetaData metaData = rs.getMetaData();
1215+
Assert.assertEquals(metaData.getColumnCount(), 2);
1216+
Assert.assertEquals(metaData.getColumnName(1), "name");
1217+
Assert.assertEquals(metaData.getColumnName(2), "test_jdbc_duplicate_column_names2.name");
1218+
1219+
rs.next();
1220+
Assert.assertEquals(rs.getString("name"), "some name");
1221+
Assert.assertEquals(rs.getString("test_jdbc_duplicate_column_names2.name"), "another name");
1222+
Assert.assertEquals(rs.getString(1), "some name");
1223+
Assert.assertEquals(rs.getString(2), "another name");
1224+
1225+
}
1226+
}
1227+
}
1228+
}
1229+
11921230
private static String getDBName(Statement stmt) throws SQLException {
11931231
try (ResultSet rs = stmt.executeQuery("SELECT database()")) {
11941232
rs.next();

0 commit comments

Comments
 (0)