gaodayue commented on a change in pull request #1740: use RowsetFactory to
create and init RowsetWriter
URL: https://github.com/apache/incubator-doris/pull/1740#discussion_r320587846
##########
File path: be/src/olap/merger.cpp
##########
@@ -21,107 +21,55 @@
#include <vector>
#include "olap/olap_define.h"
-#include "olap/rowset/segment_group.h"
#include "olap/tablet.h"
#include "olap/reader.h"
#include "olap/row_cursor.h"
-using std::list;
-using std::string;
-using std::unique_ptr;
-using std::vector;
-
namespace doris {
-Merger::Merger(TabletSharedPtr tablet, RowsetWriterSharedPtr writer,
ReaderType type) :
- _tablet(tablet),
- _output_rs_writer(writer),
- _reader_type(type),
- _row_count(0) {}
-
-Merger::Merger(TabletSharedPtr tablet, ReaderType type, RowsetWriterSharedPtr
writer,
- const std::vector<RowsetReaderSharedPtr>& rs_readers) :
- _tablet(tablet),
- _output_rs_writer(writer),
- _input_rs_readers(rs_readers),
- _reader_type(type),
- _row_count(0) {}
-
-OLAPStatus Merger::merge(const vector<RowsetReaderSharedPtr>& rs_readers,
- int64_t* merged_rows, int64_t* filted_rows) {
- _input_rs_readers = rs_readers;
- OLAPStatus res = merge();
- if (res == OLAP_SUCCESS) {
- *merged_rows= _merged_rows;
- *filted_rows = _filted_rows;
- }
- return res;
-}
-
-OLAPStatus Merger::merge() {
- // Create and initiate reader for scanning and multi-merging specified
- // OLAPDatas.
+OLAPStatus Merger::merge_rowsets(TabletSharedPtr tablet,
+ ReaderType reader_type,
+ const std::vector<RowsetReaderSharedPtr>&
src_rowset_readers,
+ RowsetWriter* dst_rowset_writer,
+ Merger::Statistics* stats_output) {
Reader reader;
ReaderParams reader_params;
- reader_params.tablet = _tablet;
- reader_params.reader_type = _reader_type;
- reader_params.rs_readers = _input_rs_readers;
- reader_params.version = _output_rs_writer->version();
-
- if (OLAP_SUCCESS != reader.init(reader_params)) {
- LOG(WARNING) << "fail to initiate reader. tablet=" <<
_tablet->full_name();
- return OLAP_ERR_INIT_FAILED;
- }
+ reader_params.tablet = std::move(tablet);
Review comment:
ok
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]