16
16
#include "../reftable/reftable-record.h"
17
17
#include "../reftable/reftable-error.h"
18
18
#include "../reftable/reftable-iterator.h"
19
- #include "../reftable/reftable-merged.h"
20
19
#include "../setup.h"
21
20
#include "../strmap.h"
22
21
#include "parse.h"
@@ -502,7 +501,6 @@ static struct reftable_ref_iterator *ref_iterator_for_stack(struct reftable_ref_
502
501
const char * prefix ,
503
502
int flags )
504
503
{
505
- struct reftable_merged_table * merged_table ;
506
504
struct reftable_ref_iterator * iter ;
507
505
int ret ;
508
506
@@ -522,9 +520,8 @@ static struct reftable_ref_iterator *ref_iterator_for_stack(struct reftable_ref_
522
520
if (ret )
523
521
goto done ;
524
522
525
- merged_table = reftable_stack_merged_table (stack );
526
-
527
- ret = reftable_merged_table_seek_ref (merged_table , & iter -> iter , prefix );
523
+ reftable_stack_init_ref_iterator (stack , & iter -> iter );
524
+ ret = reftable_iterator_seek_ref (& iter -> iter , prefix );
528
525
if (ret )
529
526
goto done ;
530
527
@@ -1052,8 +1049,6 @@ static int transaction_update_cmp(const void *a, const void *b)
1052
1049
static int write_transaction_table (struct reftable_writer * writer , void * cb_data )
1053
1050
{
1054
1051
struct write_transaction_table_arg * arg = cb_data ;
1055
- struct reftable_merged_table * mt =
1056
- reftable_stack_merged_table (arg -> stack );
1057
1052
uint64_t ts = reftable_stack_next_update_index (arg -> stack );
1058
1053
struct reftable_log_record * logs = NULL ;
1059
1054
struct ident_split committer_ident = {0 };
@@ -1090,6 +1085,8 @@ static int write_transaction_table(struct reftable_writer *writer, void *cb_data
1090
1085
struct reftable_log_record log = {0 };
1091
1086
struct reftable_iterator it = {0 };
1092
1087
1088
+ reftable_stack_init_log_iterator (arg -> stack , & it );
1089
+
1093
1090
/*
1094
1091
* When deleting refs we also delete all reflog entries
1095
1092
* with them. While it is not strictly required to
@@ -1099,7 +1096,7 @@ static int write_transaction_table(struct reftable_writer *writer, void *cb_data
1099
1096
* Unfortunately, we have no better way than to delete
1100
1097
* all reflog entries one by one.
1101
1098
*/
1102
- ret = reftable_merged_table_seek_log ( mt , & it , u -> refname );
1099
+ ret = reftable_iterator_seek_log ( & it , u -> refname );
1103
1100
while (ret == 0 ) {
1104
1101
struct reftable_log_record * tombstone ;
1105
1102
@@ -1317,7 +1314,6 @@ static int write_copy_table(struct reftable_writer *writer, void *cb_data)
1317
1314
{
1318
1315
struct write_copy_arg * arg = cb_data ;
1319
1316
uint64_t deletion_ts , creation_ts ;
1320
- struct reftable_merged_table * mt = reftable_stack_merged_table (arg -> stack );
1321
1317
struct reftable_ref_record old_ref = {0 }, refs [2 ] = {0 };
1322
1318
struct reftable_log_record old_log = {0 }, * logs = NULL ;
1323
1319
struct reftable_iterator it = {0 };
@@ -1451,7 +1447,8 @@ static int write_copy_table(struct reftable_writer *writer, void *cb_data)
1451
1447
* copy over all log entries from the old reflog. Last but not least,
1452
1448
* when renaming we also have to delete all the old reflog entries.
1453
1449
*/
1454
- ret = reftable_merged_table_seek_log (mt , & it , arg -> oldname );
1450
+ reftable_stack_init_log_iterator (arg -> stack , & it );
1451
+ ret = reftable_iterator_seek_log (& it , arg -> oldname );
1455
1452
if (ret < 0 )
1456
1453
goto done ;
1457
1454
@@ -1657,7 +1654,6 @@ static struct ref_iterator_vtable reftable_reflog_iterator_vtable = {
1657
1654
static struct reftable_reflog_iterator * reflog_iterator_for_stack (struct reftable_ref_store * refs ,
1658
1655
struct reftable_stack * stack )
1659
1656
{
1660
- struct reftable_merged_table * merged_table ;
1661
1657
struct reftable_reflog_iterator * iter ;
1662
1658
int ret ;
1663
1659
@@ -1674,9 +1670,8 @@ static struct reftable_reflog_iterator *reflog_iterator_for_stack(struct reftabl
1674
1670
if (ret < 0 )
1675
1671
goto done ;
1676
1672
1677
- merged_table = reftable_stack_merged_table (stack );
1678
-
1679
- ret = reftable_merged_table_seek_log (merged_table , & iter -> iter , "" );
1673
+ reftable_stack_init_log_iterator (stack , & iter -> iter );
1674
+ ret = reftable_iterator_seek_log (& iter -> iter , "" );
1680
1675
if (ret < 0 )
1681
1676
goto done ;
1682
1677
@@ -1734,16 +1729,15 @@ static int reftable_be_for_each_reflog_ent_reverse(struct ref_store *ref_store,
1734
1729
struct reftable_ref_store * refs =
1735
1730
reftable_be_downcast (ref_store , REF_STORE_READ , "for_each_reflog_ent_reverse" );
1736
1731
struct reftable_stack * stack = stack_for (refs , refname , & refname );
1737
- struct reftable_merged_table * mt = NULL ;
1738
1732
struct reftable_log_record log = {0 };
1739
1733
struct reftable_iterator it = {0 };
1740
1734
int ret ;
1741
1735
1742
1736
if (refs -> err < 0 )
1743
1737
return refs -> err ;
1744
1738
1745
- mt = reftable_stack_merged_table (stack );
1746
- ret = reftable_merged_table_seek_log ( mt , & it , refname );
1739
+ reftable_stack_init_log_iterator (stack , & it );
1740
+ ret = reftable_iterator_seek_log ( & it , refname );
1747
1741
while (!ret ) {
1748
1742
ret = reftable_iterator_next_log (& it , & log );
1749
1743
if (ret < 0 )
@@ -1771,7 +1765,6 @@ static int reftable_be_for_each_reflog_ent(struct ref_store *ref_store,
1771
1765
struct reftable_ref_store * refs =
1772
1766
reftable_be_downcast (ref_store , REF_STORE_READ , "for_each_reflog_ent" );
1773
1767
struct reftable_stack * stack = stack_for (refs , refname , & refname );
1774
- struct reftable_merged_table * mt = NULL ;
1775
1768
struct reftable_log_record * logs = NULL ;
1776
1769
struct reftable_iterator it = {0 };
1777
1770
size_t logs_alloc = 0 , logs_nr = 0 , i ;
@@ -1780,8 +1773,8 @@ static int reftable_be_for_each_reflog_ent(struct ref_store *ref_store,
1780
1773
if (refs -> err < 0 )
1781
1774
return refs -> err ;
1782
1775
1783
- mt = reftable_stack_merged_table (stack );
1784
- 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 );
1785
1778
while (!ret ) {
1786
1779
struct reftable_log_record log = {0 };
1787
1780
@@ -1818,7 +1811,6 @@ static int reftable_be_reflog_exists(struct ref_store *ref_store,
1818
1811
struct reftable_ref_store * refs =
1819
1812
reftable_be_downcast (ref_store , REF_STORE_READ , "reflog_exists" );
1820
1813
struct reftable_stack * stack = stack_for (refs , refname , & refname );
1821
- struct reftable_merged_table * mt = reftable_stack_merged_table (stack );
1822
1814
struct reftable_log_record log = {0 };
1823
1815
struct reftable_iterator it = {0 };
1824
1816
int ret ;
@@ -1831,7 +1823,8 @@ static int reftable_be_reflog_exists(struct ref_store *ref_store,
1831
1823
if (ret < 0 )
1832
1824
goto done ;
1833
1825
1834
- ret = reftable_merged_table_seek_log (mt , & it , refname );
1826
+ reftable_stack_init_log_iterator (stack , & it );
1827
+ ret = reftable_iterator_seek_log (& it , refname );
1835
1828
if (ret < 0 )
1836
1829
goto done ;
1837
1830
@@ -1929,21 +1922,21 @@ struct write_reflog_delete_arg {
1929
1922
static int write_reflog_delete_table (struct reftable_writer * writer , void * cb_data )
1930
1923
{
1931
1924
struct write_reflog_delete_arg * arg = cb_data ;
1932
- struct reftable_merged_table * mt =
1933
- reftable_stack_merged_table (arg -> stack );
1934
1925
struct reftable_log_record log = {0 }, tombstone = {0 };
1935
1926
struct reftable_iterator it = {0 };
1936
1927
uint64_t ts = reftable_stack_next_update_index (arg -> stack );
1937
1928
int ret ;
1938
1929
1939
1930
reftable_writer_set_limits (writer , ts , ts );
1940
1931
1932
+ reftable_stack_init_log_iterator (arg -> stack , & it );
1933
+
1941
1934
/*
1942
1935
* In order to delete a table we need to delete all reflog entries one
1943
1936
* by one. This is inefficient, but the reftable format does not have a
1944
1937
* better marker right now.
1945
1938
*/
1946
- ret = reftable_merged_table_seek_log ( mt , & it , arg -> refname );
1939
+ ret = reftable_iterator_seek_log ( & it , arg -> refname );
1947
1940
while (ret == 0 ) {
1948
1941
ret = reftable_iterator_next_log (& it , & log );
1949
1942
if (ret < 0 )
@@ -2079,7 +2072,6 @@ static int reftable_be_reflog_expire(struct ref_store *ref_store,
2079
2072
struct reftable_ref_store * refs =
2080
2073
reftable_be_downcast (ref_store , REF_STORE_WRITE , "reflog_expire" );
2081
2074
struct reftable_stack * stack = stack_for (refs , refname , & refname );
2082
- struct reftable_merged_table * mt = reftable_stack_merged_table (stack );
2083
2075
struct reftable_log_record * logs = NULL ;
2084
2076
struct reftable_log_record * rewritten = NULL ;
2085
2077
struct reftable_ref_record ref_record = {0 };
@@ -2098,7 +2090,9 @@ static int reftable_be_reflog_expire(struct ref_store *ref_store,
2098
2090
if (ret < 0 )
2099
2091
goto done ;
2100
2092
2101
- ret = reftable_merged_table_seek_log (mt , & it , refname );
2093
+ reftable_stack_init_log_iterator (stack , & it );
2094
+
2095
+ ret = reftable_iterator_seek_log (& it , refname );
2102
2096
if (ret < 0 )
2103
2097
goto done ;
2104
2098
0 commit comments