← Back to team overview

maria-developers team mailing list archive

MDEV-10142 - / MDEV-10343 - bb-10.2-compatibility


I'm testing datatype compatibility provide by MDEV-10343 and I have some comments:
1) Oracle character datatype (char, varchar, varchar2) doesn't accept a length of 0 char
Example :
	select cast('tt' as char(0)) from dual;
	ORA-01723: zero-length columns are not allowed
MariaDB return an empty string (to relate with MDEV-10574)
This point is a study case, no matter.

2) NUMBER Type
You have choosing TYPE_DOUBLE if scale/prec is not specified and I think that it's a mistake for 2 reasons:
- Oracle NUMBER() is near an "exact" datatype and cannot be replace by a standard double.
- Convert number to char never use scientific notation 

The use of a decimal(64,24) makes it possible to obtain results very close to those of oracle.
I attach two files to show this.

In fact FLOAT and INTEGER are  subtype of NUMBER for Oracle.
MariaDB float and double seems to be like BINARY_FLOAT and BINARY_DOUBLE.

See https://docs.oracle.com/cd/B28359_01/server.111/b28285/sqlqr06.htm#CHDBBHHE for more details.

Best regard,

Attachment: func_ctl_numeric_ORA.SQL
Description: func_ctl_numeric_ORA.SQL

Attachment: func_ctl_numeric.sql
Description: func_ctl_numeric.sql

Follow ups