fix parse bug
This commit is contained in:
parent
e472494db5
commit
7fda92db95
@ -34,9 +34,9 @@ namespace jit
|
||||
uint64_t ObLLVMDIType::get_size_bits()
|
||||
{
|
||||
return OB_ISNULL(v_) ? 0 : v_->getSizeInBits();
|
||||
}
|
||||
|
||||
uint64_t ObLLVMDIType::get_align_bits()
|
||||
}
|
||||
|
||||
uint64_t ObLLVMDIType::get_align_bits()
|
||||
{
|
||||
return OB_ISNULL(v_) ? 0 : v_->getAlignInBits();
|
||||
}
|
||||
@ -161,9 +161,9 @@ int ObLLVMDIHelper::create_local_variable(const ObString &name, uint32_t arg_no,
|
||||
} else {
|
||||
var_ptr = (arg_no > 0) ?
|
||||
jc_->dbuilder_.createParameterVariable(sp, StringRef(name.ptr(), name.length()),
|
||||
arg_no, file, line, type.get_v(), true) :
|
||||
jc_->dbuilder_.createAutoVariable(sp, StringRef(name.ptr(), name.length()),
|
||||
file, line, type.get_v(), true);
|
||||
arg_no, file, line, type.get_v(), true) :
|
||||
jc_->dbuilder_.createAutoVariable(sp, StringRef(name.ptr(), name.length()),
|
||||
file, line, type.get_v(), true);
|
||||
if (OB_ISNULL(var_ptr)) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("failed to create local variable", K(name), K(ret));
|
||||
@ -221,9 +221,9 @@ int ObLLVMDIHelper::create_pointer_type(ObLLVMDIType &pointee_type,
|
||||
int ret = OB_SUCCESS;
|
||||
DIType *pte_type = pointee_type.get_v();
|
||||
DIType *ptr_type = NULL;
|
||||
if (OB_ISNULL(jc_)) {
|
||||
ret = OB_NOT_INIT;
|
||||
LOG_WARN("jc is NULL", K(ret));
|
||||
if (OB_ISNULL(jc_)) {
|
||||
ret = OB_NOT_INIT;
|
||||
LOG_WARN("jc is NULL", K(ret));
|
||||
} else if (OB_ISNULL(ptr_type = jc_->dbuilder_.createPointerType(pte_type, 64, 64))) {
|
||||
ret = OB_ERR_UNEXPECTED;
|
||||
LOG_WARN("failed to create pointer type", K(ret));
|
||||
|
@ -62,7 +62,7 @@ enum SelectParserOffset
|
||||
PARSE_SELECT_FETCH_TEMP, //use to temporary store fetch clause in parser
|
||||
PARSE_SELECT_WITH_CHECK_OPTION,
|
||||
PARSE_SELECT_INTO_EXTRA,// ATTENTION!! SELECT_INTO_EXTRA must be the last one
|
||||
PARSE_SELECT_MAX_IDX
|
||||
PARSE_SELECT_MAX_IDX // = 24, ATTENTION!! adjust malloc_select_node(node, malloc_pool) after adding a new enum value
|
||||
};
|
||||
|
||||
enum GrantParseOffset
|
||||
|
@ -1008,8 +1008,8 @@ for (int32_t _i = 0; _i < _yyleng; ++_i) {
|
||||
NULL, \
|
||||
NULL, \
|
||||
NULL, \
|
||||
NULL, \
|
||||
NULL);
|
||||
NULL, /* PARSE_SELECT_WITH_CHECK_OPTION */ \
|
||||
NULL /* PARSE_SELECT_INTO_EXTRA */);
|
||||
|
||||
// only used by setup_token_pos_info_and_dup_string for now
|
||||
#define check_ret(stmt, loc, extra) \
|
||||
@ -1391,11 +1391,7 @@ do {\
|
||||
set_node->children_[0] = left_body; \
|
||||
set_node->children_[1] = right_body; \
|
||||
set_node->value_ = 2; \
|
||||
select_node = new_non_terminal_node(result->malloc_pool_, T_SELECT, PARSE_SELECT_MAX_IDX, NULL, NULL, NULL, NULL, NULL, \
|
||||
NULL, NULL, NULL, NULL, NULL, \
|
||||
NULL, NULL, NULL, NULL, NULL, \
|
||||
NULL, NULL, NULL, NULL, NULL, \
|
||||
NULL, NULL, NULL); \
|
||||
malloc_select_node(select_node, result->malloc_pool_); \
|
||||
if (OB_ISNULL(select_node)) { \
|
||||
if (OB_PARSER_SUCCESS == result->extra_errno_) { \
|
||||
result->extra_errno_ = OB_PARSER_ERR_NO_MEMORY; \
|
||||
|
@ -47,8 +47,7 @@ extern int easy_vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
|
||||
malloc_terminal_node(display_node, result->malloc_pool_, display_type); \
|
||||
} \
|
||||
malloc_non_terminal_node(explain_stmt, result->malloc_pool_, T_EXPLAIN, 5, \
|
||||
type_node, display_node, stmt, into_table, set_statement_id);
|
||||
|
||||
type_node, display_node, into_table, set_statement_id, stmt);
|
||||
%}
|
||||
|
||||
%destructor {destroy_tree($$);}<node>
|
||||
@ -14551,7 +14550,7 @@ explain_or_desc relation_factor opt_desc_column_option
|
||||
| explain_or_desc FORMAT COMP_EQ format_name explainable_stmt
|
||||
{
|
||||
(void)($1);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_EXPLAIN, 5, $4, NULL, $5, NULL, NULL);
|
||||
malloc_non_terminal_node($$, result->malloc_pool_, T_EXPLAIN, 5, $4, NULL, NULL, NULL, $5);
|
||||
}
|
||||
;
|
||||
|
||||
|
@ -19,9 +19,9 @@ using namespace sql;
|
||||
using namespace common;
|
||||
const static int64_t EXPLAIN_FORMAT = 0;
|
||||
const static int64_t EXPLAIN_DISPLAY_OPTION = 1;
|
||||
const static int64_t EXPLAIN_CHILD_STMT = 2;
|
||||
const static int64_t EXPLAIN_INTO_TABLE = 3;
|
||||
const static int64_t EXPLAIN_STMT_ID = 4;
|
||||
const static int64_t EXPLAIN_INTO_TABLE = 2;
|
||||
const static int64_t EXPLAIN_STMT_ID = 3;
|
||||
const static int64_t EXPLAIN_CHILD_STMT = 4;
|
||||
int ObExplainResolver::resolve(const ParseNode &parse_tree)
|
||||
{
|
||||
int ret = OB_SUCCESS;
|
||||
|
Loading…
x
Reference in New Issue
Block a user