Files
clio/tools/snapshot/internal/util/db.go
2025-05-20 10:08:17 -04:00

37 lines
746 B
Go

package util
import (
"github.com/gocql/gocql"
)
type Range struct {
FirstLedgerIdx uint64
LatestLedgerIdx uint64
}
func GetLedgerRange(cluster *gocql.ClusterConfig) (*Range, error) {
session, err := cluster.CreateSession()
if err != nil {
return nil, err
}
defer session.Close()
var (
firstLedgerIdx uint64
latestLedgerIdx uint64
)
if err := session.Query("SELECT sequence FROM ledger_range WHERE is_latest = ?", false).Scan(&firstLedgerIdx); err != nil {
return nil, err
}
if err := session.Query("SELECT sequence FROM ledger_range WHERE is_latest = ?", true).Scan(&latestLedgerIdx); err != nil {
return nil, err
}
return &Range{
FirstLedgerIdx: firstLedgerIdx,
LatestLedgerIdx: latestLedgerIdx,
}, nil
}