MCPcopy Create free account
hub / github.com/MariaDB/server / sql_parser

Method sql_parser

sql/sql_class.cc:3160–3191  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

3158*/
3159
3160bool THD::sql_parser(LEX *old_lex, LEX *lex,
3161 char *str, uint str_len, bool stmt_prepare_mode)
3162{
3163 extern int MYSQLparse(THD * thd);
3164 extern int ORAparse(THD * thd);
3165
3166 bool parse_status= false;
3167 Parser_state parser_state;
3168 Parser_state *old_parser_state= m_parser_state;
3169
3170 if (parser_state.init(this, str, str_len))
3171 return true;
3172
3173 m_parser_state= &parser_state;
3174 parser_state.m_lip.stmt_prepare_mode= stmt_prepare_mode;
3175 parser_state.m_lip.multi_statements= false;
3176 parser_state.m_lip.m_digest= NULL;
3177
3178 lex->param_list= old_lex->param_list;
3179 lex->sphead= old_lex->sphead;
3180 lex->spname= old_lex->spname;
3181 lex->spcont= old_lex->spcont;
3182 lex->sp_chistics= old_lex->sp_chistics;
3183 lex->trg_chistics= old_lex->trg_chistics;
3184
3185 parse_status= (variables.sql_mode & MODE_ORACLE) ?
3186 ORAparse(this) : MYSQLparse(this) != 0;
3187
3188 m_parser_state= old_parser_state;
3189
3190 return parse_status;
3191}
3192
3193
3194struct Item_change_record: public ilink

Callers 1

clone_parsed_specMethod · 0.80

Calls 1

initMethod · 0.45

Tested by

no test coverage detected