Public Member Functions | |
TableList * | unlink_first_table (bool *link_to_local) |
void | link_first_table_back (TableList *first, bool link_to_local) |
void | first_lists_tables_same () |
void | cleanup_after_one_table_open () |
bool | push_context (Name_resolution_context *context) |
void | pop_context () |
bool | copy_db_to (char **p_db, size_t *p_db_length) const |
Name_resolution_context * | current_context () |
bool | is_single_level_stmt () |
check if the statement is a single-level join | |
bool | isCacheable () |
void | setCacheable (bool val) |
void | reset () |
void | setSumExprUsed () |
bool | isSumExprUsed () |
void | start (Session *session) |
void | end () |
message::Table * | table () |
message::Table::Field * | field () |
void | setField (message::Table::Field *arg) |
void | setExists () |
bool | exists () const |
void | reset_query_tables_list (bool init) |
void | add_to_query_tables (TableList *table) |
TableList * | first_not_own_table () |
void | chop_off_not_own_tables () |
Public Attributes | |
Select_Lex_Unit | unit |
Select_Lex | select_lex |
Select_Lex * | current_select |
Select_Lex * | all_selects_list |
char * | length |
char * | dec |
LEX_STRING | name |
String * | wild |
file_exchange * | exchange |
select_result * | result |
LEX_STRING | ident |
unsigned char * | yacc_yyss |
unsigned char * | yacc_yyvs |
Session * | session |
const CHARSET_INFO * | charset |
bool | text_string_is_7bit |
TableList * | leaf_tables_insert |
List< Key_part_spec > | col_list |
List< Key_part_spec > | ref_list |
List< String > | interval_list |
List< Lex_Column > | columns |
List< Item > * | insert_list |
List< Item > | field_list |
List< Item > | value_list |
List< Item > | update_list |
List< List_item > | many_values |
SetVarVector | var_list |
List< Name_resolution_context > | context_stack |
SQL_LIST | auxiliary_table_list |
SQL_LIST | save_list |
CreateField * | last_field |
Item_sum * | in_sum_func |
plugin::Function * | udf |
uint32_t | type |
nesting_map | allow_sum_func |
enum_sql_command | sql_command |
statement::Statement * | statement |
bool | expr_allows_subselect |
thr_lock_type | lock_option |
enum enum_duplicates | duplicates |
union { | |
enum ha_rkey_function ha_rkey_mode | |
enum xa_option_words xa_opt | |
}; | |
sql_var_t | option_type |
int | nest_level |
uint8_t | describe |
uint8_t | derived_tables |
bool | ignore |
bool | use_only_table_context |
bool | escape_used |
bool | is_lex_started |
bool | is_cross |
TableList * | query_tables |
TableList ** | query_tables_last |
TableList ** | query_tables_own_last |
Private Attributes | |
bool | cacheable |
bool | sum_expr_used |
message::Table * | _create_table |
message::Table::Field * | _create_field |
bool | _exists |
bool drizzled::LEX::copy_db_to | ( | char ** | p_db, |
size_t * | p_db_length | ||
) | const |
This method should be called only during parsing. It is aware of compound statements (stored routine bodies) and will initialize the destination with the default database of the stored routine, rather than the default database of the connection it is parsed in. E.g. if one has no current database selected, or current database set to 'bar' and then issues:
CREATE PROCEDURE foo.p1() BEGIN SELECT * FROM t1 END//
t1 is meant to refer to foo.t1, not to bar.t1.
This method is needed to support this rule.
Definition at line 1917 of file sql_lex.cc.
bool drizzled::LEX::is_single_level_stmt | ( | ) | [inline] |
check if the statement is a single-level join
true | The statement doesn't contain subqueries, unions and stored procedure calls. |
false | There are subqueries, UNIONs or stored procedure calls. |
Definition at line 964 of file sql_lex.h.
Referenced by drizzled::choose_plan(), and drizzled::execute_command().
This is used kind of like the "ident" member variable below, as a place to store certain names of identifiers. Unfortunately, it is used differently depending on the Command (SELECT on a derived table vs CREATE)
Definition at line 824 of file sql_lex.h.
Referenced by drizzled::statement::AlterTable::execute().
During name resolution search only in the table list given by Name_resolution_context::first_name_resolution_table and Name_resolution_context::last_name_resolution_table (see Item_field::fix_fields()).
Definition at line 919 of file sql_lex.h.
Referenced by drizzled::Item_field::fix_fields().