MCPcopy Create free account
hub / github.com/MariaDB/server / insert_view_fields

Function insert_view_fields

sql/sql_view.cc:2220–2249  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

2218*/
2219
2220bool insert_view_fields(THD *thd, List<Item> *list, TABLE_LIST *view)
2221{
2222 Field_translator *trans_end;
2223 Field_translator *trans;
2224 DBUG_ENTER("insert_view_fields");
2225
2226 if (!(trans= view->field_translation))
2227 DBUG_RETURN(FALSE);
2228 trans_end= view->field_translation_end;
2229
2230 for (Field_translator *entry= trans; entry < trans_end; entry++)
2231 {
2232 Item_field *fld;
2233 if ((fld= entry->item->field_for_view_update()))
2234 {
2235 TABLE_SHARE *s= fld->context->table_list->table->s;
2236 if (s->versioned &&
2237 (fld->field_name.streq(s->vers_start_field()->field_name) ||
2238 fld->field_name.streq(s->vers_end_field()->field_name)))
2239 continue;
2240 list->push_back(fld, thd->mem_root);
2241 }
2242 else
2243 {
2244 my_error(ER_NON_INSERTABLE_TABLE, MYF(0), view->alias.str, "INSERT");
2245 DBUG_RETURN(TRUE);
2246 }
2247 }
2248 DBUG_RETURN(FALSE);
2249}
2250
2251/*
2252 checking view md5 check sum

Callers 1

Calls 6

my_errorFunction · 0.85
field_for_view_updateMethod · 0.45
streqMethod · 0.45
vers_start_fieldMethod · 0.45
vers_end_fieldMethod · 0.45
push_backMethod · 0.45

Tested by

no test coverage detected