aboutsummaryrefslogtreecommitdiff
path: root/lib/uuidv7/uuidv7.go
diff options
context:
space:
mode:
authorShulhan <ms@kilabit.info>2026-04-04 02:30:09 +0700
committerShulhan <ms@kilabit.info>2026-04-04 02:32:01 +0700
commitfd54f7be5969204b6845c4aa7dd332d31c96c59f (patch)
treef24e06c0aa98ebe6d1c61e152b0f4d8cf8c79ec3 /lib/uuidv7/uuidv7.go
parentf18f08e554ed9f93f31641d974448923099ac892 (diff)
downloadpakakeh.go-fd54f7be5969204b6845c4aa7dd332d31c96c59f.tar.xz
lib/uuidv7: detect nil value on Scan
Column with NULL value will returns no error but zero UUID.
Diffstat (limited to 'lib/uuidv7/uuidv7.go')
-rw-r--r--lib/uuidv7/uuidv7.go3
1 files changed, 3 insertions, 0 deletions
diff --git a/lib/uuidv7/uuidv7.go b/lib/uuidv7/uuidv7.go
index e35e684b..21277e55 100644
--- a/lib/uuidv7/uuidv7.go
+++ b/lib/uuidv7/uuidv7.go
@@ -165,6 +165,7 @@ func (id *UUIDv7) UnmarshalText(data []byte) (err error) {
// Scan scans the raw database value into id.
// This method implement [database/sql.Scanner] interface.
+// Column with NULL value will returns no error but zero UUID.
func (id *UUIDv7) Scan(src any) (err error) {
switch v := src.(type) {
case []byte:
@@ -172,6 +173,8 @@ func (id *UUIDv7) Scan(src any) (err error) {
if err != nil {
return err
}
+ case nil:
+ return nil
default:
return fmt.Errorf(`uuidv7: Scan: invalid type %T`, src)
}