Sergei Golubchik
c50ee6c23d
MDEV-4088 Replication 10.0 -> 5.5 fails
2013-04-09 23:27:52 +02:00
Sergei Golubchik
da7eca021b
remove old workaround for replicating from old
...
MySQL 5.1 and 5.2 alpha trees.
2013-04-09 23:27:41 +02:00
Sergei Golubchik
68f6c229c5
prefer static inline functions to macros.
...
avoid unnecessary strlen()'s
2013-04-09 23:27:37 +02:00
Sergei Golubchik
775e82638b
put status variables in the proper pluginname_ scope
...
(but support the scopeless mysql style too).
always output status/system variables in the correct lettercase
2013-04-09 23:27:33 +02:00
Sergei Golubchik
c7eead7a96
MDEV-3807 show plugins soname 'xxx'
...
and INFORMATION_SCHEMA.ALL_PLUGINS table
with condition pushdown for I_S.ALL_PLUGINS
and a new status variable to cound successful dlopen's
2013-04-09 23:27:29 +02:00
Sergei Golubchik
5f293dd694
MDEV-4022 table attributes with sysvar as a default value
2013-04-09 23:27:24 +02:00
Sergei Golubchik
7d3288129f
create sys_var::val_str(), sys_var::val_int(), sys_var::val_real().
...
Change Item_func_get_system_var::val_xxx functions to use that.
mysql-test/t/variables.test:
@@GLOBAL.INIT_CONNECT is never NULL anymore. Nor it ever was.
It was a bug that empty string system variables appeared as NULL
in the *integer context* (but not in a string, real, or decimal context!)
2013-04-09 23:27:19 +02:00
Sergei Golubchik
eda4c51241
cleanup
2013-04-09 23:27:14 +02:00
Sergei Golubchik
3ad01d00f2
error messages: name the storage engine explicitly,
...
instead of "used storage engine" and similar changes.
2013-04-09 23:27:07 +02:00
Sergei Golubchik
ffbd15eb32
post-review comments and other minor edits
2013-04-09 16:20:59 +02:00
Sergei Golubchik
7ec57f2279
add sequence and sql_discovery suites to the default list.
...
implement ./mtr --dry-run
2013-04-09 16:20:54 +02:00
Sergei Golubchik
050d7d6d75
optimize discovery for cases when the storage engine is known in advance
2013-04-09 16:20:48 +02:00
Sergei Golubchik
3a8e1a2205
mysql-test fixes
2013-04-09 16:19:22 +02:00
Sergei Golubchik
ee92b2114d
assisted discovery in federatedx
2013-04-09 16:19:18 +02:00
Sergei Golubchik
32ee15d851
Assisted discovery
2013-04-09 16:19:14 +02:00
Sergei Golubchik
60aed41222
fix internal plugin names
2013-04-09 16:19:10 +02:00
Sergei Golubchik
db7809e817
dead code, remove unused argument
2013-04-09 16:19:05 +02:00
Sergei Golubchik
a53200d4e7
remove HA_CREATE_INFO::frm_only - it's internal server flag,
...
not part of the SE API, and, again, mutually exclusive with
C_ORDINARY_CREATE and C_CREATE_SELECT.
2013-04-09 16:19:01 +02:00
Sergei Golubchik
0c4cf3c7e5
small cleanup
2013-04-09 16:18:56 +02:00
Sergei Golubchik
9c089b04b3
TABLE_SHARE::free_frm_image() method to free the memory
...
allocated by the same allocator as in TABLE_SHARE::read_frm_image()
2013-04-09 16:18:51 +02:00
Sergei Golubchik
37379ef0ed
limit frm size, when reading it in memory
2013-04-09 16:18:47 +02:00
Sergei Golubchik
e71cda83c6
cleanup: merge two mutually dependent function arguments into one,
...
eliminating reduncancy and a possibility of setting them to a pair of
invalid values.
2013-04-09 16:18:44 +02:00
Sergei Golubchik
336da6e270
cleanup
2013-04-09 16:18:37 +02:00
Sergei Golubchik
02c712aa54
* frm extra2 segment.
...
* persistent table versions in the extra2
* ha_archive::frm_compare using TABLE_SHARE::tabledef_version
* distinguish between "important" and "optional" extra2 frm values
* write engine-defined attributes (aka "table options") to extra2, not to extra,
but still read from the old location, if they're found there.
2013-04-09 16:18:33 +02:00
Sergei Golubchik
f6168bb67b
cleanup
2013-04-09 16:18:27 +02:00
Sergei Golubchik
f6108b1fab
comments
2013-04-09 16:18:21 +02:00
Sergei Golubchik
b10937ea24
update the comment
2013-04-09 16:18:10 +02:00
Sergei Golubchik
13b7bcd5d4
sequence engine
2013-04-09 16:17:16 +02:00
Sergei Golubchik
2d788ff5ca
test_sql_discovery storage engine
...
use it to test main test cases with need_full_discover_for_existence > 0
2013-04-09 16:07:35 +02:00
Sergei Golubchik
4853c7192d
discovery using sql CREATE TABLE statement
2013-04-09 16:07:17 +02:00
Sergei Golubchik
474f45b3dc
discover of table non-existance on drop
2013-04-09 16:06:54 +02:00
Sergei Golubchik
e06cb31719
CREATE TABLE and frm-less discovering engines.
...
Now CREATE TABLE does not write the frm file on disk,
if the engine can discover it
2013-04-09 15:57:09 +02:00
Sergei Golubchik
b3e70c4ae7
split mysql_create_frm() in create_frm_image() and writefrm()
2013-04-09 15:56:59 +02:00
Sergei Golubchik
cb5473cb2f
write frm pieces contiguously, don't align them on a 4K boundary
...
(in partition_archive.test frm size goes down 16 times :)
2013-04-09 15:56:52 +02:00
Sergei Golubchik
e671cba9ed
Instead of creating and writing frm into a file peacewise
...
(allocating and freeing buffers on the way), allocate
one frm buffer, prepare the frm image completely in memory,
and then write it down.
2013-04-09 15:56:43 +02:00
Sergei Golubchik
9ec326a8b1
cleanup frm creation:
...
* comments
* cosmetic changes, *(ptr+5) -> ptr[5]
* a couple of trivial functions -> inline
* remove unused argument from pack_header()
* create_frm() no longer creates frm file (the function used to prepare and
fill a memory buffer and call my_create at the end. Now it only prepares
a memory buffer). Renamed accordingly.
* don't call pack_screen twice, go for a smaller screen area in the first attempt
* remove useless calls to check_duplicate_warning()
* don't write unireg screens to .frm files
* remove make_new_entry(), it's basically dead code, always calculating
and writing into frm the same string value. replace the function call
with the constant string.
2013-04-09 15:56:28 +02:00
Sergei Golubchik
84b882172d
if discovery in recover_from_failed_open fails, don't bother to reopen
2013-04-09 15:51:04 +02:00
Sergei Golubchik
f597a6a694
HA_ERR_TABLE_DEF_CHANGED support in ha_archive
2013-04-09 15:50:55 +02:00
Sergei Golubchik
cdc01e29d3
remove dd_frm_type(), dd_frm_storage_engine(), dd_check_storage_engine_flag()
...
from everywhere - now RENAME, SHOW FULL TABLES, and TRUNCATE work with discovery.
improve error messages in truncate
2013-04-09 15:50:30 +02:00
Sergei Golubchik
15c936e4b3
open_table_def() no longer probes for the old pre-5.1 table file names.
...
SELECT * FROM `t-1` will no longer read "t-1.frm" file, use `#mysql50#t-1` for this.
2013-04-09 15:49:59 +02:00
Sergei Golubchik
9594107fb8
cleanups
2013-04-09 15:49:48 +02:00
Sergei Golubchik
5f69c8a594
ha_create_table: remove unused argument
2013-04-09 15:49:39 +02:00
Sergei Golubchik
556f568493
init_from_binary_frm_image: verify that we don't read beyond the image buffer
2013-04-09 15:49:30 +02:00
Sergei Golubchik
2481db063f
move writing of the frm into init_from_binary_frm_image()
2013-04-09 15:49:21 +02:00
Sergei Golubchik
07b2523918
rename a handler method to more precisely reflect what kind of a hack it does
2013-04-09 15:49:13 +02:00
Sergei Golubchik
5d364e53cb
handlerton::discover_table_names() can not discover only
...
"unknown" tables. Duplicates are possible - deal with them.
2013-04-09 15:49:00 +02:00
Sergei Golubchik
a489ae89b9
fix mysql_rm_table_no_locks() not to use dd_frm_type, because the frm file
...
may not exist (the table exists only in the engine).
2013-04-09 15:47:25 +02:00
Sergei Golubchik
e5a323e107
single table discovery: handlerton::discover_table() method.
...
fixes for need_full_discover_for_existence mode
2013-04-09 15:45:31 +02:00
Sergei Golubchik
f532653c29
remove ha_create_table_from_engine()
...
replace enum read_frm_op with a bitmap flags.
remove always-unused 'error' argument of get_table_share
2013-04-09 15:41:57 +02:00
Sergei Golubchik
6a839ff40d
handlerton::discover_table_existence() method
2013-04-09 15:35:57 +02:00