59
59
void add_join_on(TableList *b,Item *expr);
60
60
void add_join_natural(TableList *a,TableList *b,List<String> *using_fields,
62
void unlink_open_table(Session *session, Table *find, bool unlock);
62
void unlink_open_table(Session *session, Table *find);
63
63
void drop_open_table(Session *session, Table *table, const char *db_name,
64
64
const char *table_name);
65
void update_non_unique_table_error(TableList *update,
66
const char *operation,
67
TableList *duplicate);
69
66
SQL_SELECT *make_select(Table *head, table_map const_tables,
70
67
table_map read_tables, COND *conds,
71
68
bool allow_null_cond, int *error);
72
69
extern Item **not_found_item;
75
72
A set of constants used for checking non aggregated fields and sum
76
73
functions mixture in the ONLY_FULL_GROUP_BY_MODE.
78
75
#define NON_AGG_FIELD_USED 1
79
76
#define SUM_FUNC_USED 2
82
79
This enumeration type is used only by the function find_item_in_list
83
80
to return the info on how an item has been resolved against a list
84
81
of possibly aliased items.
136
133
int init_ftfuncs(Session *session, Select_Lex* select, bool no_order);
137
134
void wait_for_condition(Session *session, pthread_mutex_t *mutex,
138
135
pthread_cond_t *cond);
139
int open_tables(Session *session, TableList **tables, uint32_t *counter, uint32_t flags);
136
int open_tables_from_list(Session *session, TableList **tables, uint32_t *counter, uint32_t flags);
140
137
/* open_and_lock_tables with optional derived handling */
141
138
int open_and_lock_tables_derived(Session *session, TableList *tables, bool derived);
142
/* simple open_and_lock_tables without derived handling */
143
inline int simple_open_n_lock_tables(Session *session, TableList *tables)
145
return open_and_lock_tables_derived(session, tables, false);
147
/* open_and_lock_tables with derived handling */
148
inline int open_and_lock_tables(Session *session, TableList *tables)
150
return open_and_lock_tables_derived(session, tables, true);
152
139
bool open_normal_and_derived_tables(Session *session, TableList *tables, uint32_t flags);
153
140
int lock_tables(Session *session, TableList *tables, uint32_t counter, bool *need_reopen);
154
141
int decide_logging_format(Session *session);