summaryrefslogtreecommitdiff
path: root/plugin/feedback
diff options
context:
space:
mode:
authorMarko Mäkelä <marko.makela@mariadb.com>2021-09-29 15:04:20 +0300
committerMarko Mäkelä <marko.makela@mariadb.com>2021-09-29 15:04:20 +0300
commit742b37a345343c26451b35e97bfb3eb23410a075 (patch)
treea24a16890184cc48fc78bb0b99627378b5f9efef /plugin/feedback
parent4e9366df7b097ae38db8ead75a4f4e5d58ad8dca (diff)
parentb2a5e0f28232b56c5c36e65a457d41d819b279bf (diff)
downloadmariadb-git-742b37a345343c26451b35e97bfb3eb23410a075.tar.gz
Merge 10.2 into 10.3
Diffstat (limited to 'plugin/feedback')
-rw-r--r--plugin/feedback/feedback.cc12
1 files changed, 7 insertions, 5 deletions
diff --git a/plugin/feedback/feedback.cc b/plugin/feedback/feedback.cc
index 75e9a1e430e..a7bc1d3d60e 100644
--- a/plugin/feedback/feedback.cc
+++ b/plugin/feedback/feedback.cc
@@ -92,16 +92,18 @@ static COND * const OOM= (COND*)1;
static COND* make_cond(THD *thd, TABLE_LIST *tables, LEX_STRING *filter)
{
Item_cond_or *res= NULL;
- Name_resolution_context nrc;
+ /* A reference to this context will be stored in Item_field */
+ Name_resolution_context *nrc= new (thd->mem_root) Name_resolution_context;
const char *db= tables->db.str, *table= tables->alias.str;
LEX_CSTRING *field= &tables->table->field[0]->field_name;
CHARSET_INFO *cs= &my_charset_latin1;
- if (!filter->str)
+ if (!filter->str || !nrc)
return 0;
- nrc.init();
- nrc.resolve_in_table_list_only(tables);
+ nrc->init();
+ nrc->resolve_in_table_list_only(tables);
+ nrc->select_lex= tables->select_lex;
res= new (thd->mem_root) Item_cond_or(thd);
if (!res)
@@ -109,7 +111,7 @@ static COND* make_cond(THD *thd, TABLE_LIST *tables, LEX_STRING *filter)
for (; filter->str; filter++)
{
- Item_field *fld= new (thd->mem_root) Item_field(thd, &nrc, db, table,
+ Item_field *fld= new (thd->mem_root) Item_field(thd, nrc, db, table,
field);
Item_string *pattern= new (thd->mem_root) Item_string(thd, filter->str,
(uint) filter->length, cs);