Skip to content

Commit

Permalink
fix: query default limit set 5000
Browse files Browse the repository at this point in the history
Signed-off-by: Miles Zhang <[email protected]>
  • Loading branch information
zmcNotafraid committed Dec 17, 2024
1 parent 68b6600 commit 508b027
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 11 deletions.
4 changes: 2 additions & 2 deletions app/controllers/api/v2/scripts_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ def ckb_transactions
base_query = CkbTransaction.joins(:cell_dependencies).
where(cell_dependencies: { contract_cell_id: contract_cell_ids }).
order("cell_dependencies.block_number DESC, cell_dependencies.tx_index DESC").
limit(10000)
limit(Settings.query_default_limit)
@ckb_transactions = CkbTransaction.from("(#{base_query.to_sql}) AS ckb_transactions").
order("block_number DESC, tx_index DESC").
page(@page).
Expand All @@ -43,7 +43,7 @@ def referring_cells

scope = Contract.referring_cells_query(@contracts).
order("block_timestamp DESC, cell_index DESC").
limit(10000)
limit(Settings.query_default_limit)
if params[:args].present?
type_script = TypeScript.find_by(args: params[:args])
scope = scope.or(CellOutput.where(type_script_id: type_script.id))
Expand Down
4 changes: 2 additions & 2 deletions app/interactions/addresses/ckb_transactions.rb
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ def execute
raise AddressNotFoundError if address.is_a?(NullAddress)

address_id = address.map(&:id)
account_books = AccountBook.where(address_id:).order("ckb_transaction_id desc").select(:ckb_transaction_id).distinct.limit(5000)
account_books = AccountBook.where(address_id:).order("ckb_transaction_id desc").select(:ckb_transaction_id).distinct.limit(Settings.query_default_limit)
records = CkbTransaction.where(tx_status: :committed, id: account_books.map(&:ckb_transaction_id)).order(transactions_ordering).page(page).per(page_size)
options = paginate_options(records, address_id)
options.merge!(params: { previews: true, address: })
Expand All @@ -35,7 +35,7 @@ def transactions_ordering
def paginate_options(records, address_id)
total_count = AccountBook.where(address_id:).distinct.count
FastJsonapi::PaginationMetaGenerator.new(
request:, records:, page:, page_size:, total_count:,
request:, records:, page:, page_size:, total_pages: records.total_pages, total_count:,
).call
end

Expand Down
10 changes: 3 additions & 7 deletions app/lib/fast_jsonapi/pagination_meta_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,18 +3,18 @@ class PaginationMetaGenerator
DEFAULT_PAGE = 1
DEFAULT_PER_PAGE = 20

def initialize(request:, records:, page:, page_size:, records_counter: nil, total_count: nil)
def initialize(request:, records:, page:, page_size:, total_pages: nil, records_counter: nil, total_count: nil)
@url = request.base_url + request.path + query_string(request.query_parameters)
@page = page.to_i
@page_size = limit_page_size(records, page_size.to_i)
@records = records
@records_counter = records_counter || records
@total_count = total_count || @records_counter.total_count.to_i
@total_pages = total_pages
@total_pages = total_pages || calculated_total_pages
@hash = { links: {}, meta: { total: @total_count, page_size: @page_size } }
end

def total_pages
def calculated_total_pages
(total_count / @page_size).ceil
end

Expand All @@ -31,10 +31,6 @@ def current_page
records.current_page
end

def last_page?
current_page == total_pages
end

def next_page
current_page + 1 unless last_page? || out_of_range?
end
Expand Down
1 change: 1 addition & 0 deletions config/settings.mainnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -83,6 +83,7 @@ type_id_code_hash: "0x0000000000000000000000000000000000000000000000000054595045
homepage_transactions_records_count: 15
homepage_block_records_count: 15
proposal_window: 10
query_default_limit: 5000

# rgbpp code hash
rgbpp_code_hash:
Expand Down
1 change: 1 addition & 0 deletions config/settings.testnet.yml
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,7 @@ type_id_code_hash: "0x0000000000000000000000000000000000000000000000000054595045
homepage_transactions_records_count: 15
homepage_block_records_count: 15
proposal_window: 10
query_default_limit: 5000

# rgbpp code hash
rgbpp_code_hash:
Expand Down

0 comments on commit 508b027

Please sign in to comment.