From bfb438ee08a60182598c4ea66efd057d81ce7550 Mon Sep 17 00:00:00 2001
From: d4ilys <963922242@qq.com>
Date: Tue, 21 Nov 2023 09:53:28 +0800
Subject: [PATCH] =?UTF-8?q?Clickhouse=20Bool=E7=B1=BB=E5=9E=8BParameter?=
=?UTF-8?q?=E6=B5=8B=E8=AF=95?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../FreeSql.Tests/ClickHouse/ClickHouseTest3.cs | 16 ++++++++++++----
.../ClickHouseAdo/ClickHouseAdo.cs | 2 +-
2 files changed, 13 insertions(+), 5 deletions(-)
diff --git a/FreeSql.Tests/FreeSql.Tests/ClickHouse/ClickHouseTest3.cs b/FreeSql.Tests/FreeSql.Tests/ClickHouse/ClickHouseTest3.cs
index fc990939..52819284 100644
--- a/FreeSql.Tests/FreeSql.Tests/ClickHouse/ClickHouseTest3.cs
+++ b/FreeSql.Tests/FreeSql.Tests/ClickHouse/ClickHouseTest3.cs
@@ -20,7 +20,7 @@ namespace FreeSql.Tests.ClickHouse
_fsql = new FreeSqlBuilder().UseConnectionString(DataType.ClickHouse,
"Host=192.168.1.123;Port=8123;Database=test;Compress=True;Min Pool Size=1")
.UseMonitorCommand(cmd => _output.WriteLine($"线程:{cmd.CommandText}\r\n"))
- .UseNoneCommandParameter(false)
+ .UseNoneCommandParameter(true)
.Build();
}
@@ -35,7 +35,7 @@ namespace FreeSql.Tests.ClickHouse
}
///
- /// 测试bool类型映射
+ /// 测试bool类型插入
///
[Fact]
public void TestBoolMappingInsert()
@@ -63,11 +63,19 @@ namespace FreeSql.Tests.ClickHouse
Name = "Daily",
Age = 22,
Id = Guid.NewGuid().ToString(),
- IsDelete = true,
- IsEnable = null
+ IsDelete = false,
+ IsEnable = false
}).ExecuteAffrows();
}
+ ///
+ /// 测试bool类型查询
+ ///
+ [Fact]
+ public void TestBoolMappingSelect()
+ {
+ var list = _fsql.Select().ToList();
+ }
}
[Table(Name = "table_test_bool")]
diff --git a/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs b/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs
index 3ba93410..d3de56e4 100644
--- a/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs
+++ b/Providers/FreeSql.Provider.ClickHouse/ClickHouseAdo/ClickHouseAdo.cs
@@ -48,7 +48,7 @@ namespace FreeSql.ClickHouse
param = Utils.GetDataReaderValue(mapType, param);
if (param is bool || param is bool?)
- return (bool)param ? 1 : 0;
+ return (bool)param; //不需要转0/1
else if (param is string)
return string.Concat("'", param.ToString().Replace("'", "''").Replace("\\", "\\\\"), "'"); //只有 mysql 需要处理反斜杠
else if (param is char)