15
15
#include "../reftable/reftable-record.h"
16
16
#include "../reftable/reftable-error.h"
17
17
#include "../reftable/reftable-iterator.h"
18
- #include "../reftable/reftable-merged.h"
19
18
#include "../setup.h"
20
19
#include "../strmap.h"
21
20
#include "parse.h"
@@ -462,7 +461,6 @@ static struct reftable_ref_iterator *ref_iterator_for_stack(struct reftable_ref_
462
461
const char * prefix ,
463
462
int flags )
464
463
{
465
- struct reftable_merged_table * merged_table ;
466
464
struct reftable_ref_iterator * iter ;
467
465
int ret ;
468
466
@@ -482,9 +480,8 @@ static struct reftable_ref_iterator *ref_iterator_for_stack(struct reftable_ref_
482
480
if (ret )
483
481
goto done ;
484
482
485
- merged_table = reftable_stack_merged_table (stack );
486
-
487
- ret = reftable_merged_table_seek_ref (merged_table , & iter -> iter , prefix );
483
+ reftable_stack_init_ref_iterator (stack , & iter -> iter );
484
+ ret = reftable_iterator_seek_ref (& iter -> iter , prefix );
488
485
if (ret )
489
486
goto done ;
490
487
@@ -1015,8 +1012,6 @@ static int transaction_update_cmp(const void *a, const void *b)
1015
1012
static int write_transaction_table (struct reftable_writer * writer , void * cb_data )
1016
1013
{
1017
1014
struct write_transaction_table_arg * arg = cb_data ;
1018
- struct reftable_merged_table * mt =
1019
- reftable_stack_merged_table (arg -> stack );
1020
1015
uint64_t ts = reftable_stack_next_update_index (arg -> stack );
1021
1016
struct reftable_log_record * logs = NULL ;
1022
1017
struct ident_split committer_ident = {0 };
@@ -1051,6 +1046,8 @@ static int write_transaction_table(struct reftable_writer *writer, void *cb_data
1051
1046
struct reftable_log_record log = {0 };
1052
1047
struct reftable_iterator it = {0 };
1053
1048
1049
+ reftable_stack_init_log_iterator (arg -> stack , & it );
1050
+
1054
1051
/*
1055
1052
* When deleting refs we also delete all reflog entries
1056
1053
* with them. While it is not strictly required to
@@ -1060,7 +1057,7 @@ static int write_transaction_table(struct reftable_writer *writer, void *cb_data
1060
1057
* Unfortunately, we have no better way than to delete
1061
1058
* all reflog entries one by one.
1062
1059
*/
1063
- ret = reftable_merged_table_seek_log ( mt , & it , u -> refname );
1060
+ ret = reftable_iterator_seek_log ( & it , u -> refname );
1064
1061
while (ret == 0 ) {
1065
1062
struct reftable_log_record * tombstone ;
1066
1063
@@ -1354,7 +1351,6 @@ static int write_copy_table(struct reftable_writer *writer, void *cb_data)
1354
1351
{
1355
1352
struct write_copy_arg * arg = cb_data ;
1356
1353
uint64_t deletion_ts , creation_ts ;
1357
- struct reftable_merged_table * mt = reftable_stack_merged_table (arg -> stack );
1358
1354
struct reftable_ref_record old_ref = {0 }, refs [2 ] = {0 };
1359
1355
struct reftable_log_record old_log = {0 }, * logs = NULL ;
1360
1356
struct reftable_iterator it = {0 };
@@ -1488,7 +1484,8 @@ static int write_copy_table(struct reftable_writer *writer, void *cb_data)
1488
1484
* copy over all log entries from the old reflog. Last but not least,
1489
1485
* when renaming we also have to delete all the old reflog entries.
1490
1486
*/
1491
- ret = reftable_merged_table_seek_log (mt , & it , arg -> oldname );
1487
+ reftable_stack_init_log_iterator (arg -> stack , & it );
1488
+ ret = reftable_iterator_seek_log (& it , arg -> oldname );
1492
1489
if (ret < 0 )
1493
1490
goto done ;
1494
1491
@@ -1694,7 +1691,6 @@ static struct ref_iterator_vtable reftable_reflog_iterator_vtable = {
1694
1691
static struct reftable_reflog_iterator * reflog_iterator_for_stack (struct reftable_ref_store * refs ,
1695
1692
struct reftable_stack * stack )
1696
1693
{
1697
- struct reftable_merged_table * merged_table ;
1698
1694
struct reftable_reflog_iterator * iter ;
1699
1695
int ret ;
1700
1696
@@ -1711,9 +1707,8 @@ static struct reftable_reflog_iterator *reflog_iterator_for_stack(struct reftabl
1711
1707
if (ret < 0 )
1712
1708
goto done ;
1713
1709
1714
- merged_table = reftable_stack_merged_table (stack );
1715
-
1716
- ret = reftable_merged_table_seek_log (merged_table , & iter -> iter , "" );
1710
+ reftable_stack_init_log_iterator (stack , & iter -> iter );
1711
+ ret = reftable_iterator_seek_log (& iter -> iter , "" );
1717
1712
if (ret < 0 )
1718
1713
goto done ;
1719
1714
@@ -1771,16 +1766,15 @@ static int reftable_be_for_each_reflog_ent_reverse(struct ref_store *ref_store,
1771
1766
struct reftable_ref_store * refs =
1772
1767
reftable_be_downcast (ref_store , REF_STORE_READ , "for_each_reflog_ent_reverse" );
1773
1768
struct reftable_stack * stack = stack_for (refs , refname , & refname );
1774
- struct reftable_merged_table * mt = NULL ;
1775
1769
struct reftable_log_record log = {0 };
1776
1770
struct reftable_iterator it = {0 };
1777
1771
int ret ;
1778
1772
1779
1773
if (refs -> err < 0 )
1780
1774
return refs -> err ;
1781
1775
1782
- mt = reftable_stack_merged_table (stack );
1783
- ret = reftable_merged_table_seek_log ( mt , & it , refname );
1776
+ reftable_stack_init_log_iterator (stack , & it );
1777
+ ret = reftable_iterator_seek_log ( & it , refname );
1784
1778
while (!ret ) {
1785
1779
ret = reftable_iterator_next_log (& it , & log );
1786
1780
if (ret < 0 )
@@ -1808,7 +1802,6 @@ static int reftable_be_for_each_reflog_ent(struct ref_store *ref_store,
1808
1802
struct reftable_ref_store * refs =
1809
1803
reftable_be_downcast (ref_store , REF_STORE_READ , "for_each_reflog_ent" );
1810
1804
struct reftable_stack * stack = stack_for (refs , refname , & refname );
1811
- struct reftable_merged_table * mt = NULL ;
1812
1805
struct reftable_log_record * logs = NULL ;
1813
1806
struct reftable_iterator it = {0 };
1814
1807
size_t logs_alloc = 0 , logs_nr = 0 , i ;
@@ -1817,8 +1810,8 @@ static int reftable_be_for_each_reflog_ent(struct ref_store *ref_store,
1817
1810
if (refs -> err < 0 )
1818
1811
return refs -> err ;
1819
1812
1820
- mt = reftable_stack_merged_table (stack );
1821
- ret = reftable_merged_table_seek_log ( mt , & it , refname );
1813
+ reftable_stack_init_log_iterator (stack , & it );
1814
+ ret = reftable_iterator_seek_log ( & it , refname );
1822
1815
while (!ret ) {
1823
1816
struct reftable_log_record log = {0 };
1824
1817
@@ -1855,7 +1848,6 @@ static int reftable_be_reflog_exists(struct ref_store *ref_store,
1855
1848
struct reftable_ref_store * refs =
1856
1849
reftable_be_downcast (ref_store , REF_STORE_READ , "reflog_exists" );
1857
1850
struct reftable_stack * stack = stack_for (refs , refname , & refname );
1858
- struct reftable_merged_table * mt = reftable_stack_merged_table (stack );
1859
1851
struct reftable_log_record log = {0 };
1860
1852
struct reftable_iterator it = {0 };
1861
1853
int ret ;
@@ -1868,7 +1860,8 @@ static int reftable_be_reflog_exists(struct ref_store *ref_store,
1868
1860
if (ret < 0 )
1869
1861
goto done ;
1870
1862
1871
- ret = reftable_merged_table_seek_log (mt , & it , refname );
1863
+ reftable_stack_init_log_iterator (stack , & it );
1864
+ ret = reftable_iterator_seek_log (& it , refname );
1872
1865
if (ret < 0 )
1873
1866
goto done ;
1874
1867
@@ -1966,21 +1959,21 @@ struct write_reflog_delete_arg {
1966
1959
static int write_reflog_delete_table (struct reftable_writer * writer , void * cb_data )
1967
1960
{
1968
1961
struct write_reflog_delete_arg * arg = cb_data ;
1969
- struct reftable_merged_table * mt =
1970
- reftable_stack_merged_table (arg -> stack );
1971
1962
struct reftable_log_record log = {0 }, tombstone = {0 };
1972
1963
struct reftable_iterator it = {0 };
1973
1964
uint64_t ts = reftable_stack_next_update_index (arg -> stack );
1974
1965
int ret ;
1975
1966
1976
1967
reftable_writer_set_limits (writer , ts , ts );
1977
1968
1969
+ reftable_stack_init_log_iterator (arg -> stack , & it );
1970
+
1978
1971
/*
1979
1972
* In order to delete a table we need to delete all reflog entries one
1980
1973
* by one. This is inefficient, but the reftable format does not have a
1981
1974
* better marker right now.
1982
1975
*/
1983
- ret = reftable_merged_table_seek_log ( mt , & it , arg -> refname );
1976
+ ret = reftable_iterator_seek_log ( & it , arg -> refname );
1984
1977
while (ret == 0 ) {
1985
1978
ret = reftable_iterator_next_log (& it , & log );
1986
1979
if (ret < 0 )
@@ -2116,7 +2109,6 @@ static int reftable_be_reflog_expire(struct ref_store *ref_store,
2116
2109
struct reftable_ref_store * refs =
2117
2110
reftable_be_downcast (ref_store , REF_STORE_WRITE , "reflog_expire" );
2118
2111
struct reftable_stack * stack = stack_for (refs , refname , & refname );
2119
- struct reftable_merged_table * mt = reftable_stack_merged_table (stack );
2120
2112
struct reftable_log_record * logs = NULL ;
2121
2113
struct reftable_log_record * rewritten = NULL ;
2122
2114
struct reftable_ref_record ref_record = {0 };
@@ -2135,7 +2127,9 @@ static int reftable_be_reflog_expire(struct ref_store *ref_store,
2135
2127
if (ret < 0 )
2136
2128
goto done ;
2137
2129
2138
- ret = reftable_merged_table_seek_log (mt , & it , refname );
2130
+ reftable_stack_init_log_iterator (stack , & it );
2131
+
2132
+ ret = reftable_iterator_seek_log (& it , refname );
2139
2133
if (ret < 0 )
2140
2134
goto done ;
2141
2135
0 commit comments