patch 4.0
This commit is contained in:
@ -15,17 +15,20 @@
|
||||
#include "storage/ob_row_sample_iterator.h"
|
||||
#include "mockcontainer/mock_ob_iterator.h"
|
||||
|
||||
namespace oceanbase {
|
||||
namespace oceanbase
|
||||
{
|
||||
using namespace common;
|
||||
using namespace storage;
|
||||
namespace unittest {
|
||||
class TestObRowSampleIterator : public ::testing::Test {
|
||||
namespace unittest
|
||||
{
|
||||
class TestObRowSampleIterator : public ::testing::Test
|
||||
{
|
||||
public:
|
||||
void check_result(const char* input, const char* output, const SampleInfo& sample_info);
|
||||
void check_iters(ObQueryRowIterator& iter1, ObQueryRowIterator& iter2);
|
||||
void check_result(const char *input, const char *output, const SampleInfo &sample_info);
|
||||
void check_iters(ObQueryRowIterator &iter1, ObQueryRowIterator &iter2);
|
||||
};
|
||||
|
||||
void TestObRowSampleIterator::check_result(const char* input, const char* output, const SampleInfo& sample_info)
|
||||
void TestObRowSampleIterator::check_result(const char *input, const char *output, const SampleInfo &sample_info)
|
||||
{
|
||||
ObMockQueryRowIterator input_iter;
|
||||
ObMockQueryRowIterator expect_iter;
|
||||
@ -36,12 +39,12 @@ void TestObRowSampleIterator::check_result(const char* input, const char* output
|
||||
ASSERT_TRUE(expect_iter.equals(row_sample_iterator));
|
||||
}
|
||||
|
||||
void TestObRowSampleIterator::check_iters(ObQueryRowIterator& iter1, ObQueryRowIterator& iter2)
|
||||
void TestObRowSampleIterator::check_iters(ObQueryRowIterator &iter1, ObQueryRowIterator &iter2)
|
||||
{
|
||||
int ret1 = OB_SUCCESS;
|
||||
int ret2 = OB_SUCCESS;
|
||||
ObStoreRow* row1 = nullptr;
|
||||
ObStoreRow* row2 = nullptr;
|
||||
ObStoreRow *row1 = nullptr;
|
||||
ObStoreRow *row2 = nullptr;
|
||||
while (OB_SUCCESS == ret1 && OB_SUCCESS == ret2) {
|
||||
ret1 = iter1.get_next_row(row1);
|
||||
ret2 = iter2.get_next_row(row2);
|
||||
@ -69,15 +72,17 @@ TEST_F(TestObRowSampleIterator, test_sample)
|
||||
sample_info.method_ = SampleInfo::ROW_SAMPLE;
|
||||
sample_info.percent_ = 30.0;
|
||||
sample_info.seed_ = 100000;
|
||||
const char* input = "int var flag \n"
|
||||
"1 var1 EXIST \n"
|
||||
"2 var2 EXIST \n"
|
||||
"3 var3 EXIST \n"
|
||||
"4 var4 EXIST \n"
|
||||
"5 var5 EXIST \n";
|
||||
const char* output = "int var flag \n"
|
||||
"2 var2 EXIST \n"
|
||||
"4 var4 EXIST \n";
|
||||
const char *input =
|
||||
"int var flag \n"
|
||||
"1 var1 EXIST \n"
|
||||
"2 var2 EXIST \n"
|
||||
"3 var3 EXIST \n"
|
||||
"4 var4 EXIST \n"
|
||||
"5 var5 EXIST \n";
|
||||
const char *output =
|
||||
"int var flag \n"
|
||||
"2 var2 EXIST \n"
|
||||
"4 var4 EXIST \n";
|
||||
check_result(input, output, sample_info);
|
||||
sample_info.percent_ = 99.99999;
|
||||
check_result(input, input, sample_info);
|
||||
@ -93,12 +98,13 @@ TEST_F(TestObRowSampleIterator, test_seed)
|
||||
ObRowSampleIterator iter2(sample_info);
|
||||
ObMockQueryRowIterator miter1;
|
||||
ObMockQueryRowIterator miter2;
|
||||
const char* input = "int var flag \n"
|
||||
"1 var1 EXIST \n"
|
||||
"2 var2 EXIST \n"
|
||||
"3 var3 EXIST \n"
|
||||
"4 var4 EXIST \n"
|
||||
"5 var5 EXIST \n";
|
||||
const char *input =
|
||||
"int var flag \n"
|
||||
"1 var1 EXIST \n"
|
||||
"2 var2 EXIST \n"
|
||||
"3 var3 EXIST \n"
|
||||
"4 var4 EXIST \n"
|
||||
"5 var5 EXIST \n";
|
||||
ASSERT_EQ(OB_SUCCESS, miter1.from(input));
|
||||
ASSERT_EQ(OB_SUCCESS, miter2.from(input));
|
||||
ASSERT_EQ(OB_SUCCESS, iter1.open(miter1));
|
||||
@ -106,13 +112,14 @@ TEST_F(TestObRowSampleIterator, test_seed)
|
||||
check_iters(iter1, iter2);
|
||||
}
|
||||
|
||||
} // namespace unittest
|
||||
} // namespace oceanbase
|
||||
}
|
||||
}
|
||||
|
||||
int main(int argc, char** argv)
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
OB_LOGGER.set_log_level("INFO");
|
||||
::testing::InitGoogleTest(&argc, argv);
|
||||
printf("start running test\n");
|
||||
return RUN_ALL_TESTS();
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user