Skip to content

Commit 28f0fe7

Browse files
committed
added test to check if settings are applied on server
1 parent 8159824 commit 28f0fe7

File tree

1 file changed

+31
-0
lines changed

1 file changed

+31
-0
lines changed

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

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -7,14 +7,18 @@
77
import com.clickhouse.client.api.ConnectionReuseStrategy;
88
import com.clickhouse.client.api.command.CommandResponse;
99
import com.clickhouse.client.api.enums.Protocol;
10+
import com.clickhouse.client.api.insert.InsertSettings;
1011
import com.clickhouse.client.api.internal.ClickHouseLZ4OutputStream;
12+
import com.clickhouse.client.api.internal.ServerSettings;
1113
import com.clickhouse.client.api.metadata.DefaultColumnToMethodMatchingStrategy;
1214
import com.clickhouse.client.api.query.GenericRecord;
1315
import com.clickhouse.client.api.query.QueryResponse;
1416
import com.clickhouse.client.api.query.QuerySettings;
1517
import com.clickhouse.client.api.query.Records;
1618
import com.clickhouse.client.config.ClickHouseClientOption;
1719
import com.clickhouse.client.query.QueryTests;
20+
import com.clickhouse.data.ClickHouseColumn;
21+
import com.clickhouse.data.ClickHouseFormat;
1822
import com.clickhouse.data.ClickHouseVersion;
1923
import org.apache.commons.lang3.RandomStringUtils;
2024
import org.slf4j.Logger;
@@ -24,6 +28,7 @@
2428
import org.testng.annotations.Test;
2529
import org.testng.util.Strings;
2630

31+
import java.io.ByteArrayInputStream;
2732
import java.net.ConnectException;
2833
import java.util.Arrays;
2934
import java.util.HashMap;
@@ -412,6 +417,32 @@ public void testLogComment() throws Exception {
412417
}
413418
}
414419

420+
@Test(groups = {"integration"})
421+
public void testServerSettings() throws Exception {
422+
try (Client client = newClient().build()) {
423+
client.execute("DROP TABLE IF EXISTS server_settings_test_table");
424+
client.execute("CREATE TABLE server_settings_test_table (v Float) Engine MergeTree ORDER BY ()");
425+
426+
final String queryId = UUID.randomUUID().toString();
427+
InsertSettings insertSettings = new InsertSettings()
428+
.setQueryId(queryId)
429+
.serverSetting(ServerSettings.ASYNC_INSERT, "1")
430+
.serverSetting(ServerSettings.WAIT_ASYNC_INSERT, "1");
431+
432+
String csvData = "0.33\n0.44\n0.55\n";
433+
client.insert("server_settings_test_table", new ByteArrayInputStream(csvData.getBytes()), ClickHouseFormat.CSV, insertSettings).get().close();
434+
435+
client.execute("SYSTEM FLUSH LOGS").get().close();
436+
437+
List<GenericRecord> logRecords = client.queryAll("SELECT * FROM clusterAllReplicas('default', system.query_log) WHERE query_id = '" + queryId + "' AND type = 'QueryFinish'");
438+
439+
GenericRecord record = logRecords.get(0);
440+
String settings = record.getString(record.getSchema().nameToColumnIndex("Settings"));
441+
Assert.assertTrue(settings.contains(ServerSettings.ASYNC_INSERT + "=1"));
442+
// Assert.assertTrue(settings.contains(ServerSettings.WAIT_ASYNC_INSERT + "=1")); // uncomment after server fix
443+
}
444+
}
445+
415446
public boolean isVersionMatch(String versionExpression, Client client) {
416447
List<GenericRecord> serverVersion = client.queryAll("SELECT version()");
417448
return ClickHouseVersion.of(serverVersion.get(0).getString(1)).check(versionExpression);

0 commit comments

Comments
 (0)