summaryrefslogtreecommitdiff
path: root/sql/table.h
diff options
context:
space:
mode:
authorSergei Golubchik <sergii@pisem.net>2013-06-16 22:01:07 +0200
committerSergei Golubchik <sergii@pisem.net>2013-06-16 22:01:07 +0200
commitd7e0c3cc739356b1d3640ebe613394214899f3eb (patch)
tree2aee596924f105bb23da3da00d0e6c4a6f310d87 /sql/table.h
parentbae5b92ae6bb15110f87fab3de5859c498330bc2 (diff)
downloadmariadb-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.h3
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);