• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

lightningnetwork / lnd / 17435548312

03 Sep 2025 01:47PM UTC coverage: 66.654% (-0.001%) from 66.655%
17435548312

Pull #10193

github

web-flow
Merge 40b279687 into ea6cc8154
Pull Request #10193: sqldb: fix SQLStr helper

0 of 10 new or added lines in 3 files covered. (0.0%)

67 existing lines in 14 files now uncovered.

136110 of 204205 relevant lines covered (66.65%)

21420.77 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

64.29
/sqldb/sqlutils.go
1
package sqldb
2

3
import (
4
        "database/sql"
5
        "time"
6

7
        "golang.org/x/exp/constraints"
8
)
9

10
// NoOpReset is a no-op function that can be used as a default
11
// reset function ExecTx calls.
12
var NoOpReset = func() {}
22,435✔
13

14
// SQLInt16 turns a numerical integer type into the NullInt16 that sql/sqlc
15
// uses when an integer field can be permitted to be NULL.
16
//
17
// We use this constraints.Integer constraint here which maps to all signed and
18
// unsigned integer types.
19
func SQLInt16[T constraints.Integer](num T) sql.NullInt16 {
×
20
        return sql.NullInt16{
×
21
                Int16: int16(num),
×
22
                Valid: true,
×
23
        }
×
24
}
×
25

26
// SQLInt32 turns a numerical integer type into the NullInt32 that sql/sqlc
27
// uses when an integer field can be permitted to be NULL.
28
//
29
// We use this constraints.Integer constraint here which maps to all signed and
30
// unsigned integer types.
31
func SQLInt32[T constraints.Integer](num T) sql.NullInt32 {
20,592✔
32
        return sql.NullInt32{
20,592✔
33
                Int32: int32(num),
20,592✔
34
                Valid: true,
20,592✔
35
        }
20,592✔
36
}
20,592✔
37

38
// SQLInt64 turns a numerical integer type into the NullInt64 that sql/sqlc
39
// uses when an integer field can be permitted to be NULL.
40
//
41
// We use this constraints.Integer constraint here which maps to all signed and
42
// unsigned integer types.
43
func SQLInt64[T constraints.Integer](num T) sql.NullInt64 {
29,811✔
44
        return sql.NullInt64{
29,811✔
45
                Int64: int64(num),
29,811✔
46
                Valid: true,
29,811✔
47
        }
29,811✔
48
}
29,811✔
49

50
// SQLStr turns a string into the NullString that sql/sqlc uses when a string
51
// can be permitted to be NULL.
52
//
53
// NOTE: If the input string is empty, it returns a NullString with Valid set to
54
// false. If this is not the desired behavior, consider using SQLStrValid
55
// instead.
56
func SQLStr(s string) sql.NullString {
20,592✔
57
        if s == "" {
20,993✔
58
                return sql.NullString{}
401✔
59
        }
401✔
60

61
        return sql.NullString{
20,191✔
62
                String: s,
20,191✔
63
                Valid:  true,
20,191✔
64
        }
20,191✔
65
}
66

67
// SQLStrValid turns a string into the NullString that sql/sqlc uses when a
68
// string can be permitted to be NULL.
69
//
70
// NOTE: Valid is always set to true, even if the input string is empty.
NEW
71
func SQLStrValid(s string) sql.NullString {
×
NEW
72
        return sql.NullString{
×
NEW
73
                String: s,
×
NEW
74
                Valid:  true,
×
NEW
75
        }
×
NEW
76
}
×
77

78
// SQLTime turns a time.Time into the NullTime that sql/sqlc uses when a time
79
// can be permitted to be NULL.
80
func SQLTime(t time.Time) sql.NullTime {
69,637✔
81
        return sql.NullTime{
69,637✔
82
                Time:  t,
69,637✔
83
                Valid: true,
69,637✔
84
        }
69,637✔
85
}
69,637✔
86

87
// ExtractSqlInt16 turns a NullInt16 into a numerical type. This can be useful
88
// when reading directly from the database, as this function handles extracting
89
// the inner value from the "option"-like struct.
90
func ExtractSqlInt16[T constraints.Integer](num sql.NullInt16) T {
×
91
        return T(num.Int16)
×
92
}
×
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc