fix(setup): steps 10 and 11 (#5987)

* fix(step10): count amount of wrong_events manually

* fix(step11): create index for better performance
This commit is contained in:
Silvan
2023-06-07 16:30:19 +00:00
committed by GitHub
parent f456168a74
commit 6be41ea257
13 changed files with 82 additions and 14 deletions
+31 -5
View File
@@ -3,7 +3,7 @@ package setup
import (
"context"
"database/sql"
_ "embed"
"embed"
"time"
"github.com/cockroachdb/cockroach-go/v2/crdb"
@@ -21,11 +21,18 @@ var (
fillCreatedAt string
//go:embed 11/11_set_column.sql
setCreatedAtDetails string
//go:embed 11/postgres/create_index.sql
//go:embed 11/cockroach/create_index.sql
createdAtIndexCreateStmt embed.FS
//go:embed 11/postgres/drop_index.sql
//go:embed 11/cockroach/drop_index.sql
createdAtIndexDropStmt embed.FS
)
type AddEventCreatedAt struct {
step10 *CorrectCreationDate
dbClient *database.DB
BulkAmount int
step10 *CorrectCreationDate
dbClient *database.DB
}
func (mig *AddEventCreatedAt) Execute(ctx context.Context) error {
@@ -39,10 +46,19 @@ func (mig *AddEventCreatedAt) Execute(ctx context.Context) error {
return err
}
createIndex, err := readStmt(createdAtIndexCreateStmt, "11", mig.dbClient.Type(), "create_index.sql")
if err != nil {
return err
}
_, err = mig.dbClient.ExecContext(ctx, createIndex)
if err != nil {
return err
}
for {
var count int
err = crdb.ExecuteTx(ctx, mig.dbClient.DB, nil, func(tx *sql.Tx) error {
rows, err := tx.Query(fetchCreatedAt)
rows, err := tx.Query(fetchCreatedAt, mig.BulkAmount)
if err != nil {
return err
}
@@ -80,7 +96,7 @@ func (mig *AddEventCreatedAt) Execute(ctx context.Context) error {
if err != nil {
return err
}
logging.WithFields("count", count).Debug("creation dates set")
logging.WithFields("count", count).Info("creation dates set")
if count < 20 {
break
}
@@ -88,6 +104,16 @@ func (mig *AddEventCreatedAt) Execute(ctx context.Context) error {
logging.Info("set details")
_, err = mig.dbClient.ExecContext(ctx, setCreatedAtDetails)
if err != nil {
return err
}
dropIndex, err := readStmt(createdAtIndexDropStmt, "11", mig.dbClient.Type(), "drop_index.sql")
if err != nil {
return err
}
_, err = mig.dbClient.ExecContext(ctx, dropIndex)
return err
}