mirror of
https://github.com/MariaDB/server.git
synced 2025-07-29 05:21:33 +03:00
Backport of:
---------------------------------------------------------- revno: 2630.22.8 committer: Konstantin Osipov <konstantin@mysql.com> branch nick: mysql-6.0-runtime timestamp: Sun 2008-08-10 18:49:52 +0400 message: Get rid of typedef struct for the most commonly used types: TABLE, TABLE_SHARE, LEX. This simplifies use of tags and forward declarations.
This commit is contained in:
@ -2097,7 +2097,7 @@ void st_select_lex::print_limit(THD *thd,
|
||||
to implement the clean up.
|
||||
*/
|
||||
|
||||
void st_lex::cleanup_lex_after_parse_error(THD *thd)
|
||||
void LEX::cleanup_lex_after_parse_error(THD *thd)
|
||||
{
|
||||
/*
|
||||
Delete sphead for the side effect of restoring of the original
|
||||
@ -2187,7 +2187,7 @@ void Query_tables_list::destroy_query_tables_list()
|
||||
Initialize LEX object.
|
||||
|
||||
SYNOPSIS
|
||||
st_lex::st_lex()
|
||||
LEX::LEX()
|
||||
|
||||
NOTE
|
||||
LEX object initialized with this constructor can be used as part of
|
||||
@ -2197,7 +2197,7 @@ void Query_tables_list::destroy_query_tables_list()
|
||||
for this.
|
||||
*/
|
||||
|
||||
st_lex::st_lex()
|
||||
LEX::LEX()
|
||||
:result(0),
|
||||
sql_command(SQLCOM_END), option_type(OPT_DEFAULT), is_lex_started(0)
|
||||
{
|
||||
@ -2214,7 +2214,7 @@ st_lex::st_lex()
|
||||
Check whether the merging algorithm can be used on this VIEW
|
||||
|
||||
SYNOPSIS
|
||||
st_lex::can_be_merged()
|
||||
LEX::can_be_merged()
|
||||
|
||||
DESCRIPTION
|
||||
We can apply merge algorithm if it is single SELECT view with
|
||||
@ -2228,7 +2228,7 @@ st_lex::st_lex()
|
||||
TRUE - merge algorithm can be used
|
||||
*/
|
||||
|
||||
bool st_lex::can_be_merged()
|
||||
bool LEX::can_be_merged()
|
||||
{
|
||||
// TODO: do not forget implement case when select_lex.table_list.elements==0
|
||||
|
||||
@ -2265,19 +2265,19 @@ bool st_lex::can_be_merged()
|
||||
check if command can use VIEW with MERGE algorithm (for top VIEWs)
|
||||
|
||||
SYNOPSIS
|
||||
st_lex::can_use_merged()
|
||||
LEX::can_use_merged()
|
||||
|
||||
DESCRIPTION
|
||||
Only listed here commands can use merge algorithm in top level
|
||||
SELECT_LEX (for subqueries will be used merge algorithm if
|
||||
st_lex::can_not_use_merged() is not TRUE).
|
||||
LEX::can_not_use_merged() is not TRUE).
|
||||
|
||||
RETURN
|
||||
FALSE - command can't use merged VIEWs
|
||||
TRUE - VIEWs with MERGE algorithms can be used
|
||||
*/
|
||||
|
||||
bool st_lex::can_use_merged()
|
||||
bool LEX::can_use_merged()
|
||||
{
|
||||
switch (sql_command)
|
||||
{
|
||||
@ -2302,18 +2302,18 @@ bool st_lex::can_use_merged()
|
||||
Check if command can't use merged views in any part of command
|
||||
|
||||
SYNOPSIS
|
||||
st_lex::can_not_use_merged()
|
||||
LEX::can_not_use_merged()
|
||||
|
||||
DESCRIPTION
|
||||
Temporary table algorithm will be used on all SELECT levels for queries
|
||||
listed here (see also st_lex::can_use_merged()).
|
||||
listed here (see also LEX::can_use_merged()).
|
||||
|
||||
RETURN
|
||||
FALSE - command can't use merged VIEWs
|
||||
TRUE - VIEWs with MERGE algorithms can be used
|
||||
*/
|
||||
|
||||
bool st_lex::can_not_use_merged()
|
||||
bool LEX::can_not_use_merged()
|
||||
{
|
||||
switch (sql_command)
|
||||
{
|
||||
@ -2342,7 +2342,7 @@ bool st_lex::can_not_use_merged()
|
||||
FALSE no, we need data
|
||||
*/
|
||||
|
||||
bool st_lex::only_view_structure()
|
||||
bool LEX::only_view_structure()
|
||||
{
|
||||
switch (sql_command) {
|
||||
case SQLCOM_SHOW_CREATE:
|
||||
@ -2371,7 +2371,7 @@ bool st_lex::only_view_structure()
|
||||
*/
|
||||
|
||||
|
||||
bool st_lex::need_correct_ident()
|
||||
bool LEX::need_correct_ident()
|
||||
{
|
||||
switch(sql_command)
|
||||
{
|
||||
@ -2401,7 +2401,7 @@ bool st_lex::need_correct_ident()
|
||||
VIEW_CHECK_CASCADED CHECK OPTION CASCADED
|
||||
*/
|
||||
|
||||
uint8 st_lex::get_effective_with_check(TABLE_LIST *view)
|
||||
uint8 LEX::get_effective_with_check(TABLE_LIST *view)
|
||||
{
|
||||
if (view->select_lex->master_unit() == &unit &&
|
||||
which_check_option_applicable())
|
||||
@ -2430,7 +2430,7 @@ uint8 st_lex::get_effective_with_check(TABLE_LIST *view)
|
||||
*/
|
||||
|
||||
bool
|
||||
st_lex::copy_db_to(char **p_db, size_t *p_db_length) const
|
||||
LEX::copy_db_to(char **p_db, size_t *p_db_length) const
|
||||
{
|
||||
if (sphead)
|
||||
{
|
||||
@ -2507,7 +2507,7 @@ void st_select_lex_unit::set_limit(st_select_lex *sl)
|
||||
clause.
|
||||
*/
|
||||
|
||||
void st_lex::set_trg_event_type_for_tables()
|
||||
void LEX::set_trg_event_type_for_tables()
|
||||
{
|
||||
uint8 new_trg_event_map= 0;
|
||||
|
||||
@ -2650,7 +2650,7 @@ void st_lex::set_trg_event_type_for_tables()
|
||||
In this case link_to_local is set.
|
||||
|
||||
*/
|
||||
TABLE_LIST *st_lex::unlink_first_table(bool *link_to_local)
|
||||
TABLE_LIST *LEX::unlink_first_table(bool *link_to_local)
|
||||
{
|
||||
TABLE_LIST *first;
|
||||
if ((first= query_tables))
|
||||
@ -2690,7 +2690,7 @@ TABLE_LIST *st_lex::unlink_first_table(bool *link_to_local)
|
||||
table list
|
||||
|
||||
SYNOPSYS
|
||||
st_lex::first_lists_tables_same()
|
||||
LEX::first_lists_tables_same()
|
||||
|
||||
NOTES
|
||||
In many cases (for example, usual INSERT/DELETE/...) the first table of
|
||||
@ -2701,7 +2701,7 @@ TABLE_LIST *st_lex::unlink_first_table(bool *link_to_local)
|
||||
the global list first.
|
||||
*/
|
||||
|
||||
void st_lex::first_lists_tables_same()
|
||||
void LEX::first_lists_tables_same()
|
||||
{
|
||||
TABLE_LIST *first_table= (TABLE_LIST*) select_lex.table_list.first;
|
||||
if (query_tables != first_table && first_table != 0)
|
||||
@ -2737,7 +2737,7 @@ void st_lex::first_lists_tables_same()
|
||||
global list
|
||||
*/
|
||||
|
||||
void st_lex::link_first_table_back(TABLE_LIST *first,
|
||||
void LEX::link_first_table_back(TABLE_LIST *first,
|
||||
bool link_to_local)
|
||||
{
|
||||
if (first)
|
||||
@ -2764,7 +2764,7 @@ void st_lex::link_first_table_back(TABLE_LIST *first,
|
||||
cleanup lex for case when we open table by table for processing
|
||||
|
||||
SYNOPSIS
|
||||
st_lex::cleanup_after_one_table_open()
|
||||
LEX::cleanup_after_one_table_open()
|
||||
|
||||
NOTE
|
||||
This method is mostly responsible for cleaning up of selects lists and
|
||||
@ -2772,7 +2772,7 @@ void st_lex::link_first_table_back(TABLE_LIST *first,
|
||||
to call Query_tables_list::reset_query_tables_list(FALSE).
|
||||
*/
|
||||
|
||||
void st_lex::cleanup_after_one_table_open()
|
||||
void LEX::cleanup_after_one_table_open()
|
||||
{
|
||||
/*
|
||||
thd->lex->derived_tables & additional units may be set if we open
|
||||
@ -2807,7 +2807,7 @@ void st_lex::cleanup_after_one_table_open()
|
||||
backup Pointer to Query_tables_list instance to be used for backup
|
||||
*/
|
||||
|
||||
void st_lex::reset_n_backup_query_tables_list(Query_tables_list *backup)
|
||||
void LEX::reset_n_backup_query_tables_list(Query_tables_list *backup)
|
||||
{
|
||||
backup->set_query_tables_list(this);
|
||||
/*
|
||||
@ -2826,7 +2826,7 @@ void st_lex::reset_n_backup_query_tables_list(Query_tables_list *backup)
|
||||
backup Pointer to Query_tables_list instance used for backup
|
||||
*/
|
||||
|
||||
void st_lex::restore_backup_query_tables_list(Query_tables_list *backup)
|
||||
void LEX::restore_backup_query_tables_list(Query_tables_list *backup)
|
||||
{
|
||||
this->destroy_query_tables_list();
|
||||
this->set_query_tables_list(backup);
|
||||
@ -2837,14 +2837,14 @@ void st_lex::restore_backup_query_tables_list(Query_tables_list *backup)
|
||||
Checks for usage of routines and/or tables in a parsed statement
|
||||
|
||||
SYNOPSIS
|
||||
st_lex:table_or_sp_used()
|
||||
LEX:table_or_sp_used()
|
||||
|
||||
RETURN
|
||||
FALSE No routines and tables used
|
||||
TRUE Either or both routines and tables are used.
|
||||
*/
|
||||
|
||||
bool st_lex::table_or_sp_used()
|
||||
bool LEX::table_or_sp_used()
|
||||
{
|
||||
DBUG_ENTER("table_or_sp_used");
|
||||
|
||||
@ -3005,7 +3005,7 @@ bool st_select_lex::add_index_hint (THD *thd, char *str, uint length)
|
||||
@retval FALSE No, not a management partition command
|
||||
*/
|
||||
|
||||
bool st_lex::is_partition_management() const
|
||||
bool LEX::is_partition_management() const
|
||||
{
|
||||
return (sql_command == SQLCOM_ALTER_TABLE &&
|
||||
(alter_info.flags == ALTER_ADD_PARTITION ||
|
||||
|
Reference in New Issue
Block a user