You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@doris.apache.org by mo...@apache.org on 2023/02/08 16:32:30 UTC

[doris] 02/12: [improvement](compatibility) add DATA_TYPE in information schema for new types #16391

This is an automated email from the ASF dual-hosted git repository.

morningman pushed a commit to branch branch-1.2-lts
in repository https://gitbox.apache.org/repos/asf/doris.git

commit e10eb6d3ad06b524e52cdd5c360d7c44e6351a21
Author: Kang <kx...@gmail.com>
AuthorDate: Fri Feb 3 22:28:42 2023 +0800

    [improvement](compatibility) add DATA_TYPE in information schema for new types #16391
    
    Add DATA_TYPE in information schema for types: datev2, datatimev2, decimal, jsonb. It was 'unknown' for these types and cause problem for tools such as BI using information schema.
---
 .../exec/schema_scanner/schema_columns_scanner.cpp  | 11 +++++++++++
 .../scalar_types/sql/infomation_schema.out          | 21 +++++++++++++++++++++
 .../scalar_types/sql/infomation_schema.sql          |  1 +
 3 files changed, 33 insertions(+)

diff --git a/be/src/exec/schema_scanner/schema_columns_scanner.cpp b/be/src/exec/schema_scanner/schema_columns_scanner.cpp
index fcf78542bf..c471a5f98a 100644
--- a/be/src/exec/schema_scanner/schema_columns_scanner.cpp
+++ b/be/src/exec/schema_scanner/schema_columns_scanner.cpp
@@ -119,9 +119,14 @@ std::string SchemaColumnsScanner::to_mysql_data_type_string(TColumnDesc& desc) {
     case TPrimitiveType::CHAR:
         return "char";
     case TPrimitiveType::DATE:
+    case TPrimitiveType::DATEV2:
         return "date";
     case TPrimitiveType::DATETIME:
+    case TPrimitiveType::DATETIMEV2:
         return "datetime";
+    case TPrimitiveType::DECIMAL32:
+    case TPrimitiveType::DECIMAL64:
+    case TPrimitiveType::DECIMAL128I:
     case TPrimitiveType::DECIMALV2: {
         return "decimal";
     }
@@ -131,6 +136,9 @@ std::string SchemaColumnsScanner::to_mysql_data_type_string(TColumnDesc& desc) {
     case TPrimitiveType::OBJECT: {
         return "bitmap";
     }
+    case TPrimitiveType::JSONB: {
+        return "json";
+    }
     default:
         return "unknown";
     }
@@ -213,6 +221,9 @@ std::string SchemaColumnsScanner::type_to_string(TColumnDesc& desc) {
     case TPrimitiveType::OBJECT: {
         return "bitmap";
     }
+    case TPrimitiveType::JSONB: {
+        return "json";
+    }
     default:
         return "unknown";
     }
diff --git a/regression-test/data/datatype_p0/scalar_types/sql/infomation_schema.out b/regression-test/data/datatype_p0/scalar_types/sql/infomation_schema.out
new file mode 100644
index 0000000000..faca55aa1a
--- /dev/null
+++ b/regression-test/data/datatype_p0/scalar_types/sql/infomation_schema.out
@@ -0,0 +1,21 @@
+-- This file is automatically generated. You should know what you did if you want to edit this
+-- !infomation_schema --
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	k1	1	\N	YES	bigint	\N	\N	19	0	\N	\N	\N	bigint(20)	DUP				19	0	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_bool	2	\N	YES	tinyint	\N	\N	\N	0	\N	\N	\N	tinyint(1)					\N	0	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_tinyint	3	\N	YES	tinyint	\N	\N	3	0	\N	\N	\N	tinyint(4)					3	0	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_smallint	4	\N	YES	smallint	\N	\N	5	0	\N	\N	\N	smallint(6)					5	0	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_int	5	\N	YES	int	\N	\N	10	0	\N	\N	\N	int(11)					10	0	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_bigint	6	\N	YES	bigint	\N	\N	19	0	\N	\N	\N	bigint(20)					19	0	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_largeint	7	\N	YES	bigint unsigned	\N	\N	39	\N	\N	\N	\N	largeint					39	\N	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_float	8	\N	YES	float	\N	\N	7	7	\N	\N	\N	float					7	7	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_double	9	\N	YES	double	\N	\N	15	15	\N	\N	\N	double					15	15	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_decimal	10	\N	YES	decimal	\N	\N	20	3	\N	\N	\N	decimal(20,3)					20	3	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_decimalv3	11	\N	YES	decimal	\N	\N	20	3	\N	\N	\N	decimalv3(20, 3)					20	3	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_date	12	\N	YES	date	\N	\N	\N	\N	\N	\N	\N	date					\N	\N	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_datetime	13	\N	YES	datetime	\N	\N	\N	\N	\N	\N	\N	datetime					\N	\N	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_datev2	14	\N	YES	date	\N	\N	\N	\N	\N	\N	\N	datev2					\N	\N	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_datetimev2	15	\N	YES	datetime	\N	\N	18	0	\N	\N	\N	datetimev2(0)					\N	0	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_char	16	\N	YES	char	15	60	\N	\N	\N	\N	\N	char(15)					15	\N	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_varchar	17	\N	YES	varchar	100	400	\N	\N	\N	\N	\N	varchar(100)					100	\N	\N	\N
+internal	regression_test_datatype_p0_scalar_types	tbl_scalar_types_dup	c_string	18	\N	YES	varchar	2147483643	-20	\N	\N	\N	\N	\N	string					2147483643	\N	\N	\N
+
diff --git a/regression-test/suites/datatype_p0/scalar_types/sql/infomation_schema.sql b/regression-test/suites/datatype_p0/scalar_types/sql/infomation_schema.sql
new file mode 100644
index 0000000000..0014622537
--- /dev/null
+++ b/regression-test/suites/datatype_p0/scalar_types/sql/infomation_schema.sql
@@ -0,0 +1 @@
+SELECT * FROM `information_schema`.`COLUMNS` WHERE TABLE_SCHEMA = 'regression_test_datatype_p0_scalar_types' AND TABLE_NAME = 'tbl_scalar_types_dup' ORDER BY ORDINAL_POSITION;
\ No newline at end of file


---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@doris.apache.org
For additional commands, e-mail: commits-help@doris.apache.org