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