fix invalid str off in ps mode
This commit is contained in:
		@ -1379,6 +1379,7 @@ BEGIN(in_c_comment);
 | 
			
		||||
  }
 | 
			
		||||
  if (IS_FAST_PARAMETERIZE) {
 | 
			
		||||
    yylval->node->raw_text_ = parse_strdup(yytext, p->malloc_pool_, &(yylval->node->text_len_));
 | 
			
		||||
    yylval->node->sql_str_off_ = yylloc->first_column - 1;
 | 
			
		||||
    check_malloc(yylval->node->raw_text_);
 | 
			
		||||
    STORE_PARAM_NODE();
 | 
			
		||||
  } else {
 | 
			
		||||
@ -1399,6 +1400,7 @@ BEGIN(in_c_comment);
 | 
			
		||||
  yylval->node->value_ = get_question_mark(&p->question_mark_ctx_, p->malloc_pool_, yytext);
 | 
			
		||||
  if (IS_FAST_PARAMETERIZE) {
 | 
			
		||||
    yylval->node->raw_text_ = parse_strdup(yytext, p->malloc_pool_, &(yylval->node->text_len_));
 | 
			
		||||
    yylval->node->sql_str_off_ = yylloc->first_column - 1;
 | 
			
		||||
    check_malloc(yylval->node->raw_text_);
 | 
			
		||||
    STORE_PARAM_NODE();
 | 
			
		||||
  } else {
 | 
			
		||||
@ -1424,6 +1426,7 @@ BEGIN(in_c_comment);
 | 
			
		||||
  }
 | 
			
		||||
  if (IS_FAST_PARAMETERIZE) {
 | 
			
		||||
    yylval->node->raw_text_ = parse_strdup(yytext, p->malloc_pool_, &(yylval->node->text_len_));
 | 
			
		||||
    yylval->node->sql_str_off_ = yylloc->first_column - 1;
 | 
			
		||||
    check_malloc(yylval->node->raw_text_);
 | 
			
		||||
    STORE_PARAM_NODE();
 | 
			
		||||
  } else {
 | 
			
		||||
@ -1443,6 +1446,7 @@ BEGIN(in_c_comment);
 | 
			
		||||
    yylval->node->value_ = get_question_mark(&p->question_mark_ctx_, p->malloc_pool_, yytext);
 | 
			
		||||
    if (IS_FAST_PARAMETERIZE) {
 | 
			
		||||
      yylval->node->raw_text_ = parse_strdup(yytext, p->malloc_pool_, &(yylval->node->text_len_));
 | 
			
		||||
      yylval->node->sql_str_off_ = yylloc->first_column - 1;
 | 
			
		||||
      check_malloc(yylval->node->raw_text_);
 | 
			
		||||
      STORE_PARAM_NODE();
 | 
			
		||||
    } else {
 | 
			
		||||
 | 
			
		||||
@ -2669,6 +2669,7 @@ MOD '(' expr ',' expr ')'
 | 
			
		||||
  malloc_terminal_node(param_node, result->malloc_pool_, T_SFU_DOUBLE);
 | 
			
		||||
  int64_t len = strlen("2.718281828459045");
 | 
			
		||||
  param_node->str_value_ = parse_strndup("2.718281828459045", len, result->malloc_pool_);
 | 
			
		||||
  param_node->is_hidden_const_ = 1;
 | 
			
		||||
  if (OB_UNLIKELY(NULL == param_node->str_value_)) {
 | 
			
		||||
    yyerror(NULL, result, "No more space for mallocing string\n");
 | 
			
		||||
    YYABORT_NO_MEMORY;
 | 
			
		||||
@ -2686,6 +2687,7 @@ MOD '(' expr ',' expr ')'
 | 
			
		||||
  malloc_terminal_node(param_node, result->malloc_pool_, T_SFU_DOUBLE);
 | 
			
		||||
  int64_t len = strlen("2.718281828459045");
 | 
			
		||||
  param_node->str_value_ = parse_strndup("2.718281828459045", len, result->malloc_pool_);
 | 
			
		||||
  param_node->is_hidden_const_ = 1;
 | 
			
		||||
  if (OB_UNLIKELY(NULL == param_node->str_value_)) {
 | 
			
		||||
    yyerror(NULL, result, "No more space for mallocing string\n");
 | 
			
		||||
    YYABORT_NO_MEMORY;
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user