@@ -2215,4 +2215,32 @@ public void testSettingsNotChanged() throws Exception{
22152215 Assert .assertEquals (response .getFormat (), ClickHouseFormat .JSONEachRow );
22162216 }
22172217 }
2218+
2219+ @ Test
2220+ public void testDuplicateColumnNames () throws Exception {
2221+ {
2222+ // simple scenario
2223+ List <GenericRecord > records = client .queryAll ("SELECT 'a', 'a'" );
2224+ GenericRecord record = records .get (0 );
2225+ Assert .assertEquals (record .getString ("'a'" ), "a" );
2226+ Assert .assertEquals (record .getString (1 ), "a" );
2227+ Assert .assertEquals (record .getString (2 ), "a" );
2228+ }
2229+
2230+ {
2231+ client .execute ("DROP TABLE IF EXISTS test_duplicate_column_names_1" ).get ().close ();
2232+ client .execute ("DROP TABLE IF EXISTS test_duplicate_column_names_2" ).get ().close ();
2233+ client .execute ("CREATE TABLE test_duplicate_column_names1 (name String ) ENGINE = MergeTree ORDER BY ()" ).get ().close ();
2234+ client .execute ("INSERT INTO test_duplicate_column_names1 VALUES ('some name')" ).get ().close ();
2235+ client .execute ("CREATE TABLE test_duplicate_column_names2 (name String ) ENGINE = MergeTree ORDER BY ()" ).get ().close ();
2236+ client .execute ("INSERT INTO test_duplicate_column_names2 VALUES ('another name')" ).get ().close ();
2237+
2238+ List <GenericRecord > records = client .queryAll ("SELECT * FROM test_duplicate_column_names1, test_duplicate_column_names2" );
2239+ GenericRecord record = records .get (0 );
2240+ Assert .assertEquals (record .getString ("name" ), "some name" );
2241+ Assert .assertEquals (record .getString ("test_duplicate_column_names2.name" ), "another name" );
2242+ Assert .assertEquals (record .getString (1 ), "some name" );
2243+ Assert .assertEquals (record .getString (2 ), "another name" );
2244+ }
2245+ }
22182246}
0 commit comments