Skip to content

Commit 088a3ad

Browse files
authored
Merge pull request #410 from Fox0117/fix-ClickHouseValueFormatter-needsQuoting-Boolean
Bugfix for Boolean type formatting
2 parents 01d45f8 + cd6da5a commit 088a3ad

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

src/main/java/ru/yandex/clickhouse/util/ClickHouseValueFormatter.java

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -168,6 +168,9 @@ public static boolean needsQuoting(Object o) {
168168
if (o instanceof Number) {
169169
return false;
170170
}
171+
if (o instanceof Boolean) {
172+
return false;
173+
}
171174
if (o.getClass().isArray()) {
172175
return false;
173176
}

src/test/java/ru/yandex/clickhouse/ClickHousePreparedStatementParameterTest.java

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -33,4 +33,25 @@ public void testArrayAndCollectionParam() {
3333
assertEquals(p0.getBatchValue(), p1.getBatchValue());
3434
}
3535

36+
@Test
37+
public void testBooleanParam() {
38+
assertEquals(ClickHousePreparedStatementParameter.fromObject(Boolean.TRUE,
39+
TimeZone.getDefault(), TimeZone.getDefault()).getRegularValue(), "1");
40+
assertEquals(ClickHousePreparedStatementParameter.fromObject(Boolean.FALSE,
41+
TimeZone.getDefault(), TimeZone.getDefault()).getRegularValue(), "0");
42+
}
43+
44+
@Test
45+
public void testNumberParam() {
46+
assertEquals(ClickHousePreparedStatementParameter.fromObject(10,
47+
TimeZone.getDefault(), TimeZone.getDefault()).getRegularValue(), "10");
48+
assertEquals(ClickHousePreparedStatementParameter.fromObject(10.5,
49+
TimeZone.getDefault(), TimeZone.getDefault()).getRegularValue(), "10.5");
50+
}
51+
52+
@Test
53+
public void testStringParam() {
54+
assertEquals(ClickHousePreparedStatementParameter.fromObject("someString",
55+
TimeZone.getDefault(), TimeZone.getDefault()).getRegularValue(), "'someString'");
56+
}
3657
}

0 commit comments

Comments
 (0)