Skip to content

Commit 423d8a7

Browse files
committed
chore: more clearly copy query types, & fix transaction
1 parent 6bc04c8 commit 423d8a7

File tree

1 file changed

+23
-16
lines changed

1 file changed

+23
-16
lines changed

cmd/lotus-shed/indexes.go

Lines changed: 23 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,13 @@ import (
2424
lcli "github.com/filecoin-project/lotus/cli"
2525
)
2626

27+
const (
28+
// same as in chain/events/index.go
29+
eventExists = `SELECT MAX(id) FROM event WHERE height=? AND tipset_key=? AND tipset_key_cid=? AND emitter_addr=? AND event_index=? AND message_cid=? AND message_index=?`
30+
insertEvent = `INSERT OR IGNORE INTO event(height, tipset_key, tipset_key_cid, emitter_addr, event_index, message_cid, message_index, reverted) VALUES(?, ?, ?, ?, ?, ?, ?, ?)`
31+
insertEntry = `INSERT OR IGNORE INTO event_entry(event_id, indexed, flags, key, codec, value) VALUES(?, ?, ?, ?, ?, ?)`
32+
)
33+
2734
func withCategory(cat string, cmd *cli.Command) *cli.Command {
2835
cmd.Category = strings.ToUpper(cat)
2936
return cmd
@@ -156,6 +163,19 @@ var backfillEventsCmd = &cli.Command{
156163
var totalEventsAffected int64
157164
var totalEntriesAffected int64
158165

166+
stmtEventExists, err := db.Prepare(eventExists)
167+
if err != nil {
168+
return err
169+
}
170+
stmtInsertEvent, err := db.Prepare(insertEvent)
171+
if err != nil {
172+
return err
173+
}
174+
stmtInsertEntry, err := db.Prepare(insertEntry)
175+
if err != nil {
176+
return err
177+
}
178+
159179
processHeight := func(ctx context.Context, cnt int, msgs []lapi.Message, receipts []*types.MessageReceipt) error {
160180
var tx *sql.Tx
161181
for {
@@ -173,19 +193,6 @@ var backfillEventsCmd = &cli.Command{
173193
}
174194
defer tx.Rollback() //nolint:errcheck
175195

176-
stmtSelectEvent, err := tx.Prepare("SELECT MAX(id) from event WHERE height=? AND tipset_key=? and tipset_key_cid=? and emitter_addr=? and event_index=? and message_cid=? and message_index=? and reverted=false")
177-
if err != nil {
178-
return err
179-
}
180-
stmtEvent, err := tx.Prepare("INSERT INTO event (height, tipset_key, tipset_key_cid, emitter_addr, event_index, message_cid, message_index, reverted) VALUES(?, ?, ?, ?, ?, ?, ?, ?)")
181-
if err != nil {
182-
return err
183-
}
184-
stmtEntry, err := tx.Prepare("INSERT INTO event_entry(event_id, indexed, flags, key, codec, value) VALUES(?, ?, ?, ?, ?, ?)")
185-
if err != nil {
186-
return err
187-
}
188-
189196
var eventsAffected int64
190197
var entriesAffected int64
191198

@@ -225,7 +232,7 @@ var backfillEventsCmd = &cli.Command{
225232

226233
// select the highest event id that exists in database, or null if none exists
227234
var entryID sql.NullInt64
228-
err = stmtSelectEvent.QueryRow(
235+
err = tx.Stmt(stmtEventExists).QueryRow(
229236
currTs.Height(),
230237
currTs.Key().Bytes(),
231238
tsKeyCid.Bytes(),
@@ -244,7 +251,7 @@ var backfillEventsCmd = &cli.Command{
244251
}
245252

246253
// event does not exist, lets backfill it
247-
res, err := tx.Stmt(stmtEvent).Exec(
254+
res, err := tx.Stmt(stmtInsertEvent).Exec(
248255
currTs.Height(), // height
249256
currTs.Key().Bytes(), // tipset_key
250257
tsKeyCid.Bytes(), // tipset_key_cid
@@ -271,7 +278,7 @@ var backfillEventsCmd = &cli.Command{
271278

272279
// backfill the event entries
273280
for _, entry := range event.Entries {
274-
_, err := tx.Stmt(stmtEntry).Exec(
281+
_, err := tx.Stmt(stmtInsertEntry).Exec(
275282
entryID.Int64, // event_id
276283
isIndexedValue(entry.Flags), // indexed
277284
[]byte{entry.Flags}, // flags

0 commit comments

Comments
 (0)