Alexander Barkov
9c031fc218
MDEV-20716 Unify make_table_field() and make_table_field_from_def() for integer and real types
2019-10-01 23:41:03 +04:00
Alexander Barkov
7474deec49
MDEV-20708 Change make_table_field() to get TABLE_SHARE rather than TABLE
2019-10-01 17:04:22 +04:00
Alexander Barkov
02dea3ffd5
MDEV-20706 Store scale in Column_definition::decimals rather than Column_definition::pack_flag
2019-10-01 13:12:46 +04:00
Aleksey Midenkov
4cd79588de
SQL: override qualifier for Type_handler_int_result
...
Fixes -Winconsistent-missing-override in
MDEV-16144 Default TIMESTAMP clause for SELECT from versioned
2019-09-30 15:30:26 +03:00
Aleksey Midenkov
19b5b17773
SQL: followup misc rename on versioning
...
vers_sys_type_t -> vers_kind_t
2019-09-30 14:05:09 +03:00
Aleksey Midenkov
58fdf5b2fa
MDEV-16144 Default TIMESTAMP clause for SELECT from versioned
...
1. Removed TIMESTAMP/TRANSACTION unit auto-detection in favor of default TIMESTAMP.
Reasons:
1.1. rare practical use and doubtful advantage of such auto-detection;
1.2. it conflicts with MDEV-16226 (TRX_ID-based versioned tables performance improvement).
Needless check_unit membership removed.
2. SQL: versioning type handling refactoring
Vers_type_handler hierarchy stores versioning properties of type.
virtual Type_handler::vers() accesses specialization of
Vers_type_handler for specific type.
virtual Vers_type_handler::kind() returns versioning kind
(timestamp/trx_id).
Removed Type_handler::Vers_history_point_check_unit() in favor of
Type_handler::vers().
Renames:
require_timestamp() -> require_timestamp_error()
require_trx_id() -> require_trx_id_error()
EDIT by Alexander Barkov (@abarkov):
check_sys_fields() moved to Vers_type_handler::check_sys_fields()
2019-09-30 14:05:09 +03:00
Alexander Barkov
f610529d23
MDEV-20696 Remove Column_definition::key_length
2019-09-29 22:10:42 +04:00
Alexander Barkov
74551b2b6f
Cleanup: removing Type_handler members m_name_xxx
...
Hiding the definitions inside Type_handler_xxx::name().
This is needed to avoid exporting members with MYSQL_PLUGIN_IMPORT,
which would be needed to compile data type plugins on Windows.
2019-09-17 08:00:37 +04:00
Alexander Barkov
9b1866fd84
Cleanup: removing Type_handler members m_version_xxx
...
Introducing methods instead:
const Name version_mysql56() const;
const Name version_mariadb53() const;
This is needed to avoid exporting members with MYSQL_PLUGIN_IMPORT,
which would be needed to compile data type plugins on Windows.
2019-09-17 07:15:02 +04:00
Marko Mäkelä
780d2bb8a7
Merge 10.4 into 10.5
2019-09-06 14:25:20 +03:00
Alexander Barkov
db9e41ddc3
MDEV-20496 Assertion `field.is_sane()' failed in Protocol_text::store_field_metadata
2019-09-06 07:19:14 +04:00
Alexander Barkov
72c5a8d39b
MDEV-20417 Assertion `(m_ptr == __null) == item->null_value' failed in VDec::VDec(Item*)
2019-08-26 23:42:06 +04:00
Alexander Barkov
235cf969d2
MDEV-20397 Support TIMESTAMP, DATETIME, TIME in ROUND() and TRUNCATE()
2019-08-22 15:09:59 +04:00
Alexander Barkov
1d58e62d5b
MDEV-20384 Assertion `field.is_sane()' failed in Protocol_text::store_field_metadata
2019-08-19 20:57:59 +04:00
Alexander Barkov
52e276247d
MDEV-19961 MIN(timestamp_column) returns a wrong result in a GROUP BY query
2019-08-19 15:11:14 +04:00
Alexander Barkov
6073049a36
MDEV-20353 Add separate type handlers for unsigned integer data types
2019-08-15 21:53:24 +04:00
Alexander Barkov
afe6eb499d
Revert "MDEV-20342 Turn Field::flags from a member to a method"
...
This reverts commit e86010f909fb6b8c4ffd9d6df92991ac079e67e7.
Reverting on Monty's request, as this change makes merging
things from 10.5 to 10.2 much harder.
2019-08-14 20:27:00 +04:00
Alexander Barkov
e86010f909
MDEV-20342 Turn Field::flags from a member to a method
2019-08-14 13:33:01 +04:00
Alexander Barkov
c1599821a5
Merge remote-tracking branch 'origin/10.4' into 10.5
2019-08-13 23:49:10 +04:00
Alexander Barkov
95cdc1ca5f
Merge commit '43882e764d6867c6855b1ff057758a3f08b25c55' into 10.4
2019-08-13 11:42:31 +04:00
Alexander Barkov
0e0d57141e
MDEV-20331 Add class Type_numeric_attributes
2019-08-12 21:46:20 +04:00
Alexander Barkov
e7525beac8
MDEV-20326 Add class DTCollation_numeric
2019-08-12 18:41:02 +04:00
Alexander Barkov
2dac123515
A cleanup for MDEV-20273 Add class Item_sum_min_max
- removing duplicate code
...
Reusing the MIN()/MAX() fix_length_and_dec() related code for window functions
- FIRST_VALUE()
- LAST_VALUE()
- NTH_VALUE()
- LEAD()
- LAG
2019-08-09 09:00:17 +04:00
Alexander Barkov
e98f3bcf53
Adding the override
keyword into all classes in the Type_handler hierarchy, for consistency.
2019-08-08 15:44:31 +04:00
Alexander Barkov
3f7659b838
Fixing -Winconsistent-missing-override with CLANG
2019-08-08 14:55:39 +04:00
Alexander Barkov
d70dac2079
MDEV-20278 PERCENTILE_DISC() returns a wrong data type
2019-08-07 21:01:22 +04:00
Alexander Barkov
e978efd96b
MDEV-20273 Add class Item_sum_min_max
2019-08-07 14:13:44 +04:00
Alexander Barkov
c99f9766b1
MDEV-19166 Assertion `!is_zero_datetime()' failed in Timestamp_or_zero_datetime::tv
2019-08-05 14:41:17 +04:00
Alexander Barkov
061a0f0b8d
MDEV-20175 Move Type_handler_row from Type_collection_std to Type_collection_row
2019-07-25 14:49:33 +04:00
Alexander Barkov
e6ff3f9d1c
MDEV-20052 Add a MEM_ROOT pointer argument to Type_handler::make_xxx_field()
2019-07-12 06:58:51 +04:00
Alexander Barkov
1517087b54
MDEV-20042 Implement EXTRA2_FIELD_DATA_TYPE_INFO in FRM
2019-07-11 21:51:18 +04:00
Alexander Barkov
265a7d1613
MDEV-20009 Add CAST(expr AS pluggable_type)
2019-07-10 11:55:16 +04:00
Alexander Barkov
feb2695ed3
MDEV-20004 Move Field_geom from field.cc to sql_type_geom.cc
2019-07-09 19:47:57 +04:00
Alexander Barkov
4dc85973b4
MDEV-19994 Add class Function_collection
2019-07-09 16:18:54 +04:00
Alexander Barkov
2e57c8cc70
MDEV-19957 Move Type_handler_geometry code from sql_type.h/cc to sql_type_geom.h/cc
2019-07-05 06:02:44 +04:00
Alexander Barkov
9c9e0ac73d
MDEV-19944 Remove GIS data types from keyword list in lex.h
2019-07-04 07:48:46 +04:00
Marko Mäkelä
d8b8f55af3
MDEV-19908: Add override keywords
...
Fix the build on clang. GCC only checks that a member function with
the C++11 override keyword is actually overriding a virtual member
function in a base class. In clang, you will get a warning for
overridden member functions that lack the keyword, if any overridden
member function of the class is declared with the keyword.
2019-07-04 00:09:11 +03:00
Alexander Barkov
b511202335
MDEV-19923 Add type handlers for geometry sub-types
2019-07-03 14:51:00 +04:00
Alexander Barkov
cccfa9dcfe
MDEV-19908 Add class Type_collection
2019-06-29 09:48:54 +04:00
Monty
79cd2f5ef1
Added type conversion to fix compilation error on windows
2019-06-27 01:58:48 +03:00
Alexander Barkov
6f3612fa4d
MDEV-19861 Add intfastructure to have ENUM columns in INFORMATION_SCHEMA
2019-06-26 06:46:55 +04:00
Alexander Barkov
677133f1b3
MDEV-19863 Add const to TYPELIB pointers
2019-06-26 05:29:44 +04:00
Alexander Barkov
c62eaa7bdf
MDEV-19843 Modify ST_FIELD_INFO to use Type_handler and LEX_CSTRING
2019-06-24 06:25:16 +04:00
Marko Mäkelä
49e5323dbd
Merge 10.4 into 10.5
2019-06-20 09:22:10 +03:00
Alexander Barkov
cfbd714868
MDEV-19774 Assertion `sec.se c() <= 0x7FFFFFFFL' failed in Item_func_from_unixtime::get_date
2019-06-20 09:48:34 +04:00
Alexander Barkov
f42bda6d75
MDEV-19727 Add Type_handler::Key_part_spec_init_ft
2019-06-11 07:54:37 +04:00
Alexander Barkov
b685109596
MDEV-19710 Split the server side code in rpl_utility.cc into virtual methods in Type_handler
2019-06-07 12:47:24 +04:00
Alexander Barkov
ab190194cf
MDEV-19686 Add method Type_handler::dyncol_type
2019-06-04 12:44:24 +04:00
Alexander Barkov
f021317ae1
MDEV-19612 Split ALTER related data type specific code in sql_table.cc to Type_handler
2019-05-28 15:50:11 +04:00
Alexander Barkov
ac93d7d674
MDEV-19593 Split create_schema_table() into virtual methods in Type_handler
2019-05-25 11:41:18 +04:00