|
|
@ -35,19 +35,6 @@ defmodule Explorer.Chain.PendingBlockOperation do |
|
|
|
|> unique_constraint(:block_hash, name: :pending_block_operations_pkey) |
|
|
|
|> unique_constraint(:block_hash, name: :pending_block_operations_pkey) |
|
|
|
end |
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
@doc """ |
|
|
|
|
|
|
|
Returns all pending block operations with the `block_hash` in the given list, |
|
|
|
|
|
|
|
using "FOR UPDATE" to grab ShareLocks in order (see docs: sharelocks.md) |
|
|
|
|
|
|
|
""" |
|
|
|
|
|
|
|
def fetch_and_lock_by_hashes(hashes) when is_list(hashes) do |
|
|
|
|
|
|
|
from( |
|
|
|
|
|
|
|
pending_ops in __MODULE__, |
|
|
|
|
|
|
|
where: pending_ops.block_hash in ^hashes, |
|
|
|
|
|
|
|
order_by: [asc: pending_ops.block_hash], |
|
|
|
|
|
|
|
lock: "FOR UPDATE" |
|
|
|
|
|
|
|
) |
|
|
|
|
|
|
|
end |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def block_hashes do |
|
|
|
def block_hashes do |
|
|
|
from( |
|
|
|
from( |
|
|
|
pending_ops in __MODULE__, |
|
|
|
pending_ops in __MODULE__, |
|
|
|