fix no wait const param is not consistent in fp and np
This commit is contained in:
		@ -2042,19 +2042,6 @@ int ObFastParserMysql::process_identifier_begin_with_n()
 | 
				
			|||||||
      OZ (add_null_type_node());
 | 
					      OZ (add_null_type_node());
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
    bool is_nowait = false;
 | 
					 | 
				
			||||||
    if (CHECK_EQ_STRNCASECMP("o_wait", 6)) {
 | 
					 | 
				
			||||||
      is_nowait = true;
 | 
					 | 
				
			||||||
      cur_token_type_ = PARAM_TOKEN;
 | 
					 | 
				
			||||||
      raw_sql_.scan(6);
 | 
					 | 
				
			||||||
    } else if (CHECK_EQ_STRNCASECMP("owait", 5)) {
 | 
					 | 
				
			||||||
      is_nowait = true;
 | 
					 | 
				
			||||||
      cur_token_type_ = PARAM_TOKEN;
 | 
					 | 
				
			||||||
      raw_sql_.scan(5);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    if (is_nowait && OB_FAIL(add_nowait_type_node())) {
 | 
					 | 
				
			||||||
      LOG_WARN("failed to add nowait node info", K(ret));
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return ret;
 | 
					  return ret;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
@ -2453,15 +2440,6 @@ int ObFastParserOracle::process_identifier_begin_with_n()
 | 
				
			|||||||
      }
 | 
					      }
 | 
				
			||||||
    }
 | 
					    }
 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
    bool is_nowait = false;
 | 
					 | 
				
			||||||
    if (CHECK_EQ_STRNCASECMP("owait", 5)) {
 | 
					 | 
				
			||||||
      is_nowait = true;
 | 
					 | 
				
			||||||
      cur_token_type_ = PARAM_TOKEN;
 | 
					 | 
				
			||||||
      raw_sql_.scan(5);
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
    if (is_nowait && OB_FAIL(add_nowait_type_node())) {
 | 
					 | 
				
			||||||
      LOG_WARN("failed to add nowait node info", K(ret));
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  }
 | 
					  }
 | 
				
			||||||
  return ret;
 | 
					  return ret;
 | 
				
			||||||
}
 | 
					}
 | 
				
			||||||
 | 
				
			|||||||
@ -1488,14 +1488,7 @@ BEGIN(in_c_comment);
 | 
				
			|||||||
  if (IS_FAST_PARAMETERIZE) {
 | 
					  if (IS_FAST_PARAMETERIZE) {
 | 
				
			||||||
    ParseResult *p = (ParseResult *)yyextra;
 | 
					    ParseResult *p = (ParseResult *)yyextra;
 | 
				
			||||||
    REPUT_NEG_SIGN(p);
 | 
					    REPUT_NEG_SIGN(p);
 | 
				
			||||||
    if (strcasecmp("nowait", yytext) == 0
 | 
					    return NAME_OB;
 | 
				
			||||||
        || strcasecmp("no_wait", yytext) == 0) {
 | 
					 | 
				
			||||||
      //语法阶段for update nowait 会给默认值0,所以如果是fast parse也需要给0, 从而保证常量个数识别的一致性
 | 
					 | 
				
			||||||
      char num[2] = "0";
 | 
					 | 
				
			||||||
      STORE_UNIT_TYPE_NODE(num);
 | 
					 | 
				
			||||||
    } else {
 | 
					 | 
				
			||||||
      return NAME_OB;
 | 
					 | 
				
			||||||
    }
 | 
					 | 
				
			||||||
  } else {
 | 
					  } else {
 | 
				
			||||||
    int ret = NAME_OB;
 | 
					    int ret = NAME_OB;
 | 
				
			||||||
    if (NULL == (word = mysql_non_reserved_keyword_lookup(yytext)))
 | 
					    if (NULL == (word = mysql_non_reserved_keyword_lookup(yytext)))
 | 
				
			||||||
 | 
				
			|||||||
		Reference in New Issue
	
	Block a user