From f79e2936486fbd8523634eedbcf1a164752b6349 Mon Sep 17 00:00:00 2001 From: Neylix Date: Tue, 4 Oct 2022 12:03:23 +0200 Subject: [PATCH] Include paging address with selected fields in DB queries (#601) --- lib/archethic/db/embedded_impl/chain_reader.ex | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/lib/archethic/db/embedded_impl/chain_reader.ex b/lib/archethic/db/embedded_impl/chain_reader.ex index 55c3a8243..49a934e16 100644 --- a/lib/archethic/db/embedded_impl/chain_reader.ex +++ b/lib/archethic/db/embedded_impl/chain_reader.ex @@ -120,6 +120,9 @@ defmodule Archethic.DB.EmbeddedImpl.ChainReader do end defp do_process_get_chain(fd, address, fields) do + # Always return transaction address + fields = if Enum.empty?(fields), do: fields, else: Enum.uniq([:address | fields]) + column_names = fields_to_column_names(fields) # Read the transactions until the nb of transactions to fullfil the page (ie. 10 transactions) @@ -174,6 +177,9 @@ defmodule Archethic.DB.EmbeddedImpl.ChainReader do {list(Transaction.t()), boolean(), binary() | nil} def scan_chain(genesis_address, limit_address, fields, paging_address, db_path) do filepath = ChainWriter.chain_path(db_path, genesis_address) + # Always return transaction address + fields = if Enum.empty?(fields), do: fields, else: Enum.uniq([:address | fields]) + column_names = fields_to_column_names(fields) case File.open(filepath, [:binary, :read]) do