Add support for never-ending transformer

This commit is contained in:
Edvard
2018-11-14 10:11:16 -06:00
committed by Rob Mulholand
parent 82fd73ba3f
commit 8f4648a9e3
31 changed files with 50 additions and 42 deletions
+20 -12
View File
@@ -55,17 +55,25 @@ func MarkHeaderCheckedInTransaction(headerID int64, tx *sql.Tx, checkedHeadersCo
func MissingHeaders(startingBlockNumber, endingBlockNumber int64, db *postgres.DB, checkedHeadersColumn string) ([]core.Header, error) {
var result []core.Header
err := db.Select(
&result,
`SELECT headers.id, headers.block_number FROM headers
LEFT JOIN checked_headers on headers.id = header_id
WHERE (header_id ISNULL OR `+checkedHeadersColumn+` IS FALSE)
AND headers.block_number >= $1
AND headers.block_number <= $2
AND headers.eth_node_fingerprint = $3`,
startingBlockNumber,
endingBlockNumber,
db.Node.ID,
)
var query string
var err error
if endingBlockNumber == -1 {
query = `SELECT headers.id, headers.block_number FROM headers
LEFT JOIN checked_headers on headers.id = header_id
WHERE (header_id ISNULL OR ` + checkedHeadersColumn + ` IS FALSE)
AND headers.block_number >= $1
AND headers.eth_node_fingerprint = $2`
err = db.Select(&result, query, startingBlockNumber, db.Node.ID)
} else {
query = `SELECT headers.id, headers.block_number FROM headers
LEFT JOIN checked_headers on headers.id = header_id
WHERE (header_id ISNULL OR ` + checkedHeadersColumn + ` IS FALSE)
AND headers.block_number >= $1
AND headers.block_number <= $2
AND headers.eth_node_fingerprint = $3`
err = db.Select(&result, query, startingBlockNumber, endingBlockNumber, db.Node.ID)
}
return result, err
}
+1 -1
View File
@@ -33,7 +33,7 @@ type TransformerConfig struct {
ContractAbi string
Topic string
StartingBlockNumber int64
EndingBlockNumber int64
EndingBlockNumber int64 // Set -1 for indefinite transformer
}
func HexToInt64(byteString string) int64 {