patch 4.0

This commit is contained in:
wangzelin.wzl
2022-10-24 10:34:53 +08:00
parent 4ad6e00ec3
commit 93a1074b0c
10533 changed files with 2588271 additions and 2299373 deletions

View File

@ -22,42 +22,48 @@
using namespace oceanbase::sql;
using namespace oceanbase::common;
namespace test {
namespace test
{
#define MAKE_RAW_EXPR_FROM_STR(str, expr) \
({ \
ret = ObRawExprUtils::make_raw_expr_from_str( \
str, strlen(str), ctx, expr, columns, sys_vars, &sub_query_info, aggr_exprs, win_exprs); \
ret; \
#define MAKE_RAW_EXPR_FROM_STR(str, expr) \
({ \
ret = ObRawExprUtils::make_raw_expr_from_str(str, \
strlen(str), \
ctx, \
expr, \
columns, \
sys_vars, \
&sub_query_info, \
aggr_exprs, \
win_exprs, \
udf_info); \
ret; \
})
class TestRawExprToStr : public ::testing::Test {
class TestRawExprToStr: public ::testing::Test
{
public:
TestRawExprToStr()
{}
virtual ~TestRawExprToStr()
{}
virtual void SetUp()
{}
virtual void TearDown()
{}
TestRawExprToStr() {}
virtual ~TestRawExprToStr() {}
virtual void SetUp() {}
virtual void TearDown() {}
private:
// disallow copy and assign
TestRawExprToStr(const TestRawExprToStr& other);
TestRawExprToStr& operator=(const TestRawExprToStr& ohter);
TestRawExprToStr(const TestRawExprToStr &other);
TestRawExprToStr& operator=(const TestRawExprToStr &ohter);
};
#define T(expr1) \
do { \
MAKE_RAW_EXPR_FROM_STR(expr1, expr); \
EXPECT_TRUE(OB_SUCC(ret)); \
uint64_t hash = expr->hash(0); \
_OB_LOG(INFO, "hash(%s) = %lu", expr1, hash); \
} while (0)
#define T(expr1) \
do \
{ \
MAKE_RAW_EXPR_FROM_STR(expr1, expr); \
EXPECT_TRUE(OB_SUCC(ret)); \
uint64_t hash = expr->hash(0); \
_OB_LOG(INFO, "hash(%s) = %lu", expr1, hash); \
} while(0)
TEST_F(TestRawExprToStr, basic)
{
int ret = OB_SUCCESS;
// ObExprOperatorGFactory::get_instance()->init();
//ObExprOperatorGFactory::get_instance()->init();
// mock params
// stmts
ObArenaAllocator allocator(ObModIds::TEST);
@ -67,6 +73,7 @@ TEST_F(TestRawExprToStr, basic)
ObArray<ObSubQueryInfo> sub_query_info;
ObArray<ObAggFunRawExpr*> aggr_exprs;
ObArray<ObWinFunRawExpr*> win_exprs;
ObArray<ObUDFInfo> udf_info;
ObTimeZoneInfo tz_info;
ObNameCaseMode case_mode = OB_NAME_CASE_INVALID;
ObExprResolveContext ctx(expr_factory, &tz_info, case_mode);
@ -74,18 +81,19 @@ TEST_F(TestRawExprToStr, basic)
ctx.dest_collation_ = ObCharset::get_default_collation(ctx.connection_charset_);
ctx.is_extract_param_type_ = false;
ObSQLSessionInfo session;
session.set_use_static_typing_engine(false);
ctx.session_info_ = &session;
// const int64_t buf_len = 1024;
// int64_t pos = 0;
// char buf[buf_len];
//int64_t pos = 0;
//char buf[buf_len];
ObRawExpr* expr = NULL;
ObRawExpr *expr = NULL;
// const char* inner_offset = "1+c1 > ? and 'abc' || c2 = 'def'";
// const char* expr1 = "1+c1 > ? and SUM(1) OR 2 >= 1";
// const char* expr2 = "CASE WHEN 10>=2 THEN 1+2 ELSE 0 END";
// const char* expr3 = "CASE WHEN 10>=2 THEN 10-2 ELSE SUM(10-2) END";
//const char* expr1 = "1+c1 > ? and SUM(1) OR 2 >= 1";
//const char* expr2 = "CASE WHEN 10>=2 THEN 1+2 ELSE 0 END";
//const char* expr3 = "CASE WHEN 10>=2 THEN 10-2 ELSE SUM(10-2) END";
T("1+c1 > ? and SUM(1) OR 2 >= 1");
T("CASE WHEN 10>=2 THEN 1+2 ELSE 0 END");
@ -95,11 +103,11 @@ TEST_F(TestRawExprToStr, basic)
T("c1");
}
} // namespace test
}
int main(int argc, char** argv)
int main(int argc, char **argv)
{
oceanbase::common::ObLogger::get_logger().set_log_level("INFO");
::testing::InitGoogleTest(&argc, argv);
::testing::InitGoogleTest(&argc,argv);
return RUN_ALL_TESTS();
}