@@ -62,7 +62,7 @@ Select_lex_builder::Select_lex_builder(const POS *pc, THD *thd)
62
62
bool Select_lex_builder::add_to_select_item_list (Item *expr) {
63
63
// Prepare list if not exist.
64
64
if (!m_select_item_list) {
65
- m_select_item_list = new (m_thd->mem_root ) PT_select_item_list ();
65
+ m_select_item_list = new (m_thd->mem_root ) PT_select_item_list (*m_pos );
66
66
67
67
if (m_select_item_list == nullptr ) return true ;
68
68
}
@@ -147,8 +147,9 @@ bool Select_lex_builder::add_from_item(const LEX_CSTRING &schema_name,
147
147
if (table_ident == nullptr ) return true ;
148
148
149
149
/* ... FROM schame_name.<table_name> ... */
150
- PT_table_factor_table_ident *table_factor = new (m_thd->mem_root )
151
- PT_table_factor_table_ident (table_ident, nullptr , NULL_CSTR, nullptr );
150
+ PT_table_factor_table_ident *table_factor =
151
+ new (m_thd->mem_root ) PT_table_factor_table_ident (
152
+ *m_pos, table_ident, nullptr , NULL_CSTR, nullptr );
152
153
if (table_factor == nullptr ) return true ;
153
154
154
155
if (m_table_reference_list.push_back (table_factor)) return true ;
@@ -249,7 +250,7 @@ bool Select_lex_builder::add_condition(Item *a) {
249
250
bool Select_lex_builder::add_order_by (const LEX_CSTRING &field_name) {
250
251
/* ... ORDER BY <field_name> ASC... */
251
252
if (!m_order_by_list) {
252
- m_order_by_list = new (m_thd->mem_root ) PT_order_list ();
253
+ m_order_by_list = new (m_thd->mem_root ) PT_order_list (*m_pos );
253
254
if (m_order_by_list == nullptr ) return true ;
254
255
}
255
256
@@ -259,7 +260,7 @@ bool Select_lex_builder::add_order_by(const LEX_CSTRING &field_name) {
259
260
if (ident_field == nullptr ) return true ;
260
261
261
262
PT_order_expr *expression =
262
- new (m_thd->mem_root ) PT_order_expr (ident_field, ORDER_ASC);
263
+ new (m_thd->mem_root ) PT_order_expr (*m_pos, ident_field, ORDER_ASC);
263
264
m_order_by_list->push_back (expression);
264
265
265
266
return expression == nullptr ;
@@ -271,14 +272,14 @@ bool Select_lex_builder::add_order_by(const LEX_CSTRING &field_name) {
271
272
*/
272
273
PT_derived_table *Select_lex_builder::prepare_derived_table (
273
274
const LEX_CSTRING &table_alias) {
274
- PT_query_primary *query_specification =
275
- new (m_thd-> mem_root ) PT_query_specification (
276
- options, m_select_item_list, m_table_reference_list, m_where_clause);
275
+ PT_query_primary *query_specification = new (m_thd-> mem_root )
276
+ PT_query_specification (*m_pos, options, m_select_item_list,
277
+ m_table_reference_list, m_where_clause);
277
278
278
279
if (query_specification == nullptr ) return nullptr ;
279
280
280
281
PT_query_expression *query_expression =
281
- new (m_thd->mem_root ) PT_query_expression (query_specification);
282
+ new (m_thd->mem_root ) PT_query_expression (*m_pos, query_specification);
282
283
if (query_expression == nullptr ) return nullptr ;
283
284
284
285
PT_subquery *sub_query =
@@ -288,7 +289,7 @@ PT_derived_table *Select_lex_builder::prepare_derived_table(
288
289
Create_col_name_list column_names;
289
290
column_names.init (m_thd->mem_root );
290
291
PT_derived_table *derived_table = new (m_thd->mem_root )
291
- PT_derived_table (false , sub_query, table_alias, &column_names);
292
+ PT_derived_table (*m_pos, false , sub_query, table_alias, &column_names);
292
293
293
294
return derived_table;
294
295
}
@@ -298,19 +299,19 @@ PT_derived_table *Select_lex_builder::prepare_derived_table(
298
299
added to this Select_lex_builder.
299
300
*/
300
301
Query_block *Select_lex_builder::prepare_query_block () {
301
- PT_query_specification *query_specification =
302
- new (m_thd-> mem_root ) PT_query_specification (
303
- options, m_select_item_list, m_table_reference_list, m_where_clause);
302
+ PT_query_specification *query_specification = new (m_thd-> mem_root )
303
+ PT_query_specification (*m_pos, options, m_select_item_list,
304
+ m_table_reference_list, m_where_clause);
304
305
if (query_specification == nullptr ) return nullptr ;
305
306
306
307
PT_order *pt_order_by = nullptr ;
307
308
if (m_order_by_list) {
308
- pt_order_by = new (m_thd->mem_root ) PT_order (m_order_by_list);
309
+ pt_order_by = new (m_thd->mem_root ) PT_order (*m_pos, m_order_by_list);
309
310
if (pt_order_by == nullptr ) return nullptr ;
310
311
}
311
312
312
313
PT_query_expression *query_expression = new (m_thd->mem_root )
313
- PT_query_expression (query_specification, pt_order_by, nullptr );
314
+ PT_query_expression (*m_pos, query_specification, pt_order_by, nullptr );
314
315
if (query_expression == nullptr ) return nullptr ;
315
316
316
317
LEX *lex = m_thd->lex ;
0 commit comments