Skip to content

Commit 714dcf8

Browse files
authored
Merge pull request #1895 from ClickHouse/fix-insert-settings
[client-v2] tweak the setting
2 parents e1e7416 + 8b25d63 commit 714dcf8

File tree

2 files changed

+28
-1
lines changed

2 files changed

+28
-1
lines changed

client-v2/src/main/java/com/clickhouse/client/api/insert/InsertSettings.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -70,7 +70,7 @@ public Map<String, Object> getAllSettings() {
7070
* @return
7171
*/
7272
public InsertSettings setDeduplicationToken(String token) {
73-
rawSettings.put("insert_deduplication_token", token);
73+
serverSetting("insert_deduplication_token", token);
7474
return this;
7575
}
7676

client-v2/src/test/java/com/clickhouse/client/insert/InsertTests.java

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -317,6 +317,33 @@ public void testLogComment(String logComment) throws Exception {
317317
Assert.assertEquals(logRecords.get(0).getString("log_comment"), logComment == null ? "" : logComment);
318318
}
319319

320+
@Test(groups = { "integration" })
321+
public void testInsertSettingsDeduplicationToken() throws Exception {
322+
final String tableName = "insert_settings_database_test";
323+
final String createTableSQL = "CREATE TABLE " + tableName + " ( A Int64 ) ENGINE = MergeTree ORDER BY A SETTINGS " +
324+
"non_replicated_deduplication_window = 100";
325+
final String deduplicationToken = RandomStringUtils.randomAlphabetic(36);
326+
327+
dropTable(tableName);
328+
createTable(createTableSQL);
329+
330+
InsertSettings insertSettings = settings.setInputStreamCopyBufferSize(8198 * 2)
331+
.setDeduplicationToken(deduplicationToken);
332+
333+
for (int i = 0; i < 3; ++i) {
334+
ByteArrayOutputStream data = new ByteArrayOutputStream();
335+
PrintWriter writer = new PrintWriter(data);
336+
writer.printf("%d\n", i);
337+
writer.flush();
338+
InsertResponse response = client.insert(tableName, new ByteArrayInputStream(data.toByteArray()), ClickHouseFormat.TSV, insertSettings)
339+
.get(30, TimeUnit.SECONDS);
340+
response.close();
341+
}
342+
343+
List<GenericRecord> records = client.queryAll("SELECT * FROM " + tableName);
344+
assertEquals(records.size(), 1);
345+
}
346+
320347
@DataProvider( name = "logCommentDataProvider")
321348
public static Object[] logCommentDataProvider() {
322349
return new Object[][] {

0 commit comments

Comments
 (0)