23#ifndef SQL_BOOTSTRAP_H
24#define SQL_BOOTSTRAP_H
39#define MAX_BOOTSTRAP_QUERY_SIZE 74000
44#define MAX_BOOTSTRAP_LINE_SIZE 74000
std::unique_ptr< T, Free_deleter > unique_ptr_free
std::unique_ptr, but with free as deleter.
Definition: map_helpers.h:104
static char * query
Definition: myisam_ftdump.cc:44
const char * filename
Definition: pfs_example_component_population.cc:66
code_parsing_state
Definition: sql_bootstrap.h:67
@ IN_SLASH_STAR_COMMENT
Parsing a '/''*' comment.
Definition: sql_bootstrap.h:77
@ IN_DOUBLE_QUOTE
Parsing a "literal" string.
Definition: sql_bootstrap.h:73
@ IN_SINGLE_QUOTE
Parsing a 'literal' string.
Definition: sql_bootstrap.h:71
@ NORMAL
Parsing sql code.
Definition: sql_bootstrap.h:69
@ IN_POUND_COMMENT
Parsing a '#' comment.
Definition: sql_bootstrap.h:79
@ IN_DASH_DASH_COMMENT
Parsing a "--" comment.
Definition: sql_bootstrap.h:75
delimiter_state
Definition: sql_bootstrap.h:60
@ DELIMITER_DOLLAR_DOLLAR
Delimiter is "$$".
Definition: sql_bootstrap.h:64
@ DELIMITER_SEMICOLON
Delimiter is ';'.
Definition: sql_bootstrap.h:62
char *(* fgets_fn_t)(char *, size_t, MYSQL_FILE *, int *error)
Definition: sql_bootstrap.h:58
int read_bootstrap_query(char *query, size_t *query_length, MYSQL_FILE *input, fgets_fn_t fgets_fn, bootstrap_parser_state *state)
Definition: sql_bootstrap.cc:108
bootstrap_error
Definition: sql_bootstrap.h:46
@ READ_BOOTSTRAP_EOF
Definition: sql_bootstrap.h:48
@ READ_BOOTSTRAP_DQ_NOT_TERMINATED
Definition: sql_bootstrap.h:52
@ READ_BOOTSTRAP_SUCCESS
Definition: sql_bootstrap.h:47
@ READ_BOOTSTRAP_COMMENT_NOT_TERMINATED
Definition: sql_bootstrap.h:53
@ READ_BOOTSTRAP_IO
Definition: sql_bootstrap.h:49
@ READ_BOOTSTRAP_SQ_NOT_TERMINATED
Definition: sql_bootstrap.h:51
@ READ_BOOTSTRAP_DELIMITER
Definition: sql_bootstrap.h:50
@ READ_BOOTSTRAP_QUERY_SIZE
Definition: sql_bootstrap.h:54
@ READ_BOOTSTRAP_ERROR
Definition: sql_bootstrap.h:55
An instrumented FILE structure.
Definition: mysql_file.h:482
Definition: sql_bootstrap.h:82
void init()
Definition: sql_bootstrap.cc:33
size_t m_line
Definition: sql_bootstrap.h:85
size_t m_column
Definition: sql_bootstrap.h:86
Definition: sql_bootstrap.h:89
enum bootstrap_error m_last_error
Definition: sql_bootstrap.h:107
void init(const char *filename)
Definition: sql_bootstrap.cc:38
size_t m_unget_buffer_length
Definition: sql_bootstrap.h:95
delimiter_state m_delimiter
Definition: sql_bootstrap.h:102
bootstrap_parser_position m_last_delimiter
Definition: sql_bootstrap.h:110
const char * m_filename
Definition: sql_bootstrap.h:105
bootstrap_parser_position m_last_query_start
Definition: sql_bootstrap.h:114
void(* log_function_t)(const char *message)
Definition: sql_bootstrap.h:97
bootstrap_parser_position m_last_open_comment
Definition: sql_bootstrap.h:113
unique_ptr_free< char > m_unget_buffer
Definition: sql_bootstrap.h:94
void report_error_details(log_function_t log)
Definition: sql_bootstrap.cc:54
bootstrap_parser_position m_last_open_double_quote
Definition: sql_bootstrap.h:112
int m_io_sub_error
Definition: sql_bootstrap.h:108
code_parsing_state m_code_state
Definition: sql_bootstrap.h:103
bootstrap_parser_position m_last_open_single_quote
Definition: sql_bootstrap.h:111
size_t m_current_line
Definition: sql_bootstrap.h:106