diff options
author | Sergei Golubchik <sergii@pisem.net> | 2013-06-16 22:01:07 +0200 |
---|---|---|
committer | Sergei Golubchik <sergii@pisem.net> | 2013-06-16 22:01:07 +0200 |
commit | d7e0c3cc739356b1d3640ebe613394214899f3eb (patch) | |
tree | 2aee596924f105bb23da3da00d0e6c4a6f310d87 /sql/table.h | |
parent | bae5b92ae6bb15110f87fab3de5859c498330bc2 (diff) | |
download | mariadb-git-d7e0c3cc739356b1d3640ebe613394214899f3eb.tar.gz |
MDEV-4456 Reverse discovery of ARCHIVE table on SELECT after disappearance of ARZ file
Implement discovery of table non-existence, and related changes:
1. Split GTS_FORCE_DISCOVERY (that was meaning two different things in
two different functions) into GTS_FORCE_DISCOVERY and GTS_USE_DISCOVERY.
2. Move GTS_FORCE_DISCOVERY implementation into open_table_def().
3. In recover_from_failed_open() clear old errors *before* discovery,
not after successful discovery. The final error should come
from the discovery.
4. On forced discovery delete table .frm first. Discovery will write
a new one, if desired.
5. If the frm file exists, but not the table in the engine, force
rediscovery if the engine supports it.
Diffstat (limited to 'sql/table.h')
-rw-r--r-- | sql/table.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/sql/table.h b/sql/table.h index 068cbe9a763..c7282cee093 100644 --- a/sql/table.h +++ b/sql/table.h @@ -2495,7 +2495,8 @@ enum get_table_share_flags { GTS_TABLE = 1, GTS_VIEW = 2, GTS_NOLOCK = 4, - GTS_FORCE_DISCOVERY = 8 + GTS_USE_DISCOVERY = 8, + GTS_FORCE_DISCOVERY = 16 }; size_t max_row_length(TABLE *table, const uchar *data); |