Skip to content

Commit 4a67583

Browse files
committed
added more tests
1 parent a0ab761 commit 4a67583

File tree

2 files changed

+34
-4
lines changed

2 files changed

+34
-4
lines changed

client-v2/src/main/java/com/clickhouse/client/api/internal/SettingsConverter.java

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,19 +21,25 @@ public static Map<String, Serializable> toRequestSettings(Map<String, Object> se
2121
Map<String, Serializable> requestSettings = new HashMap<>();
2222

2323
for (Map.Entry<String, Object> entry : settings.entrySet()) {
24-
if (REQUEST_OPTIONS.get(entry.getKey()) != null) {
24+
String key = entry.getKey();
25+
boolean isServerSetting = key.startsWith("clickhouse_setting_");
26+
if (!isServerSetting && REQUEST_OPTIONS.get(key) != null) {
2527
// This definitely is a request option
2628
continue;
2729
}
2830

31+
if (isServerSetting) {
32+
key = key.substring("clickhouse_setting_".length());
33+
}
34+
2935
if (entry.getValue() instanceof Map<?,?>) {
3036
Map<String, String> map = (Map<String, String>) entry.getValue();
31-
requestSettings.put(entry.getKey(), convertMapToStringValue(map));
37+
requestSettings.put(key, convertMapToStringValue(map));
3238
} else if (entry.getValue() instanceof Collection<?>) {
3339
Collection<?> collection = (Collection<?>) entry.getValue();
34-
requestSettings.put(entry.getKey(), convertCollectionToStringValue(collection));
40+
requestSettings.put(key, convertCollectionToStringValue(collection));
3541
} else {
36-
requestSettings.put(entry.getKey(), (Serializable) entry.getValue());
42+
requestSettings.put(key, (Serializable) entry.getValue());
3743
}
3844
}
3945

client-v2/src/test/java/com/clickhouse/client/HttpTransportTests.java

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -512,4 +512,28 @@ public void testSSLAuthentication_invalidConfig() throws Exception {
512512
Assert.assertTrue(e.getMessage().startsWith("Only one of password, access token or SSL authentication"));
513513
}
514514
}
515+
516+
@Test(groups = { "integration" })
517+
public void testErrorWithSendProgressHeaders() throws Exception {
518+
ClickHouseNode server = getServer(ClickHouseProtocol.HTTP);
519+
try (Client client = new Client.Builder().addEndpoint(Protocol.HTTP, "localhost",server.getPort(), false)
520+
.setUsername("default")
521+
.setPassword("")
522+
.useNewImplementation(false)
523+
.build()) {
524+
525+
try (CommandResponse resp = client.execute("DROP TABLE IF EXISTS test_omm_table").get()) {
526+
}
527+
try (CommandResponse resp = client.execute("CREATE TABLE test_omm_table ( val String) Engine = MergeTree ORDER BY () ").get()) {
528+
}
529+
530+
QuerySettings settings = new QuerySettings()
531+
.serverSetting("send_progress_in_http_headers", "1")
532+
.serverSetting("max_memory_usage", "54M");
533+
534+
try (QueryResponse resp = client.query("INSERT INTO test_omm_table SELECT randomString(16) FROM numbers(300000000)", settings).get()) {
535+
536+
}
537+
}
538+
}
515539
}

0 commit comments

Comments
 (0)