diff --git a/sql/sql_base.cc b/sql/sql_base.cc index c1464e10f63..11af74747fc 100644 --- a/sql/sql_base.cc +++ b/sql/sql_base.cc @@ -2657,14 +2657,15 @@ retry: error= (int) open_new_frm(thd, share, alias, (uint) (HA_OPEN_KEYFILE | HA_OPEN_RNDFILE | HA_GET_INDEX | HA_TRY_READ_ONLY), - READ_KEYINFO | COMPUTE_TYPES | EXTRA_RECORD, + READ_KEYINFO | COMPUTE_TYPES | EXTRA_RECORD | + (flags & OPEN_VIEW_NO_PARSE), thd->open_options, entry, table_list, - mem_root, (flags & OPEN_VIEW_NO_PARSE))); + mem_root); if (error) goto err; /* TODO: Don't free this */ release_table_share(share, RELEASE_NORMAL); - DBUG_RETURN(0); + DBUG_RETURN((flags & OPEN_VIEW_NO_PARSE)? -1 : 0); } while ((error= open_table_from_share(thd, share, alias, diff --git a/sql/table.cc b/sql/table.cc index 18eb6d62c5c..21dbcccedd7 100644 --- a/sql/table.cc +++ b/sql/table.cc @@ -352,9 +352,6 @@ int open_table_def(THD *thd, TABLE_SHARE *share, uint db_flags) } else goto err; - - if (prgflag & OPEN_VIEW_NO_PARSE) - goto err; /* No handling of text based files yet */ if (table_type == 1)