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

lightningnetwork / lnd / 15280810856

27 May 2025 04:37PM UTC coverage: 68.711% (+10.7%) from 57.977%
15280810856

Pull #9866

github

web-flow
Merge efc04b991 into 93a6ab875
Pull Request #9866: sqldb+graph/db: add node related tables and implement some node CRUD

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

22 existing lines in 4 files now uncovered.

134046 of 195088 relevant lines covered (68.71%)

22027.14 hits per line

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

0.0
/sqldb/sqlc/graph.sql.go
1
// Code generated by sqlc. DO NOT EDIT.
2
// versions:
3
//   sqlc v1.29.0
4
// source: graph.sql
5

6
package sqlc
7

8
import (
9
        "context"
10
        "database/sql"
11
)
12

13
const addSourceNode = `-- name: AddSourceNode :exec
14
/* ─────────────────────────────────────────────
15
   source_nodes table queries
16
   ─────────────────────────────────────────────
17
*/
18

19
INSERT INTO source_nodes (node_id)
20
VALUES ($1)
21
ON CONFLICT (node_id) DO NOTHING
22
`
23

NEW
24
func (q *Queries) AddSourceNode(ctx context.Context, nodeID int64) error {
×
NEW
25
        _, err := q.db.ExecContext(ctx, addSourceNode, nodeID)
×
NEW
26
        return err
×
NEW
27
}
×
28

29
const deleteExtraNodeType = `-- name: DeleteExtraNodeType :exec
30
DELETE FROM node_extra_types
31
WHERE node_id = $1
32
  AND type = $2
33
`
34

35
type DeleteExtraNodeTypeParams struct {
36
        NodeID int64
37
        Type   int64
38
}
39

NEW
40
func (q *Queries) DeleteExtraNodeType(ctx context.Context, arg DeleteExtraNodeTypeParams) error {
×
NEW
41
        _, err := q.db.ExecContext(ctx, deleteExtraNodeType, arg.NodeID, arg.Type)
×
NEW
42
        return err
×
NEW
43
}
×
44

45
const deleteNodeAddresses = `-- name: DeleteNodeAddresses :exec
46
DELETE FROM node_addresses
47
WHERE node_id = $1
48
`
49

NEW
50
func (q *Queries) DeleteNodeAddresses(ctx context.Context, nodeID int64) error {
×
NEW
51
        _, err := q.db.ExecContext(ctx, deleteNodeAddresses, nodeID)
×
NEW
52
        return err
×
NEW
53
}
×
54

55
const deleteNodeByPubKey = `-- name: DeleteNodeByPubKey :execresult
56
DELETE FROM nodes
57
WHERE pub_key = $1
58
  AND version = $2
59
`
60

61
type DeleteNodeByPubKeyParams struct {
62
        PubKey  []byte
63
        Version int16
64
}
65

NEW
66
func (q *Queries) DeleteNodeByPubKey(ctx context.Context, arg DeleteNodeByPubKeyParams) (sql.Result, error) {
×
NEW
67
        return q.db.ExecContext(ctx, deleteNodeByPubKey, arg.PubKey, arg.Version)
×
NEW
68
}
×
69

70
const deleteNodeFeature = `-- name: DeleteNodeFeature :exec
71
DELETE FROM node_features
72
WHERE node_id = $1
73
  AND feature_bit = $2
74
`
75

76
type DeleteNodeFeatureParams struct {
77
        NodeID     int64
78
        FeatureBit int32
79
}
80

NEW
81
func (q *Queries) DeleteNodeFeature(ctx context.Context, arg DeleteNodeFeatureParams) error {
×
NEW
82
        _, err := q.db.ExecContext(ctx, deleteNodeFeature, arg.NodeID, arg.FeatureBit)
×
NEW
83
        return err
×
NEW
84
}
×
85

86
const getExtraNodeTypes = `-- name: GetExtraNodeTypes :many
87
SELECT node_id, type, value
88
FROM node_extra_types
89
WHERE node_id = $1
90
`
91

NEW
92
func (q *Queries) GetExtraNodeTypes(ctx context.Context, nodeID int64) ([]NodeExtraType, error) {
×
NEW
93
        rows, err := q.db.QueryContext(ctx, getExtraNodeTypes, nodeID)
×
NEW
94
        if err != nil {
×
NEW
95
                return nil, err
×
NEW
96
        }
×
NEW
97
        defer rows.Close()
×
NEW
98
        var items []NodeExtraType
×
NEW
99
        for rows.Next() {
×
NEW
100
                var i NodeExtraType
×
NEW
101
                if err := rows.Scan(&i.NodeID, &i.Type, &i.Value); err != nil {
×
NEW
102
                        return nil, err
×
NEW
103
                }
×
NEW
104
                items = append(items, i)
×
105
        }
NEW
106
        if err := rows.Close(); err != nil {
×
NEW
107
                return nil, err
×
NEW
108
        }
×
NEW
109
        if err := rows.Err(); err != nil {
×
NEW
110
                return nil, err
×
NEW
111
        }
×
NEW
112
        return items, nil
×
113
}
114

115
const getNodeAddressesByPubKey = `-- name: GetNodeAddressesByPubKey :many
116
SELECT a.type, a.address
117
FROM nodes n
118
LEFT JOIN node_addresses a ON a.node_id = n.id
119
WHERE n.pub_key = $1 AND n.version = $2
120
ORDER BY a.type ASC, a.position ASC
121
`
122

123
type GetNodeAddressesByPubKeyParams struct {
124
        PubKey  []byte
125
        Version int16
126
}
127

128
type GetNodeAddressesByPubKeyRow struct {
129
        Type    sql.NullInt16
130
        Address sql.NullString
131
}
132

NEW
133
func (q *Queries) GetNodeAddressesByPubKey(ctx context.Context, arg GetNodeAddressesByPubKeyParams) ([]GetNodeAddressesByPubKeyRow, error) {
×
NEW
134
        rows, err := q.db.QueryContext(ctx, getNodeAddressesByPubKey, arg.PubKey, arg.Version)
×
NEW
135
        if err != nil {
×
NEW
136
                return nil, err
×
NEW
137
        }
×
NEW
138
        defer rows.Close()
×
NEW
139
        var items []GetNodeAddressesByPubKeyRow
×
NEW
140
        for rows.Next() {
×
NEW
141
                var i GetNodeAddressesByPubKeyRow
×
NEW
142
                if err := rows.Scan(&i.Type, &i.Address); err != nil {
×
NEW
143
                        return nil, err
×
NEW
144
                }
×
NEW
145
                items = append(items, i)
×
146
        }
NEW
147
        if err := rows.Close(); err != nil {
×
NEW
148
                return nil, err
×
NEW
149
        }
×
NEW
150
        if err := rows.Err(); err != nil {
×
NEW
151
                return nil, err
×
NEW
152
        }
×
NEW
153
        return items, nil
×
154
}
155

156
const getNodeByPubKey = `-- name: GetNodeByPubKey :one
157
SELECT id, version, pub_key, alias, last_update, color, signature
158
FROM nodes
159
WHERE pub_key = $1
160
  AND version = $2
161
`
162

163
type GetNodeByPubKeyParams struct {
164
        PubKey  []byte
165
        Version int16
166
}
167

NEW
168
func (q *Queries) GetNodeByPubKey(ctx context.Context, arg GetNodeByPubKeyParams) (Node, error) {
×
NEW
169
        row := q.db.QueryRowContext(ctx, getNodeByPubKey, arg.PubKey, arg.Version)
×
NEW
170
        var i Node
×
NEW
171
        err := row.Scan(
×
NEW
172
                &i.ID,
×
NEW
173
                &i.Version,
×
NEW
174
                &i.PubKey,
×
NEW
175
                &i.Alias,
×
NEW
176
                &i.LastUpdate,
×
NEW
177
                &i.Color,
×
NEW
178
                &i.Signature,
×
NEW
179
        )
×
NEW
180
        return i, err
×
NEW
181
}
×
182

183
const getNodeFeatures = `-- name: GetNodeFeatures :many
184
SELECT node_id, feature_bit
185
FROM node_features
186
WHERE node_id = $1
187
`
188

NEW
189
func (q *Queries) GetNodeFeatures(ctx context.Context, nodeID int64) ([]NodeFeature, error) {
×
NEW
190
        rows, err := q.db.QueryContext(ctx, getNodeFeatures, nodeID)
×
NEW
191
        if err != nil {
×
NEW
192
                return nil, err
×
NEW
193
        }
×
NEW
194
        defer rows.Close()
×
NEW
195
        var items []NodeFeature
×
NEW
196
        for rows.Next() {
×
NEW
197
                var i NodeFeature
×
NEW
198
                if err := rows.Scan(&i.NodeID, &i.FeatureBit); err != nil {
×
NEW
199
                        return nil, err
×
NEW
200
                }
×
NEW
201
                items = append(items, i)
×
202
        }
NEW
203
        if err := rows.Close(); err != nil {
×
NEW
204
                return nil, err
×
NEW
205
        }
×
NEW
206
        if err := rows.Err(); err != nil {
×
NEW
207
                return nil, err
×
NEW
208
        }
×
NEW
209
        return items, nil
×
210
}
211

212
const getNodeFeaturesByPubKey = `-- name: GetNodeFeaturesByPubKey :many
213
SELECT f.feature_bit
214
FROM nodes n
215
    JOIN node_features f ON f.node_id = n.id
216
WHERE n.pub_key = $1
217
  AND n.version = $2
218
`
219

220
type GetNodeFeaturesByPubKeyParams struct {
221
        PubKey  []byte
222
        Version int16
223
}
224

NEW
225
func (q *Queries) GetNodeFeaturesByPubKey(ctx context.Context, arg GetNodeFeaturesByPubKeyParams) ([]int32, error) {
×
NEW
226
        rows, err := q.db.QueryContext(ctx, getNodeFeaturesByPubKey, arg.PubKey, arg.Version)
×
NEW
227
        if err != nil {
×
NEW
228
                return nil, err
×
NEW
229
        }
×
NEW
230
        defer rows.Close()
×
NEW
231
        var items []int32
×
NEW
232
        for rows.Next() {
×
NEW
233
                var feature_bit int32
×
NEW
234
                if err := rows.Scan(&feature_bit); err != nil {
×
NEW
235
                        return nil, err
×
NEW
236
                }
×
NEW
237
                items = append(items, feature_bit)
×
238
        }
NEW
239
        if err := rows.Close(); err != nil {
×
NEW
240
                return nil, err
×
NEW
241
        }
×
NEW
242
        if err := rows.Err(); err != nil {
×
NEW
243
                return nil, err
×
NEW
244
        }
×
NEW
245
        return items, nil
×
246
}
247

248
const getNodesByLastUpdateRange = `-- name: GetNodesByLastUpdateRange :many
249
SELECT id, version, pub_key, alias, last_update, color, signature
250
FROM nodes
251
WHERE last_update >= $1
252
  AND last_update < $2
253
`
254

255
type GetNodesByLastUpdateRangeParams struct {
256
        StartTime sql.NullInt64
257
        EndTime   sql.NullInt64
258
}
259

NEW
260
func (q *Queries) GetNodesByLastUpdateRange(ctx context.Context, arg GetNodesByLastUpdateRangeParams) ([]Node, error) {
×
NEW
261
        rows, err := q.db.QueryContext(ctx, getNodesByLastUpdateRange, arg.StartTime, arg.EndTime)
×
NEW
262
        if err != nil {
×
NEW
263
                return nil, err
×
NEW
264
        }
×
NEW
265
        defer rows.Close()
×
NEW
266
        var items []Node
×
NEW
267
        for rows.Next() {
×
NEW
268
                var i Node
×
NEW
269
                if err := rows.Scan(
×
NEW
270
                        &i.ID,
×
NEW
271
                        &i.Version,
×
NEW
272
                        &i.PubKey,
×
NEW
273
                        &i.Alias,
×
NEW
274
                        &i.LastUpdate,
×
NEW
275
                        &i.Color,
×
NEW
276
                        &i.Signature,
×
NEW
277
                ); err != nil {
×
NEW
278
                        return nil, err
×
NEW
279
                }
×
NEW
280
                items = append(items, i)
×
281
        }
NEW
282
        if err := rows.Close(); err != nil {
×
NEW
283
                return nil, err
×
NEW
284
        }
×
NEW
285
        if err := rows.Err(); err != nil {
×
NEW
286
                return nil, err
×
NEW
287
        }
×
NEW
288
        return items, nil
×
289
}
290

291
const getSourceNodesByVersion = `-- name: GetSourceNodesByVersion :many
292
SELECT sn.node_id, n.pub_key
293
FROM source_nodes sn
294
    JOIN nodes n ON sn.node_id = n.id
295
WHERE n.version = $1
296
`
297

298
type GetSourceNodesByVersionRow struct {
299
        NodeID int64
300
        PubKey []byte
301
}
302

NEW
303
func (q *Queries) GetSourceNodesByVersion(ctx context.Context, version int16) ([]GetSourceNodesByVersionRow, error) {
×
NEW
304
        rows, err := q.db.QueryContext(ctx, getSourceNodesByVersion, version)
×
NEW
305
        if err != nil {
×
NEW
306
                return nil, err
×
NEW
307
        }
×
NEW
308
        defer rows.Close()
×
NEW
309
        var items []GetSourceNodesByVersionRow
×
NEW
310
        for rows.Next() {
×
NEW
311
                var i GetSourceNodesByVersionRow
×
NEW
312
                if err := rows.Scan(&i.NodeID, &i.PubKey); err != nil {
×
NEW
313
                        return nil, err
×
NEW
314
                }
×
NEW
315
                items = append(items, i)
×
316
        }
NEW
317
        if err := rows.Close(); err != nil {
×
NEW
318
                return nil, err
×
NEW
319
        }
×
NEW
320
        if err := rows.Err(); err != nil {
×
NEW
321
                return nil, err
×
NEW
322
        }
×
NEW
323
        return items, nil
×
324
}
325

326
const insertNodeAddress = `-- name: InsertNodeAddress :exec
327
/* ─────────────────────────────────────────────
328
   node_addresses table queries
329
   ─────────────────────────────────────────────
330
*/
331

332
INSERT INTO node_addresses (
333
    node_id,
334
    type,
335
    address,
336
    position
337
) VALUES (
338
    $1, $2, $3, $4
339
 )
340
`
341

342
type InsertNodeAddressParams struct {
343
        NodeID   int64
344
        Type     int16
345
        Address  string
346
        Position int32
347
}
348

NEW
349
func (q *Queries) InsertNodeAddress(ctx context.Context, arg InsertNodeAddressParams) error {
×
NEW
350
        _, err := q.db.ExecContext(ctx, insertNodeAddress,
×
NEW
351
                arg.NodeID,
×
NEW
352
                arg.Type,
×
NEW
353
                arg.Address,
×
NEW
354
                arg.Position,
×
NEW
355
        )
×
NEW
356
        return err
×
NEW
357
}
×
358

359
const insertNodeFeature = `-- name: InsertNodeFeature :exec
360
/* ─────────────────────────────────────────────
361
   node_features table queries
362
   ─────────────────────────────────────────────
363
*/
364

365
INSERT INTO node_features (
366
    node_id, feature_bit
367
) VALUES (
368
    $1, $2
369
)
370
`
371

372
type InsertNodeFeatureParams struct {
373
        NodeID     int64
374
        FeatureBit int32
375
}
376

NEW
377
func (q *Queries) InsertNodeFeature(ctx context.Context, arg InsertNodeFeatureParams) error {
×
NEW
378
        _, err := q.db.ExecContext(ctx, insertNodeFeature, arg.NodeID, arg.FeatureBit)
×
NEW
379
        return err
×
NEW
380
}
×
381

382
const upsertNode = `-- name: UpsertNode :one
383
/* ─────────────────────────────────────────────
384
   nodes table queries
385
   ─────────────────────────────────────────────
386
*/
387

388
INSERT INTO nodes (
389
    version, pub_key, alias, last_update, color, signature
390
) VALUES (
391
    $1, $2, $3, $4, $5, $6
392
)
393
ON CONFLICT (pub_key, version)
394
    -- Update the following fields if a conflict occurs on pub_key
395
    -- and version.
396
    DO UPDATE SET
397
        alias = EXCLUDED.alias,
398
        last_update = EXCLUDED.last_update,
399
        color = EXCLUDED.color,
400
        signature = EXCLUDED.signature
401
WHERE EXCLUDED.last_update > nodes.last_update
402
RETURNING id
403
`
404

405
type UpsertNodeParams struct {
406
        Version    int16
407
        PubKey     []byte
408
        Alias      sql.NullString
409
        LastUpdate sql.NullInt64
410
        Color      sql.NullString
411
        Signature  []byte
412
}
413

NEW
414
func (q *Queries) UpsertNode(ctx context.Context, arg UpsertNodeParams) (int64, error) {
×
NEW
415
        row := q.db.QueryRowContext(ctx, upsertNode,
×
NEW
416
                arg.Version,
×
NEW
417
                arg.PubKey,
×
NEW
418
                arg.Alias,
×
NEW
419
                arg.LastUpdate,
×
NEW
420
                arg.Color,
×
NEW
421
                arg.Signature,
×
NEW
422
        )
×
NEW
423
        var id int64
×
NEW
424
        err := row.Scan(&id)
×
NEW
425
        return id, err
×
NEW
426
}
×
427

428
const upsertNodeExtraType = `-- name: UpsertNodeExtraType :exec
429
/* ─────────────────────────────────────────────
430
   node_extra_types table queries
431
   ─────────────────────────────────────────────
432
*/
433

434
INSERT INTO node_extra_types (
435
    node_id, type, value
436
)
437
VALUES ($1, $2, $3)
438
ON CONFLICT (type, node_id)
439
    -- Update the value if a conflict occurs on type
440
    -- and node_id.
441
    DO UPDATE SET value = EXCLUDED.value
442
`
443

444
type UpsertNodeExtraTypeParams struct {
445
        NodeID int64
446
        Type   int64
447
        Value  []byte
448
}
449

NEW
450
func (q *Queries) UpsertNodeExtraType(ctx context.Context, arg UpsertNodeExtraTypeParams) error {
×
NEW
451
        _, err := q.db.ExecContext(ctx, upsertNodeExtraType, arg.NodeID, arg.Type, arg.Value)
×
NEW
452
        return err
×
NEW
453
}
×
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

© 2025 Coveralls, Inc