@@ -24,7 +24,6 @@ void BufferedSkipListWriter::AddItem(u32 key, u32 value1, u32 value2) {
24
24
last_value1_ = value1;
25
25
PushBack (2 , value2);
26
26
EndPushBack ();
27
-
28
27
if (NeedFlush (SKIP_LIST_BUFFER_SIZE)) {
29
28
Flush ();
30
29
}
@@ -52,74 +51,7 @@ void BufferedSkipListWriter::AddItem(u32 value_delta) {
52
51
}
53
52
}
54
53
55
- SizeT BufferedSkipListWriter::DoFlush () {
56
- u32 flush_size = 0 ;
57
- u8 size = buffer_.Size ();
58
-
59
- const PostingValues *posting_values = GetPostingValues ();
60
- for (SizeT i = 0 ; i < posting_values->GetSize (); ++i) {
61
- PostingValue *posting_value = posting_values->GetValue (i);
62
- u8 *buffer = buffer_.GetRow (posting_value->location_ );
63
- flush_size += posting_value->Encode (posting_writer_, buffer, size * posting_value->GetSize ());
64
- }
65
- return flush_size;
66
- }
67
-
68
- void BufferedSkipListWriter::Dump (const SharedPtr<FileWriter> &file) {
69
- posting_writer_.Dump (file);
70
- return ;
71
-
72
- u32 skiplist_size = GetTotalCount ();
73
- if (skiplist_size == 0 ) {
74
- return ;
75
- }
76
- if (GetPostingValues ()->GetSize () != 3 ) {
77
- posting_writer_.Dump (file);
78
- return ;
79
- }
80
-
81
- const ByteSliceList *skipList = posting_writer_.GetByteSliceList ();
82
- ByteSliceListIterator iter (skipList);
83
- u32 start = 0 ;
84
- const PostingValues *posting_values = GetPostingValues ();
85
- for (SizeT i = 0 ; i < posting_values->GetSize (); ++i) {
86
- PostingValue *posting_value = posting_values->GetValue (i);
87
- u32 len = posting_value->GetSize () * skiplist_size;
88
- if (i > 0 ) {
89
- // not encode last value after first row
90
- len -= posting_value->GetSize ();
91
- }
92
- if (len == 0 ) {
93
- break ;
94
- }
95
- bool ret = iter.SeekSlice (start);
96
- assert (ret);
97
- (void )ret;
98
- while (iter.HasNext (start + len)) {
99
- void *data = nullptr ;
100
- SizeT size = 0 ;
101
- iter.Next (data, size);
102
- assert (data);
103
- assert (size);
104
- file->Write ((char *)data, size);
105
- }
106
- start += posting_value->GetSize () * skiplist_size;
107
- }
108
- }
109
-
110
- SizeT BufferedSkipListWriter::EstimateDumpSize () const {
111
- u32 skiplist_size = GetTotalCount ();
112
- if (skiplist_size == 0 ) {
113
- return 0 ;
114
- }
115
- if (GetPostingValues ()->GetSize () != 3 ) {
116
- return posting_writer_.GetSize ();
117
- }
54
+ void BufferedSkipListWriter::Dump (const SharedPtr<FileWriter> &file) { posting_writer_.Dump (file); }
118
55
119
- const PostingValues *posting_values = GetPostingValues ();
120
- assert (posting_values->GetSize () == 3 );
121
-
122
- SizeT opt_size = posting_values->GetValue (1 )->GetSize () + posting_values->GetValue (1 )->GetSize ();
123
- return posting_writer_.GetSize () - opt_size;
124
- }
56
+ SizeT BufferedSkipListWriter::EstimateDumpSize () const { return posting_writer_.GetSize (); }
125
57
} // namespace infinity
0 commit comments