Details
-
Task
-
Status: Closed (View Workflow)
-
Major
-
Resolution: Fixed
-
None
Description
Let's split numeric type handlers into separate signed and unsigned variants. This is needed:
- for better error messages, e.g. bigint unsigned vs just bigint in this example:
MariaDB [test]> select @@max_allowed_packet+ROW(1,1);
ERROR 4078 (HY000): Illegal parameter data types bigint unsigned and row for operation '+'
- for function collection plugins, to define function prototypes easier.
- for data type conversion plugins, a signed and unsigned int types have a different internal representation
Let's add new classes handling unsigned data types (deriving from their signed counterparts):
- Type_handler_utiny
- Type_handler_ushort
- Type_handler_uint24
- Type_handler_ulong
- Type_handler_ulonglong
Add new global variables:
- type_handler_utiny
- type_handler_ushort
- type_handler_uint24
- type_handler_ulong
- type_handler_ulonglong
Rename the old variables to:
- type_handler_stiny
- type_handler_sshort
- type_handler_sint24
- type_handler_slong
- type_handler_slonglong
(i.e. add the 's' prefix on the type name)
Attachments
Issue Links
- blocks
-
MDEV-4912 Data type plugin API version 1
-
- Closed
-
Activity
Description |
Let's split numeric type handlers into separate signed and unsigned variants. This is needed:
- for function collection plugins, to define function prototypes easier. - for data type conversion plugins, a signed and unsigned int types have a different internal representation Let's add new classes handling unsigned data types (deriving from their signed counterparts): - Type_handler_utiny - Type_handler_ushort - Type_handler_uint24 - Type_handler_ulong - Type_handler_ulonglong Add new global variables: - type_handler_utiny - type_handler_ushort - type_handler_uint24 - type_handler_ulong - type_handler_ulonglong Rename the old variables to: - type_handler_stiny - type_handler_sshort - type_handler_sint24 - type_handler_slong - type_handler_slonglong (i.e. add the 's' prefix on the type name) |
Let's split numeric type handlers into separate signed and unsigned variants. This is needed:
- for better error messages, e.g. {{bigint unsigned}} vs just {{bigint}}: {noformat} MariaDB [test]> select @@max_allowed_packet+ROW(1,1); ERROR 4078 (HY000): Illegal parameter data types bigint unsigned and row for operation '+' {noformat} - for function collection plugins, to define function prototypes easier. - for data type conversion plugins, a signed and unsigned int types have a different internal representation Let's add new classes handling unsigned data types (deriving from their signed counterparts): - Type_handler_utiny - Type_handler_ushort - Type_handler_uint24 - Type_handler_ulong - Type_handler_ulonglong Add new global variables: - type_handler_utiny - type_handler_ushort - type_handler_uint24 - type_handler_ulong - type_handler_ulonglong Rename the old variables to: - type_handler_stiny - type_handler_sshort - type_handler_sint24 - type_handler_slong - type_handler_slonglong (i.e. add the 's' prefix on the type name) |
Description |
Let's split numeric type handlers into separate signed and unsigned variants. This is needed:
- for better error messages, e.g. {{bigint unsigned}} vs just {{bigint}}: {noformat} MariaDB [test]> select @@max_allowed_packet+ROW(1,1); ERROR 4078 (HY000): Illegal parameter data types bigint unsigned and row for operation '+' {noformat} - for function collection plugins, to define function prototypes easier. - for data type conversion plugins, a signed and unsigned int types have a different internal representation Let's add new classes handling unsigned data types (deriving from their signed counterparts): - Type_handler_utiny - Type_handler_ushort - Type_handler_uint24 - Type_handler_ulong - Type_handler_ulonglong Add new global variables: - type_handler_utiny - type_handler_ushort - type_handler_uint24 - type_handler_ulong - type_handler_ulonglong Rename the old variables to: - type_handler_stiny - type_handler_sshort - type_handler_sint24 - type_handler_slong - type_handler_slonglong (i.e. add the 's' prefix on the type name) |
Let's split numeric type handlers into separate signed and unsigned variants. This is needed:
- for better error messages, e.g. {{bigint unsigned}} vs just {{bigint}} in this example: {noformat} MariaDB [test]> select @@max_allowed_packet+ROW(1,1); ERROR 4078 (HY000): Illegal parameter data types bigint unsigned and row for operation '+' {noformat} - for function collection plugins, to define function prototypes easier. - for data type conversion plugins, a signed and unsigned int types have a different internal representation Let's add new classes handling unsigned data types (deriving from their signed counterparts): - Type_handler_utiny - Type_handler_ushort - Type_handler_uint24 - Type_handler_ulong - Type_handler_ulonglong Add new global variables: - type_handler_utiny - type_handler_ushort - type_handler_uint24 - type_handler_ulong - type_handler_ulonglong Rename the old variables to: - type_handler_stiny - type_handler_sshort - type_handler_sint24 - type_handler_slong - type_handler_slonglong (i.e. add the 's' prefix on the type name) |
issue.field.resolutiondate | 2019-08-15 18:07:39.0 | 2019-08-15 18:07:39.833 |
Component/s | Data types [ 13906 ] | |
Fix Version/s | 10.5.0 [ 23709 ] | |
Fix Version/s | 10.5 [ 23123 ] | |
Resolution | Fixed [ 1 ] | |
Status | Open [ 1 ] | Closed [ 6 ] |
Workflow | MariaDB v3 [ 98954 ] | MariaDB v4 [ 134066 ] |