From 3ce30da0981865b929260edfd2749d13ca5fe874 Mon Sep 17 00:00:00 2001 From: Tohru Takagi Date: Sat, 10 Feb 2024 06:07:58 +0900 Subject: [PATCH] return null if the value is null for a nullable boolean column --- internal/core/gen.go | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/internal/core/gen.go b/internal/core/gen.go index 5a7ac0a..6c1d2cf 100644 --- a/internal/core/gen.go +++ b/internal/core/gen.go @@ -176,6 +176,9 @@ func jdbcGet(t ktType, idx int) string { if t.IsBigDecimal() { return fmt.Sprintf(`results.getBigDecimal(%d)`, idx) } + if t.IsBoolean() && t.IsNull { + return fmt.Sprintf(`results.getString(%d)?.toBoolean()`, idx) + } return fmt.Sprintf(`results.get%s(%d)`, t.Name, idx) } @@ -371,6 +374,10 @@ func (t ktType) IsBigDecimal() bool { return t.Name == "java.math.BigDecimal" } +func (t ktType) IsBoolean() bool { + return t.Name == "Boolean" +} + func makeType(req *plugin.GenerateRequest, col *plugin.Column) ktType { typ, isEnum := ktInnerType(req, col) return ktType{