mirror of
https://github.com/XRPLF/clio.git
synced 2025-11-20 11:45:53 +00:00
37 lines
746 B
Go
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
|
|
}
|