-
Notifications
You must be signed in to change notification settings - Fork 11
Expand file tree
/
Copy pathchange_sets.sql.go
More file actions
129 lines (115 loc) · 3.47 KB
/
Copy pathchange_sets.sql.go
File metadata and controls
129 lines (115 loc) · 3.47 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
// Code generated by sqlc. DO NOT EDIT.
// versions:
// sqlc v1.30.0
// source: change_sets.sql
package postgres
import (
"context"
"encoding/json"
"github.com/jackc/pgx/v5/pgtype"
)
const createChange = `-- name: CreateChange :one
INSERT INTO changes (external_id, change_set_id, change_type, object_type, object_primary_value, object_id,
ref_id, object_version, before, after, new_refs,
sequence_number)
VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12)
RETURNING id, external_id, change_set_id, change_type, object_type, object_primary_value, object_id, ref_id, object_version, before, after, new_refs, sequence_number, created_at, updated_at
`
type CreateChangeParams struct {
ExternalID string `json:"external_id"`
ChangeSetID int32 `json:"change_set_id"`
ChangeType string `json:"change_type"`
ObjectType string `json:"object_type"`
ObjectPrimaryValue string `json:"object_primary_value"`
ObjectID pgtype.Int4 `json:"object_id"`
RefID pgtype.Text `json:"ref_id"`
ObjectVersion pgtype.Int4 `json:"object_version"`
Before json.RawMessage `json:"before"`
After json.RawMessage `json:"after"`
NewRefs []string `json:"new_refs"`
SequenceNumber pgtype.Int4 `json:"sequence_number"`
}
func (q *Queries) CreateChange(ctx context.Context, arg CreateChangeParams) (Change, error) {
row := q.db.QueryRow(ctx, createChange,
arg.ExternalID,
arg.ChangeSetID,
arg.ChangeType,
arg.ObjectType,
arg.ObjectPrimaryValue,
arg.ObjectID,
arg.RefID,
arg.ObjectVersion,
arg.Before,
arg.After,
arg.NewRefs,
arg.SequenceNumber,
)
var i Change
err := row.Scan(
&i.ID,
&i.ExternalID,
&i.ChangeSetID,
&i.ChangeType,
&i.ObjectType,
&i.ObjectPrimaryValue,
&i.ObjectID,
&i.RefID,
&i.ObjectVersion,
&i.Before,
&i.After,
&i.NewRefs,
&i.SequenceNumber,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const createChangeSet = `-- name: CreateChangeSet :one
INSERT INTO change_sets (external_id, ingestion_log_id, branch_id, deviation_name)
VALUES ($1, $2, $3, $4)
RETURNING id, external_id, ingestion_log_id, branch_id, deviation_name, created_at, updated_at
`
type CreateChangeSetParams struct {
ExternalID string `json:"external_id"`
IngestionLogID int32 `json:"ingestion_log_id"`
BranchID pgtype.Text `json:"branch_id"`
DeviationName pgtype.Text `json:"deviation_name"`
}
func (q *Queries) CreateChangeSet(ctx context.Context, arg CreateChangeSetParams) (ChangeSet, error) {
row := q.db.QueryRow(ctx, createChangeSet,
arg.ExternalID,
arg.IngestionLogID,
arg.BranchID,
arg.DeviationName,
)
var i ChangeSet
err := row.Scan(
&i.ID,
&i.ExternalID,
&i.IngestionLogID,
&i.BranchID,
&i.DeviationName,
&i.CreatedAt,
&i.UpdatedAt,
)
return i, err
}
const truncateChangeSets = `-- name: TruncateChangeSets :exec
DELETE FROM change_sets cs1
WHERE cs1.ingestion_log_id = $1
AND cs1.id NOT IN (
SELECT cs2.id
FROM change_sets cs2
WHERE cs2.ingestion_log_id = $1
ORDER BY cs2.id DESC
LIMIT $2
)
`
type TruncateChangeSetsParams struct {
IngestionLogID int32 `json:"ingestion_log_id"`
Limit int32 `json:"limit"`
}
func (q *Queries) TruncateChangeSets(ctx context.Context, arg TruncateChangeSetsParams) error {
_, err := q.db.Exec(ctx, truncateChangeSets, arg.IngestionLogID, arg.Limit)
return err
}