Commit graph

176058 commits

Author SHA1 Message Date
Sergei Golubchik
b8f51c04d3 bugfix: update-behind-insert
sql_insert.cc calls handler->ha_update_row() for
REPLACE and INSERT... ON DUPLICATE KEY UPDATE
2016-12-12 20:27:37 +01:00
Sergei Golubchik
54ab7db733 cleanup: remove now-unused TABLE::merge_keys 2016-12-12 20:27:37 +01:00
Sergei Golubchik
b38ff28ade bugfix: mark_columns_needed_for_update
cannot use TABLE:merge_keys for that, because Field::part_of_key
was designed to mark fields for KEY_READ, so a field is not a
"part of key", if only prefix of the field is.
2016-12-12 20:27:36 +01:00
Sergei Golubchik
d137b4dbba MDEV-5800 MyISAM support for indexed vcols
* don't issue an error for ER_KEY_BASED_ON_GENERATED_VIRTUAL_COLUMN
* support keyread on vcols
* callback into the server to compute vcol values from mi_check/mi_repair
* DMLs just work. Automatically.
2016-12-12 20:27:36 +01:00
Sergei Golubchik
a418c99200 gcol mysql-test suite from 5.7
update tests and results, fix bugs
2016-12-12 20:27:36 +01:00
Sergei Golubchik
4136968ca0 enable spatial indexes in innodb vcol tests 2016-12-12 20:27:35 +01:00
Sergei Golubchik
c2b2cb8acd TABLE::update_virtual_field to compute just one vcol
will be used later by storage engines (e.g. in MyISAM repair or in
InnoDB purge)
2016-12-12 20:27:35 +01:00
Sergei Golubchik
2cdcf141f5 make myisamchk -d ignore HA_CREATE_RELIES_ON_SQL_LAYER
because it's only doing to show the table structure, not look
at the data.
2016-12-12 20:27:35 +01:00
Sergei Golubchik
5d6aab809d cleanup: minor issues in MyISAM 2016-12-12 20:27:35 +01:00
Sergei Golubchik
961fc6a673 cleanup: T_REP/T_REP_BY_SORT/T_REP_PARALLEL in MyISAM
always set them according to the repair method used
2016-12-12 20:27:34 +01:00
Sergei Golubchik
b634bd50ed cleanup: move all Item processors together 2016-12-12 20:27:34 +01:00
Sergei Golubchik
acfc3ba54b cleanup: remove ONLY_FOR_MYSQL_CLOSED_SOURCE_SCHEDULED 2016-12-12 20:27:34 +01:00
Sergei Golubchik
d4170f64fc cleanup: set_field_ptr() 2016-12-12 20:27:33 +01:00
Sergei Golubchik
65e53c8bc6 cleanup: Field_blob::get_ptr()
and declare few other Field getters to be 'const'
2016-12-12 20:27:33 +01:00
Sergei Golubchik
9a3ec79b53 cleanup: TABLE::update_virtual_fields
Make update_virtual_fields() a method of TABLE, to be consistent
with TABLE::update_default_fields().
2016-12-12 20:27:33 +01:00
Sergei Golubchik
8b6c0542db bugfix: stored column depends on virtual depends on updated
TABLE::mark_virtual_col() was polluting table->vcol_set
and that confused the following mark_virtual_col()
2016-12-12 20:27:32 +01:00
Sergei Golubchik
10089493bd cleanup: update_virtual_fields() 2016-12-12 20:27:32 +01:00
Sergei Golubchik
a632df9de0 improve Item_field::register_field_in_read_map()
make it to work when read_set == vcol_set, that is, when
the caller wants to get a one complete bitmap of all fields
a particular vcol depends on.
2016-12-12 20:27:32 +01:00
Sergei Golubchik
7459f0c03a cleanup: don't update_virtual_fields from READ_RECORD
it was done only in some access methods, not in all,
so the caller had to update_virtual_fields anyway.
2016-12-12 20:27:31 +01:00
Sergei Golubchik
163478db45 cleanup: InnoDB: is_partition() 2016-12-12 20:27:31 +01:00
Sergei Golubchik
4aab058854 cleanup: spatial indexes in MyISAM
In spatial indexes there can be only one keyseg.
Make it explicit in the code, don't pretend that this can work
with the arbitrary number of keysegs.
2016-12-12 20:27:31 +01:00
Sergei Golubchik
b2c8d55c22 cleanup: unused open_table_from_share() flags 2016-12-12 20:27:30 +01:00
Sergei Golubchik
db3f110864 cleanup: remove unused Field::utype values
and FIELDFLAG_xxx constants
2016-12-12 20:27:30 +01:00
Sergei Golubchik
4210538122 cleanup: avoid Field::field_index
prefer x->field over table->field[x->field->field_index]
2016-12-12 20:27:29 +01:00
Sergei Golubchik
03a0623f1e cleanup: rename a method 2016-12-12 20:27:29 +01:00
Sergei Golubchik
46ae210422 cleanup: my_strerror 2016-12-12 20:27:29 +01:00
Sergei Golubchik
590d473760 cleanup: my_printf_error(ER_xxx, ER(ER_xxx), ... )
only use my_print_error when the error message is not
ER(error_code)
2016-12-12 20:27:28 +01:00
Sergei Golubchik
605cf619ba cleanup: extra_rec_buf_length 2016-12-12 20:27:28 +01:00
Sergei Golubchik
98be2d853e cleanup: old (harmless?) typo fixed 2016-12-12 20:27:28 +01:00
Sergei Golubchik
d2408e43f9 cleanup: fix a comment 2016-12-12 20:27:27 +01:00
Sergei Golubchik
3a3017a566 cleanup: set_thd_proc_info()
the stage is changed from 'old_stage' to 'new_stage',
not the other way around
2016-12-12 20:27:27 +01:00
Sergei Golubchik
9bcfd27b7a cleanup: remove dead (half-merged) code from partition_info.* 2016-12-12 20:27:27 +01:00
Sergei Golubchik
5b716bc2e0 cleanup: reorder TABLE members 2016-12-12 20:27:26 +01:00
Sergei Golubchik
0ed291e61c cleanup: parser: s/USER/USER_SYM/ 2016-12-12 20:27:26 +01:00
Sergei Golubchik
0bef3bb8d0 cleanup: remove Item::intro_version
and partition_info::set_show_version_string - they were
already broken and impossible to maintain
2016-12-12 20:27:25 +01:00
Sergei Golubchik
d440319842 cleanup: TABLE::init()
unused freshly initialized record should be trashed
with TRASH_ALLOC, not TRASH_FREE
2016-12-12 20:27:25 +01:00
Sergei Golubchik
335082ec5e cleanup: remove bad String=0 assignment 2016-12-12 20:27:24 +01:00
Sergei Golubchik
a721dcab8e cleanup: Item_func_opt_neg::negate()
remove redundant method
2016-12-12 20:27:24 +01:00
Sergei Golubchik
fd0044041b don't convert WEEK(x) to WEEK(x, @@default_week_format) 2016-12-12 20:27:24 +01:00
Sergei Golubchik
867809f23a bugfix: compile InnoDB w/o P_S 2016-12-12 20:27:23 +01:00
Sergei Golubchik
75925f8fc1 bugfix: Item_func_spatial_collection::print() 2016-12-12 20:27:23 +01:00
Sergei Golubchik
75fb3213d3 bugfix: Item_func_dyncol_add::print() 2016-12-12 20:27:23 +01:00
Sergei Golubchik
0980627fca bugfix: Item_func_weight_string::print() 2016-12-12 20:27:22 +01:00
Sergei Golubchik
232dc91bc9 bugfix: Item_func_like::print() was losing ESCAPE clause 2016-12-12 20:27:22 +01:00
Sergei Golubchik
660355c1ac bugfix: Item_func_get_system_var::print() 2016-12-12 20:27:22 +01:00
Sergei Golubchik
96bb5f44d8 bugfix: returning on-the-stack buffer to the caller 2016-12-12 20:27:21 +01:00
Sergei Golubchik
a838b10466 bugfix: delayed insert table was using other table's expr_arena 2016-12-12 20:27:21 +01:00
Sergei Golubchik
0852cf534a say MariaDB in InnoDB error messages, not MySQL 2016-12-12 20:27:21 +01:00
Sergei Golubchik
f7dcd8a0e8 shut up annoying InnoDB warning when --gdb 2016-12-12 20:27:20 +01:00
Sergei Golubchik
b8dfedd747 the mysql-test combination is 'innodb' not 'xtradb' 2016-12-12 20:27:20 +01:00