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

liyang pushed a commit to branch kylin5
in repository https://gitbox.apache.org/repos/asf/kylin.git

commit e5e3f482e4eab41fc79f4928d3d2f089bb439462
Author: huangsheng <huangshen...@163.com>
AuthorDate: Fri Nov 10 12:45:25 2023 +0800

    KYLIN-5872 Support getting comments of hive table/column for dimensions of 
model view
---
 .../kylin/rest/service/AccessServiceTest.java      |   4 +-
 .../kylin/rest/service/AclTCRServiceTest.java      |   2 +-
 .../metadata/querymeta/ColumnMetaWithType.java     |  11 +
 .../metadata/project/NProjectManagerTest.java      |   2 +-
 .../kylin/metrics/HdfsCapacityMetricsTest.java     |   2 +-
 .../metadata/_global/project/test_jdbc.json        |  35 +
 .../0928cbee-e7b2-76c9-d069-496cafdccff3.json      |  42 +
 .../360d312b-6a74-1688-626d-4f2d99fd23a8.json      |  54 ++
 .../c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json      |  49 ++
 .../6590b960-29fd-0416-2d21-0e7feef99cb4.json      |  36 +
 .../b032f0cd-2197-076b-dd0b-6d04336bb3ee.json      |  36 +
 .../f1b656b9-1795-5b4e-fe29-7649684bb9ba.json      |  36 +
 .../0928cbee-e7b2-76c9-d069-496cafdccff3.json      |  64 ++
 .../360d312b-6a74-1688-626d-4f2d99fd23a8.json      |  64 ++
 .../c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json      |  64 ++
 .../0928cbee-e7b2-76c9-d069-496cafdccff3.json      |  94 ++
 .../360d312b-6a74-1688-626d-4f2d99fd23a8.json      | 202 +++++
 .../c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json      |  99 +++
 .../metadata/test_jdbc/table/CNDB.EMPLOYEE.json    |  47 +
 .../metadata/test_jdbc/table/SSB.CUSTOMER.json     |  70 ++
 .../metadata/test_jdbc/table/SSB.DATES.json        | 114 +++
 .../metadata/test_jdbc/table/SSB.LINEORDER.json    | 115 +++
 .../metadata/test_jdbc/table/SSB.PART.json         |  74 ++
 .../metadata/test_jdbc/table/SSB.SUPPLIER.json     |  64 ++
 .../kylin/rest/service/ProjectServiceTest.java     |   6 +-
 .../apache/kylin/rest/service/QueryService.java    |  18 +
 .../kylin/rest/service/AsyncQueryJobTest.java      |   2 +-
 .../rest/service/QueryHistoryServiceTest.java      |   2 +-
 .../kylin/rest/service/QueryServiceTest.java       |  37 +
 .../resources/ut_table_meta/testJdbcTableMetaV2    | 949 +++++++++++++++++++++
 30 files changed, 2384 insertions(+), 10 deletions(-)

diff --git 
a/src/common-service/src/test/java/org/apache/kylin/rest/service/AccessServiceTest.java
 
b/src/common-service/src/test/java/org/apache/kylin/rest/service/AccessServiceTest.java
index 51831418ed..253f0c15a0 100644
--- 
a/src/common-service/src/test/java/org/apache/kylin/rest/service/AccessServiceTest.java
+++ 
b/src/common-service/src/test/java/org/apache/kylin/rest/service/AccessServiceTest.java
@@ -610,14 +610,14 @@ public class AccessServiceTest extends 
NLocalFileMetadataTestCase {
     @Test
     public void testGetGrantedProjectsOfUser() throws IOException {
         List<String> result = accessService.getGrantedProjectsOfUser("ADMIN");
-        assertEquals(30, result.size());
+        assertEquals(31, result.size());
     }
 
     @Test
     public void testGetGrantedProjectsOfUserOrGroup() throws IOException {
         // admin user
         List<String> result = 
accessService.getGrantedProjectsOfUserOrGroup("ADMIN", true);
-        assertEquals(30, result.size());
+        assertEquals(31, result.size());
 
         // normal user
         result = accessService.getGrantedProjectsOfUserOrGroup("ANALYST", 
true);
diff --git 
a/src/common-service/src/test/java/org/apache/kylin/rest/service/AclTCRServiceTest.java
 
b/src/common-service/src/test/java/org/apache/kylin/rest/service/AclTCRServiceTest.java
index 91e9fb45de..b915bd6879 100644
--- 
a/src/common-service/src/test/java/org/apache/kylin/rest/service/AclTCRServiceTest.java
+++ 
b/src/common-service/src/test/java/org/apache/kylin/rest/service/AclTCRServiceTest.java
@@ -1317,7 +1317,7 @@ public class AclTCRServiceTest extends 
NLocalFileMetadataTestCase {
         Mockito.when(userService.isGlobalAdmin("ADMIN")).thenReturn(true);
         List<SidPermissionWithAclResponse> responses = 
accessService.getUserOrGroupAclPermissions(projects, "ADMIN",
                 true);
-        Assert.assertEquals(30, responses.size());
+        Assert.assertEquals(31, responses.size());
         Assert.assertTrue(responses.stream().allMatch(response -> 
"ADMIN".equals(response.getProjectPermission())));
 
         // test normal group
diff --git 
a/src/core-metadata/src/main/java/org/apache/kylin/metadata/querymeta/ColumnMetaWithType.java
 
b/src/core-metadata/src/main/java/org/apache/kylin/metadata/querymeta/ColumnMetaWithType.java
index 90853322d0..ea3db3159d 100644
--- 
a/src/core-metadata/src/main/java/org/apache/kylin/metadata/querymeta/ColumnMetaWithType.java
+++ 
b/src/core-metadata/src/main/java/org/apache/kylin/metadata/querymeta/ColumnMetaWithType.java
@@ -33,6 +33,7 @@ public class ColumnMetaWithType extends ColumnMeta {
     }
 
     private HashSet<columnTypeEnum> TYPE;
+    private String FULLY_QUALIFIED_COLUMN_NAME;
 
     public static ColumnMetaWithType ofColumnMeta(ColumnMeta columnMeta) {
         return new ColumnMetaWithType(columnMeta.TABLE_CAT, 
columnMeta.TABLE_SCHEM, columnMeta.TABLE_NAME,
@@ -73,6 +74,16 @@ public class ColumnMetaWithType extends ColumnMeta {
         SOURCE_DATA_TYPE = sOURCE_DATA_TYPE;
         IS_AUTOINCREMENT = iS_AUTOINCREMENT;
         TYPE = new HashSet<columnTypeEnum>();
+        FULLY_QUALIFIED_COLUMN_NAME = null;
+    }
+
+
+    public String getFULLY_QUALIFIED_COLUMN_NAME() {
+        return FULLY_QUALIFIED_COLUMN_NAME;
+    }
+
+    public void setFULLY_QUALIFIED_COLUMN_NAME(String fullyQualifiedName) {
+        this.FULLY_QUALIFIED_COLUMN_NAME = fullyQualifiedName;
     }
 
     public HashSet<columnTypeEnum> getTYPE() {
diff --git 
a/src/core-metadata/src/test/java/org/apache/kylin/metadata/project/NProjectManagerTest.java
 
b/src/core-metadata/src/test/java/org/apache/kylin/metadata/project/NProjectManagerTest.java
index 750fcaf3a2..d1b7c000f6 100644
--- 
a/src/core-metadata/src/test/java/org/apache/kylin/metadata/project/NProjectManagerTest.java
+++ 
b/src/core-metadata/src/test/java/org/apache/kylin/metadata/project/NProjectManagerTest.java
@@ -69,7 +69,7 @@ public class NProjectManagerTest extends 
NLocalFileMetadataTestCase {
         }
 
         val projects = projectManager.listAllProjects();
-        Assert.assertEquals(30, projects.size());
+        Assert.assertEquals(31, projects.size());
         Assert.assertTrue(projects.stream().noneMatch(p -> 
p.getName().equals("test")));
     }
 
diff --git 
a/src/core-metadata/src/test/java/org/apache/kylin/metrics/HdfsCapacityMetricsTest.java
 
b/src/core-metadata/src/test/java/org/apache/kylin/metrics/HdfsCapacityMetricsTest.java
index 09cb9e2c84..24fdb0e549 100644
--- 
a/src/core-metadata/src/test/java/org/apache/kylin/metrics/HdfsCapacityMetricsTest.java
+++ 
b/src/core-metadata/src/test/java/org/apache/kylin/metrics/HdfsCapacityMetricsTest.java
@@ -90,7 +90,7 @@ public class HdfsCapacityMetricsTest extends 
NLocalFileMetadataTestCase {
         }
         
Assert.assertTrue(hdfsCapacityMetrics.getWorkingDirCapacity().isEmpty());
         hdfsCapacityMetrics.writeHdfsMetrics();
-        Assert.assertEquals(30, 
hdfsCapacityMetrics.getWorkingDirCapacity().size());
+        Assert.assertEquals(31, 
hdfsCapacityMetrics.getWorkingDirCapacity().size());
 
     }
 
diff --git 
a/src/examples/test_case_data/localmeta/metadata/_global/project/test_jdbc.json 
b/src/examples/test_case_data/localmeta/metadata/_global/project/test_jdbc.json
new file mode 100644
index 0000000000..6ae1d3f42b
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/_global/project/test_jdbc.json
@@ -0,0 +1,35 @@
+{
+  "uuid" : "f38a3f21-4cbc-2bad-1927-87706f0929ed",
+  "last_modified" : 1699342022337,
+  "create_time" : 1699338288579,
+  "version" : "4.0.0.0",
+  "name" : "test_jdbc",
+  "owner" : "ADMIN",
+  "status" : "ENABLED",
+  "create_time_utc" : 1699338288579,
+  "default_database" : "DEFAULT",
+  "description" : "",
+  "principal" : null,
+  "keytab" : null,
+  "maintain_model_type" : "MANUAL_MAINTAIN",
+  "override_kylin_properties" : {
+    "kylin.metadata.semi-automatic-mode" : "false",
+    "kylin.query.metadata.expose-computed-column" : "true",
+    "kylin.source.default" : "9"
+  },
+  "segment_config" : {
+    "auto_merge_enabled" : false,
+    "auto_merge_time_ranges" : [ "WEEK", "MONTH", "QUARTER", "YEAR" ],
+    "volatile_range" : {
+      "volatile_range_number" : 0,
+      "volatile_range_enabled" : false,
+      "volatile_range_type" : "DAY"
+    },
+    "retention_range" : {
+      "retention_range_number" : 1,
+      "retention_range_enabled" : false,
+      "retention_range_type" : "MONTH"
+    },
+    "create_empty_segment_enabled" : false
+  }
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow/0928cbee-e7b2-76c9-d069-496cafdccff3.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow/0928cbee-e7b2-76c9-d069-496cafdccff3.json
new file mode 100644
index 0000000000..90e81c5e82
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow/0928cbee-e7b2-76c9-d069-496cafdccff3.json
@@ -0,0 +1,42 @@
+{
+  "uuid" : "0928cbee-e7b2-76c9-d069-496cafdccff3",
+  "last_modified" : 1699346253534,
+  "create_time" : 1699346015066,
+  "version" : "4.0.0.0",
+  "status" : "ONLINE",
+  "last_status" : null,
+  "cost" : 50,
+  "query_hit_count" : 0,
+  "last_query_time" : 0,
+  "last_data_refresh_time" : 0,
+  "layout_query_hit_count" : { },
+  "segments" : [ {
+    "id" : "6590b960-29fd-0416-2d21-0e7feef99cb4",
+    "name" : "FULL_BUILD",
+    "create_time_utc" : 1699346022945,
+    "status" : "READY",
+    "segRange" : {
+      "@class" : 
"org.apache.kylin.metadata.model.SegmentRange$TimePartitionedSegmentRange",
+      "date_range_start" : 0,
+      "date_range_end" : 9223372036854775807
+    },
+    "timeRange" : null,
+    "dimension_range_info_map" : { },
+    "parameters" : null,
+    "dictionaries" : null,
+    "snapshots" : null,
+    "last_build_time" : 1699346240956,
+    "source_count" : 0,
+    "source_bytes_size" : 0,
+    "column_source_bytes" : { },
+    "ori_snapshot_size" : { },
+    "additionalInfo" : { },
+    "is_realtime_segment" : false,
+    "is_snapshot_ready" : false,
+    "is_dict_ready" : true,
+    "is_flat_table_ready" : true,
+    "is_fact_view_ready" : false,
+    "multi_partitions" : [ ],
+    "max_bucket_id" : -1
+  } ]
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow/360d312b-6a74-1688-626d-4f2d99fd23a8.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow/360d312b-6a74-1688-626d-4f2d99fd23a8.json
new file mode 100644
index 0000000000..04061a4b9a
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow/360d312b-6a74-1688-626d-4f2d99fd23a8.json
@@ -0,0 +1,54 @@
+{
+  "uuid" : "360d312b-6a74-1688-626d-4f2d99fd23a8",
+  "last_modified" : 1699339291548,
+  "create_time" : 1699339031624,
+  "version" : "4.0.0.0",
+  "status" : "ONLINE",
+  "last_status" : null,
+  "cost" : 50,
+  "query_hit_count" : 0,
+  "last_query_time" : 0,
+  "last_data_refresh_time" : 0,
+  "layout_query_hit_count" : { },
+  "segments" : [ {
+    "id" : "b032f0cd-2197-076b-dd0b-6d04336bb3ee",
+    "name" : "FULL_BUILD",
+    "create_time_utc" : 1699339041421,
+    "status" : "READY",
+    "segRange" : {
+      "@class" : 
"org.apache.kylin.metadata.model.SegmentRange$TimePartitionedSegmentRange",
+      "date_range_start" : 0,
+      "date_range_end" : 9223372036854775807
+    },
+    "timeRange" : null,
+    "dimension_range_info_map" : {
+      "22" : {
+        "min" : "Customer#000000001",
+        "max" : "Customer#000000299"
+      },
+      "7" : {
+        "min" : "1",
+        "max" : "20"
+      }
+    },
+    "parameters" : null,
+    "dictionaries" : null,
+    "snapshots" : null,
+    "last_build_time" : 1699339256930,
+    "source_count" : 60175,
+    "source_bytes_size" : 5687314,
+    "column_source_bytes" : {
+      "SSB.LINEORDER.LO_SUPPKEY" : 94173,
+      "SSB.CUSTOMER.C_NAME" : 5400
+    },
+    "ori_snapshot_size" : { },
+    "additionalInfo" : { },
+    "is_realtime_segment" : false,
+    "is_snapshot_ready" : false,
+    "is_dict_ready" : true,
+    "is_flat_table_ready" : true,
+    "is_fact_view_ready" : false,
+    "multi_partitions" : [ ],
+    "max_bucket_id" : -1
+  } ]
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json
new file mode 100644
index 0000000000..773e90870a
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json
@@ -0,0 +1,49 @@
+{
+  "uuid" : "c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7",
+  "last_modified" : 1699339180199,
+  "create_time" : 1699338612778,
+  "version" : "4.0.0.0",
+  "status" : "ONLINE",
+  "last_status" : null,
+  "cost" : 50,
+  "query_hit_count" : 0,
+  "last_query_time" : 0,
+  "last_data_refresh_time" : 0,
+  "layout_query_hit_count" : { },
+  "segments" : [ {
+    "id" : "f1b656b9-1795-5b4e-fe29-7649684bb9ba",
+    "name" : "FULL_BUILD",
+    "create_time_utc" : 1699338958474,
+    "status" : "READY",
+    "segRange" : {
+      "@class" : 
"org.apache.kylin.metadata.model.SegmentRange$TimePartitionedSegmentRange",
+      "date_range_start" : 0,
+      "date_range_end" : 9223372036854775807
+    },
+    "timeRange" : null,
+    "dimension_range_info_map" : {
+      "5" : {
+        "min" : "Customer#000000001",
+        "max" : "Customer#000000300"
+      }
+    },
+    "parameters" : null,
+    "dictionaries" : null,
+    "snapshots" : null,
+    "last_build_time" : 1699339167842,
+    "source_count" : 300,
+    "source_bytes_size" : 27359,
+    "column_source_bytes" : {
+      "SSB.CUSTOMER.C_NAME" : 5400
+    },
+    "ori_snapshot_size" : { },
+    "additionalInfo" : { },
+    "is_realtime_segment" : false,
+    "is_snapshot_ready" : false,
+    "is_dict_ready" : true,
+    "is_flat_table_ready" : true,
+    "is_fact_view_ready" : false,
+    "multi_partitions" : [ ],
+    "max_bucket_id" : -1
+  } ]
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow_details/0928cbee-e7b2-76c9-d069-496cafdccff3/6590b960-29fd-0416-2d21-0e7feef99cb4.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow_details/0928cbee-e7b2-76c9-d069-496cafdccff3/6590b960-29fd-0416-2d21-0e7feef99cb4.json
new file mode 100644
index 0000000000..a23bd0a67b
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow_details/0928cbee-e7b2-76c9-d069-496cafdccff3/6590b960-29fd-0416-2d21-0e7feef99cb4.json
@@ -0,0 +1,36 @@
+{
+  "uuid" : "6590b960-29fd-0416-2d21-0e7feef99cb4",
+  "last_modified" : 1699346022946,
+  "create_time" : 1699346022946,
+  "version" : "4.0.0.0",
+  "dataflow" : "0928cbee-e7b2-76c9-d069-496cafdccff3",
+  "layout_instances" : [ {
+    "layout_id" : 20000000001,
+    "build_job_id" : 
"ddde93dd-2cc0-05bc-cc00-ca5c0a8801dd-0928cbee-e7b2-76c9-d069-496cafdccff3",
+    "rows" : 0,
+    "byte_size" : 528,
+    "file_count" : 1,
+    "source_rows" : 0,
+    "source_byte_size" : 0,
+    "partition_num" : 1,
+    "partition_values" : [ ],
+    "is_ready" : false,
+    "create_time" : 1699346236749,
+    "multi_partition" : [ ],
+    "abnormal_type" : null
+  }, {
+    "layout_id" : 1,
+    "build_job_id" : 
"ddde93dd-2cc0-05bc-cc00-ca5c0a8801dd-0928cbee-e7b2-76c9-d069-496cafdccff3",
+    "rows" : 0,
+    "byte_size" : 587,
+    "file_count" : 1,
+    "source_rows" : 0,
+    "source_byte_size" : 0,
+    "partition_num" : 1,
+    "partition_values" : [ ],
+    "is_ready" : false,
+    "create_time" : 1699346236749,
+    "multi_partition" : [ ],
+    "abnormal_type" : null
+  } ]
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow_details/360d312b-6a74-1688-626d-4f2d99fd23a8/b032f0cd-2197-076b-dd0b-6d04336bb3ee.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow_details/360d312b-6a74-1688-626d-4f2d99fd23a8/b032f0cd-2197-076b-dd0b-6d04336bb3ee.json
new file mode 100644
index 0000000000..246659f542
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow_details/360d312b-6a74-1688-626d-4f2d99fd23a8/b032f0cd-2197-076b-dd0b-6d04336bb3ee.json
@@ -0,0 +1,36 @@
+{
+  "uuid" : "b032f0cd-2197-076b-dd0b-6d04336bb3ee",
+  "last_modified" : 1699339041425,
+  "create_time" : 1699339041424,
+  "version" : "4.0.0.0",
+  "dataflow" : "360d312b-6a74-1688-626d-4f2d99fd23a8",
+  "layout_instances" : [ {
+    "layout_id" : 1,
+    "build_job_id" : 
"3ba82cc3-ae6e-bb0d-55c5-f9689b435df4-360d312b-6a74-1688-626d-4f2d99fd23a8",
+    "rows" : 20,
+    "byte_size" : 1342,
+    "file_count" : 1,
+    "source_rows" : 60175,
+    "source_byte_size" : 0,
+    "partition_num" : 1,
+    "partition_values" : [ ],
+    "is_ready" : false,
+    "create_time" : 1699339252957,
+    "multi_partition" : [ ],
+    "abnormal_type" : null
+  }, {
+    "layout_id" : 20000000001,
+    "build_job_id" : 
"3ba82cc3-ae6e-bb0d-55c5-f9689b435df4-360d312b-6a74-1688-626d-4f2d99fd23a8",
+    "rows" : 60175,
+    "byte_size" : 13091,
+    "file_count" : 1,
+    "source_rows" : 60175,
+    "source_byte_size" : 0,
+    "partition_num" : 1,
+    "partition_values" : [ ],
+    "is_ready" : false,
+    "create_time" : 1699339252957,
+    "multi_partition" : [ ],
+    "abnormal_type" : null
+  } ]
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow_details/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7/f1b656b9-1795-5b4e-fe29-7649684bb9ba.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow_details/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7/f1b656b9-1795-5b4e-fe29-7649684bb9ba.json
new file mode 100644
index 0000000000..af9cf8cab0
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/dataflow_details/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7/f1b656b9-1795-5b4e-fe29-7649684bb9ba.json
@@ -0,0 +1,36 @@
+{
+  "uuid" : "f1b656b9-1795-5b4e-fe29-7649684bb9ba",
+  "last_modified" : 1699338958477,
+  "create_time" : 1699338958477,
+  "version" : "4.0.0.0",
+  "dataflow" : "c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7",
+  "layout_instances" : [ {
+    "layout_id" : 1,
+    "build_job_id" : 
"d41a42c8-17dd-d5bb-7784-ef98e448b4f8-c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7",
+    "rows" : 300,
+    "byte_size" : 2427,
+    "file_count" : 1,
+    "source_rows" : 300,
+    "source_byte_size" : 0,
+    "partition_num" : 1,
+    "partition_values" : [ ],
+    "is_ready" : false,
+    "create_time" : 1699339163207,
+    "multi_partition" : [ ],
+    "abnormal_type" : null
+  }, {
+    "layout_id" : 20000000001,
+    "build_job_id" : 
"d41a42c8-17dd-d5bb-7784-ef98e448b4f8-c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7",
+    "rows" : 300,
+    "byte_size" : 2141,
+    "file_count" : 1,
+    "source_rows" : 300,
+    "source_byte_size" : 0,
+    "partition_num" : 1,
+    "partition_values" : [ ],
+    "is_ready" : false,
+    "create_time" : 1699339163207,
+    "multi_partition" : [ ],
+    "abnormal_type" : null
+  } ]
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/index_plan/0928cbee-e7b2-76c9-d069-496cafdccff3.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/index_plan/0928cbee-e7b2-76c9-d069-496cafdccff3.json
new file mode 100644
index 0000000000..6b3757875e
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/index_plan/0928cbee-e7b2-76c9-d069-496cafdccff3.json
@@ -0,0 +1,64 @@
+{
+  "uuid" : "0928cbee-e7b2-76c9-d069-496cafdccff3",
+  "last_modified" : 1699346015066,
+  "create_time" : 1699346015064,
+  "version" : "4.0.0.0",
+  "description" : null,
+  "rule_based_index" : null,
+  "indexes" : [ {
+    "id" : 0,
+    "dimensions" : [ 2 ],
+    "measures" : [ 100000, 100001 ],
+    "layouts" : [ {
+      "id" : 1,
+      "name" : null,
+      "owner" : null,
+      "col_order" : [ 2, 100000, 100001 ],
+      "shard_by_columns" : [ ],
+      "partition_by_columns" : [ ],
+      "sort_by_columns" : [ ],
+      "storage_type" : 20,
+      "update_time" : 1699346015064,
+      "manual" : false,
+      "auto" : false,
+      "base" : true,
+      "draft_version" : null,
+      "index_range" : null
+    } ],
+    "next_layout_offset" : 2
+  }, {
+    "id" : 20000000000,
+    "dimensions" : [ 0, 2 ],
+    "measures" : [ ],
+    "layouts" : [ {
+      "id" : 20000000001,
+      "name" : null,
+      "owner" : null,
+      "col_order" : [ 0, 2 ],
+      "shard_by_columns" : [ ],
+      "partition_by_columns" : [ ],
+      "sort_by_columns" : [ ],
+      "storage_type" : 20,
+      "update_time" : 1699346015064,
+      "manual" : false,
+      "auto" : false,
+      "base" : true,
+      "draft_version" : null,
+      "index_range" : null
+    } ],
+    "next_layout_offset" : 2
+  } ],
+  "override_properties" : { },
+  "to_be_deleted_indexes" : [ ],
+  "auto_merge_time_ranges" : null,
+  "retention_range" : 0,
+  "engine_type" : 80,
+  "next_aggregation_index_id" : 10000,
+  "next_table_index_id" : 20000010000,
+  "agg_shard_by_columns" : [ ],
+  "extend_partition_columns" : [ ],
+  "layout_bucket_num" : { },
+  "approved_additional_recs" : 0,
+  "approved_removal_recs" : 0,
+  "base_agg_index_reduce_high_cardinality_dim" : false
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/index_plan/360d312b-6a74-1688-626d-4f2d99fd23a8.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/index_plan/360d312b-6a74-1688-626d-4f2d99fd23a8.json
new file mode 100644
index 0000000000..d48aedf2ab
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/index_plan/360d312b-6a74-1688-626d-4f2d99fd23a8.json
@@ -0,0 +1,64 @@
+{
+  "uuid" : "360d312b-6a74-1688-626d-4f2d99fd23a8",
+  "last_modified" : 1699339031623,
+  "create_time" : 1699339031620,
+  "version" : "4.0.0.0",
+  "description" : null,
+  "rule_based_index" : null,
+  "indexes" : [ {
+    "id" : 0,
+    "dimensions" : [ 7 ],
+    "measures" : [ 100000, 100001 ],
+    "layouts" : [ {
+      "id" : 1,
+      "name" : null,
+      "owner" : null,
+      "col_order" : [ 7, 100000, 100001 ],
+      "shard_by_columns" : [ ],
+      "partition_by_columns" : [ ],
+      "sort_by_columns" : [ ],
+      "storage_type" : 20,
+      "update_time" : 1699339031620,
+      "manual" : false,
+      "auto" : false,
+      "base" : true,
+      "draft_version" : null,
+      "index_range" : null
+    } ],
+    "next_layout_offset" : 2
+  }, {
+    "id" : 20000000000,
+    "dimensions" : [ 7, 22 ],
+    "measures" : [ ],
+    "layouts" : [ {
+      "id" : 20000000001,
+      "name" : null,
+      "owner" : null,
+      "col_order" : [ 7, 22 ],
+      "shard_by_columns" : [ ],
+      "partition_by_columns" : [ ],
+      "sort_by_columns" : [ ],
+      "storage_type" : 20,
+      "update_time" : 1699339031620,
+      "manual" : false,
+      "auto" : false,
+      "base" : true,
+      "draft_version" : null,
+      "index_range" : null
+    } ],
+    "next_layout_offset" : 2
+  } ],
+  "override_properties" : { },
+  "to_be_deleted_indexes" : [ ],
+  "auto_merge_time_ranges" : null,
+  "retention_range" : 0,
+  "engine_type" : 80,
+  "next_aggregation_index_id" : 10000,
+  "next_table_index_id" : 20000010000,
+  "agg_shard_by_columns" : [ ],
+  "extend_partition_columns" : [ ],
+  "layout_bucket_num" : { },
+  "approved_additional_recs" : 0,
+  "approved_removal_recs" : 0,
+  "base_agg_index_reduce_high_cardinality_dim" : false
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/index_plan/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/index_plan/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json
new file mode 100644
index 0000000000..6aa08c7401
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/index_plan/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json
@@ -0,0 +1,64 @@
+{
+  "uuid" : "c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7",
+  "last_modified" : 1699338612777,
+  "create_time" : 1699338612704,
+  "version" : "4.0.0.0",
+  "description" : null,
+  "rule_based_index" : null,
+  "indexes" : [ {
+    "id" : 0,
+    "dimensions" : [ 5 ],
+    "measures" : [ 100000 ],
+    "layouts" : [ {
+      "id" : 1,
+      "name" : null,
+      "owner" : null,
+      "col_order" : [ 5, 100000 ],
+      "shard_by_columns" : [ ],
+      "partition_by_columns" : [ ],
+      "sort_by_columns" : [ ],
+      "storage_type" : 20,
+      "update_time" : 1699338612714,
+      "manual" : false,
+      "auto" : false,
+      "base" : true,
+      "draft_version" : null,
+      "index_range" : null
+    } ],
+    "next_layout_offset" : 2
+  }, {
+    "id" : 20000000000,
+    "dimensions" : [ 5 ],
+    "measures" : [ ],
+    "layouts" : [ {
+      "id" : 20000000001,
+      "name" : null,
+      "owner" : null,
+      "col_order" : [ 5 ],
+      "shard_by_columns" : [ ],
+      "partition_by_columns" : [ ],
+      "sort_by_columns" : [ ],
+      "storage_type" : 20,
+      "update_time" : 1699338612714,
+      "manual" : false,
+      "auto" : false,
+      "base" : true,
+      "draft_version" : null,
+      "index_range" : null
+    } ],
+    "next_layout_offset" : 2
+  } ],
+  "override_properties" : { },
+  "to_be_deleted_indexes" : [ ],
+  "auto_merge_time_ranges" : null,
+  "retention_range" : 0,
+  "engine_type" : 80,
+  "next_aggregation_index_id" : 10000,
+  "next_table_index_id" : 20000010000,
+  "agg_shard_by_columns" : [ ],
+  "extend_partition_columns" : [ ],
+  "layout_bucket_num" : { },
+  "approved_additional_recs" : 0,
+  "approved_removal_recs" : 0,
+  "base_agg_index_reduce_high_cardinality_dim" : false
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/model_desc/0928cbee-e7b2-76c9-d069-496cafdccff3.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/model_desc/0928cbee-e7b2-76c9-d069-496cafdccff3.json
new file mode 100644
index 0000000000..4874d898a7
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/model_desc/0928cbee-e7b2-76c9-d069-496cafdccff3.json
@@ -0,0 +1,94 @@
+{
+  "uuid" : "0928cbee-e7b2-76c9-d069-496cafdccff3",
+  "last_modified" : 1699346015063,
+  "create_time" : 1699346014212,
+  "version" : "4.0.0.0",
+  "alias" : "test_emp",
+  "owner" : "ADMIN",
+  "config_last_modifier" : null,
+  "config_last_modified" : 0,
+  "description" : "员工model_view视图表",
+  "fact_table" : "CNDB.EMPLOYEE",
+  "fact_table_alias" : null,
+  "management_type" : "MODEL_BASED",
+  "join_tables" : [ ],
+  "filter_condition" : "",
+  "partition_desc" : null,
+  "capacity" : "MEDIUM",
+  "segment_config" : {
+    "auto_merge_enabled" : null,
+    "auto_merge_time_ranges" : null,
+    "volatile_range" : null,
+    "retention_range" : null,
+    "create_empty_segment_enabled" : false
+  },
+  "data_check_desc" : {
+    "check_options" : 0,
+    "fault_threshold" : 0,
+    "fault_actions" : 0
+  },
+  "semantic_version" : 0,
+  "storage_type" : 0,
+  "model_type" : "BATCH",
+  "all_named_columns" : [ {
+    "id" : 0,
+    "name" : "EMP_DEPT",
+    "column" : "EMPLOYEE.EMP_DEPT"
+  }, {
+    "id" : 1,
+    "name" : "EMP_ID",
+    "column" : "EMPLOYEE.EMP_ID"
+  }, {
+    "id" : 2,
+    "name" : "EMP_NAME",
+    "column" : "EMPLOYEE.EMP_NAME",
+    "status" : "DIMENSION"
+  } ],
+  "all_measures" : [ {
+    "name" : "COUNT_ALL",
+    "function" : {
+      "expression" : "COUNT",
+      "parameters" : [ {
+        "type" : "constant",
+        "value" : "1"
+      } ],
+      "returntype" : "bigint"
+    },
+    "column" : null,
+    "comment" : null,
+    "id" : 100000,
+    "type" : "NORMAL",
+    "internal_ids" : [ ]
+  }, {
+    "name" : "EMP_DEPT",
+    "function" : {
+      "expression" : "MAX",
+      "parameters" : [ {
+        "type" : "column",
+        "value" : "EMPLOYEE.EMP_DEPT"
+      } ],
+      "returntype" : "varchar(4096)"
+    },
+    "column" : null,
+    "comment" : "",
+    "id" : 100001,
+    "type" : "NORMAL",
+    "internal_ids" : [ ]
+  } ],
+  "recommendations_count" : 0,
+  "computed_columns" : [ ],
+  "canvas" : {
+    "coordinate" : {
+      "EMPLOYEE" : {
+        "x" : 475.7777235243056,
+        "y" : 224.6111043294271,
+        "width" : 220.0,
+        "height" : 426.6666666666667
+      }
+    },
+    "zoom" : 9.0
+  },
+  "multi_partition_desc" : null,
+  "multi_partition_key_mapping" : null,
+  "fusion_id" : null
+}
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/model_desc/360d312b-6a74-1688-626d-4f2d99fd23a8.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/model_desc/360d312b-6a74-1688-626d-4f2d99fd23a8.json
new file mode 100644
index 0000000000..2d3bbd35b0
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/model_desc/360d312b-6a74-1688-626d-4f2d99fd23a8.json
@@ -0,0 +1,202 @@
+{
+  "uuid" : "360d312b-6a74-1688-626d-4f2d99fd23a8",
+  "last_modified" : 1699339031619,
+  "create_time" : 1699339030433,
+  "version" : "4.0.0.0",
+  "alias" : "model_name_alias",
+  "owner" : "ADMIN",
+  "config_last_modifier" : null,
+  "config_last_modified" : 0,
+  "description" : "无名模型",
+  "fact_table" : "SSB.LINEORDER",
+  "fact_table_alias" : null,
+  "management_type" : "MODEL_BASED",
+  "join_tables" : [ {
+    "table" : "SSB.CUSTOMER",
+    "kind" : "LOOKUP",
+    "alias" : "CUSTOMER",
+    "join" : {
+      "type" : "INNER",
+      "primary_key" : [ "CUSTOMER.C_CUSTKEY" ],
+      "foreign_key" : [ "LINEORDER.LO_CUSTKEY" ],
+      "non_equi_join_condition" : null,
+      "primary_table" : null,
+      "foreign_table" : null
+    },
+    "flattenable" : "flatten",
+    "join_relation_type" : "MANY_TO_ONE"
+  } ],
+  "filter_condition" : "",
+  "partition_desc" : null,
+  "capacity" : "MEDIUM",
+  "segment_config" : {
+    "auto_merge_enabled" : null,
+    "auto_merge_time_ranges" : null,
+    "volatile_range" : null,
+    "retention_range" : null,
+    "create_empty_segment_enabled" : false
+  },
+  "data_check_desc" : {
+    "check_options" : 0,
+    "fault_threshold" : 0,
+    "fault_actions" : 0
+  },
+  "semantic_version" : 0,
+  "storage_type" : 0,
+  "model_type" : "BATCH",
+  "all_named_columns" : [ {
+    "id" : 0,
+    "name" : "LO_ORDERKEY",
+    "column" : "LINEORDER.LO_ORDERKEY"
+  }, {
+    "id" : 1,
+    "name" : "LO_PARTKEY",
+    "column" : "LINEORDER.LO_PARTKEY"
+  }, {
+    "id" : 2,
+    "name" : "LO_DISCOUNT",
+    "column" : "LINEORDER.LO_DISCOUNT"
+  }, {
+    "id" : 3,
+    "name" : "LO_SUPPLYCOST",
+    "column" : "LINEORDER.LO_SUPPLYCOST"
+  }, {
+    "id" : 4,
+    "name" : "LO_COMMITDATE",
+    "column" : "LINEORDER.LO_COMMITDATE"
+  }, {
+    "id" : 5,
+    "name" : "LO_EXTENDEDPRICE",
+    "column" : "LINEORDER.LO_EXTENDEDPRICE"
+  }, {
+    "id" : 6,
+    "name" : "LO_TAX",
+    "column" : "LINEORDER.LO_TAX"
+  }, {
+    "id" : 7,
+    "name" : "LO_SUPPKEY",
+    "column" : "LINEORDER.LO_SUPPKEY",
+    "status" : "DIMENSION"
+  }, {
+    "id" : 8,
+    "name" : "LO_ORDTOTALPRICE",
+    "column" : "LINEORDER.LO_ORDTOTALPRICE"
+  }, {
+    "id" : 9,
+    "name" : "LO_REVENUE",
+    "column" : "LINEORDER.LO_REVENUE"
+  }, {
+    "id" : 10,
+    "name" : "LO_ORDERDATE",
+    "column" : "LINEORDER.LO_ORDERDATE"
+  }, {
+    "id" : 11,
+    "name" : "LO_ORDERPRIOTITY",
+    "column" : "LINEORDER.LO_ORDERPRIOTITY"
+  }, {
+    "id" : 12,
+    "name" : "LO_SHIPPRIOTITY",
+    "column" : "LINEORDER.LO_SHIPPRIOTITY"
+  }, {
+    "id" : 13,
+    "name" : "LO_QUANTITY",
+    "column" : "LINEORDER.LO_QUANTITY"
+  }, {
+    "id" : 14,
+    "name" : "LO_SHIPMODE",
+    "column" : "LINEORDER.LO_SHIPMODE"
+  }, {
+    "id" : 15,
+    "name" : "LO_LINENUMBER",
+    "column" : "LINEORDER.LO_LINENUMBER"
+  }, {
+    "id" : 16,
+    "name" : "LO_CUSTKEY",
+    "column" : "LINEORDER.LO_CUSTKEY"
+  }, {
+    "id" : 17,
+    "name" : "C_ADDRESS",
+    "column" : "CUSTOMER.C_ADDRESS"
+  }, {
+    "id" : 18,
+    "name" : "C_NATION",
+    "column" : "CUSTOMER.C_NATION"
+  }, {
+    "id" : 19,
+    "name" : "C_CITY",
+    "column" : "CUSTOMER.C_CITY"
+  }, {
+    "id" : 20,
+    "name" : "C_PHONE",
+    "column" : "CUSTOMER.C_PHONE"
+  }, {
+    "id" : 21,
+    "name" : "C_REGION",
+    "column" : "CUSTOMER.C_REGION"
+  }, {
+    "id" : 22,
+    "name" : "C_NAME",
+    "column" : "CUSTOMER.C_NAME"
+  }, {
+    "id" : 23,
+    "name" : "C_MKTSEGMENT",
+    "column" : "CUSTOMER.C_MKTSEGMENT"
+  }, {
+    "id" : 24,
+    "name" : "C_CUSTKEY",
+    "column" : "CUSTOMER.C_CUSTKEY"
+  } ],
+  "all_measures" : [ {
+    "name" : "COUNT_ALL",
+    "function" : {
+      "expression" : "COUNT",
+      "parameters" : [ {
+        "type" : "constant",
+        "value" : "1"
+      } ],
+      "returntype" : "bigint"
+    },
+    "column" : null,
+    "comment" : null,
+    "id" : 100000,
+    "type" : "NORMAL",
+    "internal_ids" : [ ]
+  }, {
+    "name" : "C_NAME",
+    "function" : {
+      "expression" : "MAX",
+      "parameters" : [ {
+        "type" : "column",
+        "value" : "CUSTOMER.C_NAME"
+      } ],
+      "returntype" : "varchar(4096)"
+    },
+    "column" : null,
+    "comment" : "",
+    "id" : 100001,
+    "type" : "NORMAL",
+    "internal_ids" : [ ]
+  } ],
+  "recommendations_count" : 0,
+  "computed_columns" : [ ],
+  "canvas" : {
+    "coordinate" : {
+      "CUSTOMER" : {
+        "x" : 510.22216796875,
+        "y" : 283.499993218316,
+        "width" : 220.0,
+        "height" : 467.77777777777777
+      },
+      "LINEORDER" : {
+        "x" : 820.22216796875,
+        "y" : 185.72221544053824,
+        "width" : 220.0,
+        "height" : 657.7777777777777
+      }
+    },
+    "zoom" : 9.0
+  },
+  "multi_partition_desc" : null,
+  "multi_partition_key_mapping" : null,
+  "fusion_id" : null
+}
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/model_desc/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/model_desc/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json
new file mode 100644
index 0000000000..c010c79792
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/model_desc/c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7.json
@@ -0,0 +1,99 @@
+{
+  "uuid" : "c4bb7f53-e8d1-ed0a-06d0-b7cff21634f7",
+  "last_modified" : 1699338612703,
+  "create_time" : 1699338611368,
+  "version" : "4.0.0.0",
+  "alias" : "test",
+  "owner" : "ADMIN",
+  "config_last_modifier" : null,
+  "config_last_modified" : 0,
+  "description" : "",
+  "fact_table" : "SSB.CUSTOMER",
+  "fact_table_alias" : null,
+  "management_type" : "MODEL_BASED",
+  "join_tables" : [ ],
+  "filter_condition" : "",
+  "partition_desc" : null,
+  "capacity" : "MEDIUM",
+  "segment_config" : {
+    "auto_merge_enabled" : null,
+    "auto_merge_time_ranges" : null,
+    "volatile_range" : null,
+    "retention_range" : null,
+    "create_empty_segment_enabled" : false
+  },
+  "data_check_desc" : {
+    "check_options" : 0,
+    "fault_threshold" : 0,
+    "fault_actions" : 0
+  },
+  "semantic_version" : 0,
+  "storage_type" : 0,
+  "model_type" : "BATCH",
+  "all_named_columns" : [ {
+    "id" : 0,
+    "name" : "C_ADDRESS",
+    "column" : "CUSTOMER.C_ADDRESS"
+  }, {
+    "id" : 1,
+    "name" : "C_NATION",
+    "column" : "CUSTOMER.C_NATION"
+  }, {
+    "id" : 2,
+    "name" : "C_CITY",
+    "column" : "CUSTOMER.C_CITY"
+  }, {
+    "id" : 3,
+    "name" : "C_PHONE",
+    "column" : "CUSTOMER.C_PHONE"
+  }, {
+    "id" : 4,
+    "name" : "C_REGION",
+    "column" : "CUSTOMER.C_REGION"
+  }, {
+    "id" : 5,
+    "name" : "C_NAME",
+    "column" : "CUSTOMER.C_NAME",
+    "status" : "DIMENSION"
+  }, {
+    "id" : 6,
+    "name" : "C_MKTSEGMENT",
+    "column" : "CUSTOMER.C_MKTSEGMENT"
+  }, {
+    "id" : 7,
+    "name" : "C_CUSTKEY",
+    "column" : "CUSTOMER.C_CUSTKEY"
+  } ],
+  "all_measures" : [ {
+    "name" : "COUNT_ALL",
+    "function" : {
+      "expression" : "COUNT",
+      "parameters" : [ {
+        "type" : "constant",
+        "value" : "1"
+      } ],
+      "returntype" : "bigint"
+    },
+    "column" : null,
+    "comment" : null,
+    "id" : 100000,
+    "type" : "NORMAL",
+    "internal_ids" : [ ]
+  } ],
+  "recommendations_count" : 0,
+  "computed_columns" : [ ],
+  "canvas" : {
+    "coordinate" : {
+      "CUSTOMER" : {
+        "x" : 655.7777235243055,
+        "y" : 275.7222154405382,
+        "width" : 220.0,
+        "height" : 443.3333333333333
+      }
+    },
+    "zoom" : 9.0
+  },
+  "multi_partition_desc" : null,
+  "multi_partition_key_mapping" : null,
+  "fusion_id" : null
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/CNDB.EMPLOYEE.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/CNDB.EMPLOYEE.json
new file mode 100644
index 0000000000..a9875a5868
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/CNDB.EMPLOYEE.json
@@ -0,0 +1,47 @@
+{
+  "uuid" : "6fcb7a73-9827-1e00-5ac8-3d7ca47e0014",
+  "last_modified" : 0,
+  "create_time" : 1699343706015,
+  "version" : "4.0.0.0",
+  "name" : "EMPLOYEE",
+  "columns" : [ {
+    "id" : "1",
+    "name" : "EMP_ID",
+    "datatype" : "integer",
+    "comment" : "员工ID",
+    "case_sensitive_name" : "emp_id"
+  }, {
+    "id" : "2",
+    "name" : "EMP_NAME",
+    "datatype" : "varchar(4096)",
+    "comment" : "员工姓名",
+    "case_sensitive_name" : "emp_name"
+  }, {
+    "id" : "3",
+    "name" : "EMP_DEPT",
+    "datatype" : "varchar(4096)",
+    "comment" : "员工所在部门",
+    "case_sensitive_name" : "emp_dept"
+  } ],
+  "source_type" : 9,
+  "table_type" : "MANAGED",
+  "top" : false,
+  "increment_loading" : false,
+  "last_snapshot_path" : null,
+  "last_snapshot_size" : 0,
+  "snapshot_last_modified" : 0,
+  "query_hit_count" : 0,
+  "partition_column" : null,
+  "snapshot_partitions" : { },
+  "snapshot_partitions_info" : { },
+  "snapshot_total_rows" : 0,
+  "snapshot_partition_col" : null,
+  "selected_snapshot_partition_col" : null,
+  "temp_snapshot_path" : null,
+  "snapshot_has_broken" : false,
+  "database" : "CNDB",
+  "transactional" : false,
+  "rangePartition" : false,
+  "partition_desc" : null,
+  "table_comment" : "员工信息表"
+}
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.CUSTOMER.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.CUSTOMER.json
new file mode 100644
index 0000000000..e1ebad4821
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.CUSTOMER.json
@@ -0,0 +1,70 @@
+{
+  "uuid" : "3bc97da0-a188-9f98-2384-ccf9d11f4283",
+  "last_modified" : 1699338322063,
+  "create_time" : 1699338320348,
+  "version" : "4.0.0.0",
+  "name" : "CUSTOMER",
+  "columns" : [ {
+    "id" : "1",
+    "name" : "C_CUSTKEY",
+    "datatype" : "integer",
+    "case_sensitive_name" : "c_custkey"
+  }, {
+    "id" : "2",
+    "name" : "C_NAME",
+    "datatype" : "varchar(4096)",
+    "comment" : "新的名",
+    "case_sensitive_name" : "c_name"
+  }, {
+    "id" : "3",
+    "name" : "C_ADDRESS",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "c_address"
+  }, {
+    "id" : "4",
+    "name" : "C_CITY",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "c_city"
+  }, {
+    "id" : "5",
+    "name" : "C_NATION",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "c_nation"
+  }, {
+    "id" : "6",
+    "name" : "C_REGION",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "c_region"
+  }, {
+    "id" : "7",
+    "name" : "C_PHONE",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "c_phone"
+  }, {
+    "id" : "8",
+    "name" : "C_MKTSEGMENT",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "c_mktsegment"
+  } ],
+  "source_type" : 9,
+  "table_type" : "EXTERNAL",
+  "top" : false,
+  "increment_loading" : false,
+  "last_snapshot_path" : 
"test_jdbc/table_snapshot/SSB.CUSTOMER/7d74ced7-2372-4790-9514-1981ce4522c6",
+  "last_snapshot_size" : 16708,
+  "snapshot_last_modified" : 1699339228353,
+  "query_hit_count" : 0,
+  "partition_column" : null,
+  "snapshot_partitions" : { },
+  "snapshot_partitions_info" : { },
+  "snapshot_total_rows" : 300,
+  "snapshot_partition_col" : null,
+  "selected_snapshot_partition_col" : null,
+  "temp_snapshot_path" : null,
+  "snapshot_has_broken" : false,
+  "database" : "SSB",
+  "transactional" : false,
+  "rangePartition" : false,
+  "partition_desc" : null,
+  "table_comment" : null
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.DATES.json 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.DATES.json
new file mode 100644
index 0000000000..21c9b68ace
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.DATES.json
@@ -0,0 +1,114 @@
+{
+  "uuid" : "80f73fe5-f1bb-b657-eb1e-3c7d08185717",
+  "last_modified" : 0,
+  "create_time" : 1699338320028,
+  "version" : "4.0.0.0",
+  "name" : "DATES",
+  "columns" : [ {
+    "id" : "1",
+    "name" : "D_DATEKEY",
+    "datatype" : "date",
+    "case_sensitive_name" : "d_datekey"
+  }, {
+    "id" : "2",
+    "name" : "D_DATE",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "d_date"
+  }, {
+    "id" : "3",
+    "name" : "D_DAYOFWEEK",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "d_dayofweek"
+  }, {
+    "id" : "4",
+    "name" : "D_MONTH",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "d_month"
+  }, {
+    "id" : "5",
+    "name" : "D_YEAR",
+    "datatype" : "integer",
+    "case_sensitive_name" : "d_year"
+  }, {
+    "id" : "6",
+    "name" : "D_YEARMONTHNUM",
+    "datatype" : "integer",
+    "case_sensitive_name" : "d_yearmonthnum"
+  }, {
+    "id" : "7",
+    "name" : "D_YEARMONTH",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "d_yearmonth"
+  }, {
+    "id" : "8",
+    "name" : "D_DAYNUMINWEEK",
+    "datatype" : "integer",
+    "case_sensitive_name" : "d_daynuminweek"
+  }, {
+    "id" : "9",
+    "name" : "D_DAYNUMINMONTH",
+    "datatype" : "integer",
+    "case_sensitive_name" : "d_daynuminmonth"
+  }, {
+    "id" : "10",
+    "name" : "D_DAYNUMINYEAR",
+    "datatype" : "integer",
+    "case_sensitive_name" : "d_daynuminyear"
+  }, {
+    "id" : "11",
+    "name" : "D_MONTHNUMINYEAR",
+    "datatype" : "integer",
+    "case_sensitive_name" : "d_monthnuminyear"
+  }, {
+    "id" : "12",
+    "name" : "D_WEEKNUMINYEAR",
+    "datatype" : "integer",
+    "case_sensitive_name" : "d_weeknuminyear"
+  }, {
+    "id" : "13",
+    "name" : "D_SELLINGSEASON",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "d_sellingseason"
+  }, {
+    "id" : "14",
+    "name" : "D_LASTDAYINWEEKFL",
+    "datatype" : "integer",
+    "case_sensitive_name" : "d_lastdayinweekfl"
+  }, {
+    "id" : "15",
+    "name" : "D_LASTDAYINMONTHFL",
+    "datatype" : "integer",
+    "case_sensitive_name" : "d_lastdayinmonthfl"
+  }, {
+    "id" : "16",
+    "name" : "D_HOLIDAYFL",
+    "datatype" : "integer",
+    "case_sensitive_name" : "d_holidayfl"
+  }, {
+    "id" : "17",
+    "name" : "D_WEEKDAYFL",
+    "datatype" : "integer",
+    "case_sensitive_name" : "d_weekdayfl"
+  } ],
+  "source_type" : 9,
+  "table_type" : "EXTERNAL",
+  "top" : false,
+  "increment_loading" : false,
+  "last_snapshot_path" : null,
+  "last_snapshot_size" : 0,
+  "snapshot_last_modified" : 0,
+  "query_hit_count" : 0,
+  "partition_column" : null,
+  "snapshot_partitions" : { },
+  "snapshot_partitions_info" : { },
+  "snapshot_total_rows" : 0,
+  "snapshot_partition_col" : null,
+  "selected_snapshot_partition_col" : null,
+  "temp_snapshot_path" : null,
+  "snapshot_has_broken" : false,
+  "database" : "SSB",
+  "transactional" : false,
+  "rangePartition" : false,
+  "partition_desc" : null,
+  "table_comment" : null
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.LINEORDER.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.LINEORDER.json
new file mode 100644
index 0000000000..0610c11787
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.LINEORDER.json
@@ -0,0 +1,115 @@
+{
+  "uuid" : "57dd77aa-53f1-7d88-a84c-f812d04abe59",
+  "last_modified" : 0,
+  "create_time" : 1699338319778,
+  "version" : "4.0.0.0",
+  "name" : "LINEORDER",
+  "columns" : [ {
+    "id" : "1",
+    "name" : "LO_ORDERKEY",
+    "datatype" : "bigint",
+    "case_sensitive_name" : "lo_orderkey"
+  }, {
+    "id" : "2",
+    "name" : "LO_LINENUMBER",
+    "datatype" : "bigint",
+    "case_sensitive_name" : "lo_linenumber"
+  }, {
+    "id" : "3",
+    "name" : "LO_CUSTKEY",
+    "datatype" : "integer",
+    "case_sensitive_name" : "lo_custkey"
+  }, {
+    "id" : "4",
+    "name" : "LO_PARTKEY",
+    "datatype" : "integer",
+    "case_sensitive_name" : "lo_partkey"
+  }, {
+    "id" : "5",
+    "name" : "LO_SUPPKEY",
+    "datatype" : "integer",
+    "case_sensitive_name" : "lo_suppkey"
+  }, {
+    "id" : "6",
+    "name" : "LO_ORDERDATE",
+    "datatype" : "date",
+    "case_sensitive_name" : "lo_orderdate"
+  }, {
+    "id" : "7",
+    "name" : "LO_ORDERPRIOTITY",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "lo_orderpriotity"
+  }, {
+    "id" : "8",
+    "name" : "LO_SHIPPRIOTITY",
+    "datatype" : "integer",
+    "case_sensitive_name" : "lo_shippriotity"
+  }, {
+    "id" : "9",
+    "name" : "LO_QUANTITY",
+    "datatype" : "bigint",
+    "case_sensitive_name" : "lo_quantity"
+  }, {
+    "id" : "10",
+    "name" : "LO_EXTENDEDPRICE",
+    "datatype" : "bigint",
+    "case_sensitive_name" : "lo_extendedprice"
+  }, {
+    "id" : "11",
+    "name" : "LO_ORDTOTALPRICE",
+    "datatype" : "bigint",
+    "comment" : "新的名",
+    "case_sensitive_name" : "lo_ordtotalprice"
+  }, {
+    "id" : "12",
+    "name" : "LO_DISCOUNT",
+    "datatype" : "bigint",
+    "case_sensitive_name" : "lo_discount"
+  }, {
+    "id" : "13",
+    "name" : "LO_REVENUE",
+    "datatype" : "bigint",
+    "case_sensitive_name" : "lo_revenue"
+  }, {
+    "id" : "14",
+    "name" : "LO_SUPPLYCOST",
+    "datatype" : "bigint",
+    "case_sensitive_name" : "lo_supplycost"
+  }, {
+    "id" : "15",
+    "name" : "LO_TAX",
+    "datatype" : "bigint",
+    "case_sensitive_name" : "lo_tax"
+  }, {
+    "id" : "16",
+    "name" : "LO_COMMITDATE",
+    "datatype" : "date",
+    "case_sensitive_name" : "lo_commitdate"
+  }, {
+    "id" : "17",
+    "name" : "LO_SHIPMODE",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "lo_shipmode"
+  } ],
+  "source_type" : 9,
+  "table_type" : "EXTERNAL",
+  "top" : false,
+  "increment_loading" : false,
+  "last_snapshot_path" : null,
+  "last_snapshot_size" : 0,
+  "snapshot_last_modified" : 0,
+  "query_hit_count" : 0,
+  "partition_column" : null,
+  "snapshot_partitions" : { },
+  "snapshot_partitions_info" : { },
+  "snapshot_total_rows" : 0,
+  "snapshot_partition_col" : null,
+  "selected_snapshot_partition_col" : null,
+  "temp_snapshot_path" : null,
+  "snapshot_has_broken" : false,
+  "database" : "SSB",
+  "transactional" : false,
+  "rangePartition" : false,
+  "partition_desc" : null,
+  "table_comment" : null
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.PART.json 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.PART.json
new file mode 100644
index 0000000000..e02a3272c1
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.PART.json
@@ -0,0 +1,74 @@
+{
+  "uuid" : "90938129-7a0d-310a-0192-3942d70c1b7f",
+  "last_modified" : 0,
+  "create_time" : 1699338320667,
+  "version" : "4.0.0.0",
+  "name" : "PART",
+  "columns" : [ {
+    "id" : "1",
+    "name" : "P_PARTKEY",
+    "datatype" : "integer",
+    "case_sensitive_name" : "p_partkey"
+  }, {
+    "id" : "2",
+    "name" : "P_NAME",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "p_name"
+  }, {
+    "id" : "3",
+    "name" : "P_MFGR",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "p_mfgr"
+  }, {
+    "id" : "4",
+    "name" : "P_CATEGORY",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "p_category"
+  }, {
+    "id" : "5",
+    "name" : "P_BRAND",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "p_brand"
+  }, {
+    "id" : "6",
+    "name" : "P_COLOR",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "p_color"
+  }, {
+    "id" : "7",
+    "name" : "P_TYPE",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "p_type"
+  }, {
+    "id" : "8",
+    "name" : "P_SIZE",
+    "datatype" : "integer",
+    "case_sensitive_name" : "p_size"
+  }, {
+    "id" : "9",
+    "name" : "P_CONTAINER",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "p_container"
+  } ],
+  "source_type" : 9,
+  "table_type" : "EXTERNAL",
+  "top" : false,
+  "increment_loading" : false,
+  "last_snapshot_path" : null,
+  "last_snapshot_size" : 0,
+  "snapshot_last_modified" : 0,
+  "query_hit_count" : 0,
+  "partition_column" : null,
+  "snapshot_partitions" : { },
+  "snapshot_partitions_info" : { },
+  "snapshot_total_rows" : 0,
+  "snapshot_partition_col" : null,
+  "selected_snapshot_partition_col" : null,
+  "temp_snapshot_path" : null,
+  "snapshot_has_broken" : false,
+  "database" : "SSB",
+  "transactional" : false,
+  "rangePartition" : false,
+  "partition_desc" : null,
+  "table_comment" : null
+}
\ No newline at end of file
diff --git 
a/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.SUPPLIER.json
 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.SUPPLIER.json
new file mode 100644
index 0000000000..006ee4a511
--- /dev/null
+++ 
b/src/examples/test_case_data/localmeta/metadata/test_jdbc/table/SSB.SUPPLIER.json
@@ -0,0 +1,64 @@
+{
+  "uuid" : "484c4bd1-5a83-e9d5-5fba-7467d721b719",
+  "last_modified" : 0,
+  "create_time" : 1699338321000,
+  "version" : "4.0.0.0",
+  "name" : "SUPPLIER",
+  "columns" : [ {
+    "id" : "1",
+    "name" : "S_SUPPKEY",
+    "datatype" : "integer",
+    "case_sensitive_name" : "s_suppkey"
+  }, {
+    "id" : "2",
+    "name" : "S_NAME",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "s_name"
+  }, {
+    "id" : "3",
+    "name" : "S_ADDRESS",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "s_address"
+  }, {
+    "id" : "4",
+    "name" : "S_CITY",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "s_city"
+  }, {
+    "id" : "5",
+    "name" : "S_NATION",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "s_nation"
+  }, {
+    "id" : "6",
+    "name" : "S_REGION",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "s_region"
+  }, {
+    "id" : "7",
+    "name" : "S_PHONE",
+    "datatype" : "varchar(4096)",
+    "case_sensitive_name" : "s_phone"
+  } ],
+  "source_type" : 9,
+  "table_type" : "EXTERNAL",
+  "top" : false,
+  "increment_loading" : false,
+  "last_snapshot_path" : null,
+  "last_snapshot_size" : 0,
+  "snapshot_last_modified" : 0,
+  "query_hit_count" : 0,
+  "partition_column" : null,
+  "snapshot_partitions" : { },
+  "snapshot_partitions_info" : { },
+  "snapshot_total_rows" : 0,
+  "snapshot_partition_col" : null,
+  "selected_snapshot_partition_col" : null,
+  "temp_snapshot_path" : null,
+  "snapshot_has_broken" : false,
+  "database" : "SSB",
+  "transactional" : false,
+  "rangePartition" : false,
+  "partition_desc" : null,
+  "table_comment" : null
+}
\ No newline at end of file
diff --git 
a/src/modeling-service/src/test/java/org/apache/kylin/rest/service/ProjectServiceTest.java
 
b/src/modeling-service/src/test/java/org/apache/kylin/rest/service/ProjectServiceTest.java
index a0f7244eb2..9f8265dc79 100644
--- 
a/src/modeling-service/src/test/java/org/apache/kylin/rest/service/ProjectServiceTest.java
+++ 
b/src/modeling-service/src/test/java/org/apache/kylin/rest/service/ProjectServiceTest.java
@@ -239,14 +239,14 @@ public class ProjectServiceTest extends 
NLocalFileMetadataTestCase {
     public void testGetReadableProjects() {
         
Mockito.doReturn(true).when(aclEvaluate).hasProjectAdminPermission(Mockito.any(ProjectInstance.class));
         List<ProjectInstance> projectInstances = 
projectService.getReadableProjects("", false);
-        Assert.assertEquals(30, projectInstances.size());
+        Assert.assertEquals(31, projectInstances.size());
     }
 
     @Test
     public void testGetAdminProjects() throws Exception {
         
Mockito.doReturn(true).when(aclEvaluate).hasProjectAdminPermission(Mockito.any(ProjectInstance.class));
         List<ProjectInstance> projectInstances = 
projectService.getAdminProjects();
-        Assert.assertEquals(30, projectInstances.size());
+        Assert.assertEquals(31, projectInstances.size());
     }
 
     @Test
@@ -260,7 +260,7 @@ public class ProjectServiceTest extends 
NLocalFileMetadataTestCase {
     public void testGetReadableProjectsHasNoPermissionProject() {
         
Mockito.doReturn(true).when(aclEvaluate).hasProjectAdminPermission(Mockito.any(ProjectInstance.class));
         List<ProjectInstance> projectInstances = 
projectService.getReadableProjects("", false);
-        Assert.assertEquals(30, projectInstances.size());
+        Assert.assertEquals(31, projectInstances.size());
 
     }
 
diff --git 
a/src/query-service/src/main/java/org/apache/kylin/rest/service/QueryService.java
 
b/src/query-service/src/main/java/org/apache/kylin/rest/service/QueryService.java
index bfec300c71..4ec19ef910 100644
--- 
a/src/query-service/src/main/java/org/apache/kylin/rest/service/QueryService.java
+++ 
b/src/query-service/src/main/java/org/apache/kylin/rest/service/QueryService.java
@@ -1248,6 +1248,24 @@ public class QueryService extends BasicService 
implements CacheSignatureQuerySup
         Map<TableMetaIdentify, TableMetaWithType> tableMap = 
constructTableMeta(schemaMetaData, targetModelTables);
         Map<ColumnMetaIdentify, ColumnMetaWithType> columnMap = 
constructTblColMeta(schemaMetaData, project,
                 targetModelColumns);
+        columnMap.forEach((identify, columnMetaWithType) -> {
+            TableMetaIdentify tableMetaIdentify = new 
TableMetaIdentify(identify.getTableSchema(),
+                    identify.getTableName());
+            val tableType = tableMap.get(tableMetaIdentify).getTABLE_TYPE();
+            if (tableType.equals("VIEW")) {
+                // Converts the model's column alias to a true column name
+                val modelManager = NDataModelManager.getInstance(getConfig(), 
project);
+                val model = 
modelManager.getDataModelDescByAlias(tableMetaIdentify.tableName);
+                // Set table name comment of this model view
+                if (!model.getDescription().isEmpty()) {
+                    
tableMap.get(tableMetaIdentify).setREMARKS(model.getDescription());
+                }
+                int colIdInMode = 
model.getColumnByColumnNameInModel(columnMetaWithType.getCOLUMN_NAME()).getId();
+                String fullyQualifiedName = 
model.getColRef(colIdInMode).getColumnWithTableAndSchema();
+                
columnMetaWithType.setFULLY_QUALIFIED_COLUMN_NAME(fullyQualifiedName);
+            }
+        });
+
         addColsToTblMeta(tableMap, columnMap);
 
         for (NDataModel model : models) {
diff --git 
a/src/query-service/src/test/java/org/apache/kylin/rest/service/AsyncQueryJobTest.java
 
b/src/query-service/src/test/java/org/apache/kylin/rest/service/AsyncQueryJobTest.java
index c6e0fb13e5..64b5f8ce32 100644
--- 
a/src/query-service/src/test/java/org/apache/kylin/rest/service/AsyncQueryJobTest.java
+++ 
b/src/query-service/src/test/java/org/apache/kylin/rest/service/AsyncQueryJobTest.java
@@ -247,7 +247,7 @@ public class AsyncQueryJobTest extends 
NLocalFileMetadataTestCase {
                 rawResourceMap.put(zipEntry.getName(), raw);
             }
         }
-        Assert.assertEquals(86, rawResourceMap.size());
+        Assert.assertEquals(87, rawResourceMap.size());
     }
 
     private void testKylinConfig(FileSystem workingFileSystem, FileStatus 
metaFileStatus) throws IOException {
diff --git 
a/src/query-service/src/test/java/org/apache/kylin/rest/service/QueryHistoryServiceTest.java
 
b/src/query-service/src/test/java/org/apache/kylin/rest/service/QueryHistoryServiceTest.java
index 883d14a1f2..426506435b 100644
--- 
a/src/query-service/src/test/java/org/apache/kylin/rest/service/QueryHistoryServiceTest.java
+++ 
b/src/query-service/src/test/java/org/apache/kylin/rest/service/QueryHistoryServiceTest.java
@@ -368,7 +368,7 @@ public class QueryHistoryServiceTest extends 
NLocalFileMetadataTestCase {
 
         // get all tables
         tableMap = queryHistoryService.getQueryHistoryTableMap(null);
-        Assert.assertEquals(30, tableMap.size());
+        Assert.assertEquals(31, tableMap.size());
 
         // not existing project
         tableMap = 
queryHistoryService.getQueryHistoryTableMap(Lists.newArrayList("not_existing_project"));
diff --git 
a/src/query-service/src/test/java/org/apache/kylin/rest/service/QueryServiceTest.java
 
b/src/query-service/src/test/java/org/apache/kylin/rest/service/QueryServiceTest.java
index fe74d64e22..f2a2bba3c1 100644
--- 
a/src/query-service/src/test/java/org/apache/kylin/rest/service/QueryServiceTest.java
+++ 
b/src/query-service/src/test/java/org/apache/kylin/rest/service/QueryServiceTest.java
@@ -1740,6 +1740,43 @@ public class QueryServiceTest extends 
NLocalFileMetadataTestCase {
         Assert.assertEquals(expectedMetaString, metaString);
     }
 
+    @Test
+    public void testMetaDataV2WithModelDescAsTableAlias() throws IOException {
+        overwriteSystemProp("kylin.query.auto-model-view-enabled", "true");
+        final List<TableMetaWithType> tableMetas = 
queryService.getMetadataV2("test_jdbc", null);
+        String metaString = tableMetas.toString();
+        File expectedMetaFile = new 
File("src/test/resources/ut_table_meta/testJdbcTableMetaV2");
+        String expectedMetaString = 
FileUtils.readFileToString(expectedMetaFile, Charset.defaultCharset());
+        Assert.assertEquals(expectedMetaString, metaString);
+        TableMetaWithType tableMetaWithType = tableMetas.stream()
+                .filter(t -> t.getTABLE_SCHEM().equalsIgnoreCase("test_jdbc"))
+                .filter(t -> 
t.getTABLE_NAME().equalsIgnoreCase("model_name_alias")).findFirst()
+                .orElseThrow(KylinRuntimeException::new);
+        String modelRemarks = tableMetaWithType.getREMARKS();
+        Assert.assertEquals("无名模型", modelRemarks);
+        ColumnMetaWithType fullQualifiedName = (ColumnMetaWithType) 
tableMetaWithType.getColumns().stream()
+                .filter(c -> 
c.getCOLUMN_NAME().equals("C_NAME")).findFirst().orElseThrow(KylinRuntimeException::new);
+        Assert.assertEquals("SSB.CUSTOMER.C_NAME", 
fullQualifiedName.getFULLY_QUALIFIED_COLUMN_NAME());
+
+        TableMetaWithType tableMetaWithNoAlias = tableMetas.stream()
+                .filter(t -> t.getTABLE_SCHEM().equalsIgnoreCase("test_jdbc"))
+                .filter(t -> 
t.getTABLE_NAME().equalsIgnoreCase("test")).findFirst()
+                .orElseThrow(KylinRuntimeException::new);
+        String modelWithNullRemarks = tableMetaWithNoAlias.getREMARKS();
+        Assert.assertNull(modelWithNullRemarks);
+
+        overwriteSystemProp("kylin.query.auto-model-view-enabled", "false");
+        final List<TableMetaWithType> tableMetasUabledModelView = 
queryService.getMetadataV2("test_jdbc", null);
+        List<TableMetaWithType> tableMetaWithType1 = 
tableMetasUabledModelView.stream()
+                .filter(t -> t.getTABLE_SCHEM().equalsIgnoreCase("test_jdbc"))
+                .filter(t -> 
t.getTABLE_NAME().equalsIgnoreCase("model_name_alias")).collect(Collectors.toList());
+        Assert.assertEquals(0, tableMetaWithType1.size());
+
+        updateProjectConfig("test_jdbc", "kylin.query.schema-cache-enabled", 
"true");
+        List<TableMetaWithType> metaWithTypeList = 
queryService.getMetadataV2("test_jdbc", null);
+        Assert.assertFalse(metaWithTypeList.isEmpty());
+    }
+
     @Test
     public void testDeepCopy() {
         final List<TableMetaWithType> tableMetas = 
queryService.getMetadataV2("default", null);
diff --git 
a/src/query-service/src/test/resources/ut_table_meta/testJdbcTableMetaV2 
b/src/query-service/src/test/resources/ut_table_meta/testJdbcTableMetaV2
new file mode 100644
index 0000000000..5a8b660659
--- /dev/null
+++ b/src/query-service/src/test/resources/ut_table_meta/testJdbcTableMetaV2
@@ -0,0 +1,949 @@
+[TableMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='CNDB
+, TABLE_NAME='EMPLOYEE
+, TABLE_TYPE='TABLE
+, REMARKS='null
+, TYPE_CAT='null
+, TYPE_SCHEM='null
+, TYPE_NAME='null
+, SELF_REFERENCING_COL_NAME='null
+, REF_GENERATION='null
+, columns=ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='CNDB
+, TABLE_NAME='EMPLOYEE
+, COLUMN_NAME='EMP_ID
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=1, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='CNDB
+, TABLE_NAME='EMPLOYEE
+, COLUMN_NAME='EMP_NAME
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=2, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='CNDB
+, TABLE_NAME='EMPLOYEE
+, COLUMN_NAME='EMP_DEPT
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=3, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+}, TableMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, TABLE_TYPE='TABLE
+, REMARKS='null
+, TYPE_CAT='null
+, TYPE_SCHEM='null
+, TYPE_NAME='null
+, SELF_REFERENCING_COL_NAME='null
+, REF_GENERATION='null
+, columns=ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_ORDERKEY
+, DATA_TYPE=-5, TYPE_NAME='BIGINT
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=1, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_LINENUMBER
+, DATA_TYPE=-5, TYPE_NAME='BIGINT
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=2, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_CUSTKEY
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=3, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_PARTKEY
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=4, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_SUPPKEY
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=5, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_ORDERDATE
+, DATA_TYPE=91, TYPE_NAME='DATE
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=6, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_ORDERPRIOTITY
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=7, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_SHIPPRIOTITY
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=8, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_QUANTITY
+, DATA_TYPE=-5, TYPE_NAME='BIGINT
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=9, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_EXTENDEDPRICE
+, DATA_TYPE=-5, TYPE_NAME='BIGINT
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=10, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_ORDTOTALPRICE
+, DATA_TYPE=-5, TYPE_NAME='BIGINT
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=11, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_DISCOUNT
+, DATA_TYPE=-5, TYPE_NAME='BIGINT
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=12, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_REVENUE
+, DATA_TYPE=-5, TYPE_NAME='BIGINT
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=13, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_SUPPLYCOST
+, DATA_TYPE=-5, TYPE_NAME='BIGINT
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=14, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_TAX
+, DATA_TYPE=-5, TYPE_NAME='BIGINT
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=15, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_COMMITDATE
+, DATA_TYPE=91, TYPE_NAME='DATE
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=16, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='LINEORDER
+, COLUMN_NAME='LO_SHIPMODE
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=17, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+}, TableMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='PART
+, TABLE_TYPE='TABLE
+, REMARKS='null
+, TYPE_CAT='null
+, TYPE_SCHEM='null
+, TYPE_NAME='null
+, SELF_REFERENCING_COL_NAME='null
+, REF_GENERATION='null
+, columns=ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='PART
+, COLUMN_NAME='P_PARTKEY
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=1, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='PART
+, COLUMN_NAME='P_NAME
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=2, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='PART
+, COLUMN_NAME='P_MFGR
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=3, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='PART
+, COLUMN_NAME='P_CATEGORY
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=4, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='PART
+, COLUMN_NAME='P_BRAND
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=5, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='PART
+, COLUMN_NAME='P_COLOR
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=6, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='PART
+, COLUMN_NAME='P_TYPE
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=7, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='PART
+, COLUMN_NAME='P_SIZE
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=8, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='PART
+, COLUMN_NAME='P_CONTAINER
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=9, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+}, TableMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, TABLE_TYPE='TABLE
+, REMARKS='null
+, TYPE_CAT='null
+, TYPE_SCHEM='null
+, TYPE_NAME='null
+, SELF_REFERENCING_COL_NAME='null
+, REF_GENERATION='null
+, columns=ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_DATEKEY
+, DATA_TYPE=91, TYPE_NAME='DATE
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=1, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_DATE
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=2, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_DAYOFWEEK
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=3, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_MONTH
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=4, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_YEAR
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=5, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_YEARMONTHNUM
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=6, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_YEARMONTH
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=7, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_DAYNUMINWEEK
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=8, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_DAYNUMINMONTH
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=9, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_DAYNUMINYEAR
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=10, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_MONTHNUMINYEAR
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=11, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_WEEKNUMINYEAR
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=12, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_SELLINGSEASON
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=13, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_LASTDAYINWEEKFL
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=14, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_LASTDAYINMONTHFL
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=15, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_HOLIDAYFL
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=16, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='DATES
+, COLUMN_NAME='D_WEEKDAYFL
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=17, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+}, TableMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='CUSTOMER
+, TABLE_TYPE='TABLE
+, REMARKS='null
+, TYPE_CAT='null
+, TYPE_SCHEM='null
+, TYPE_NAME='null
+, SELF_REFERENCING_COL_NAME='null
+, REF_GENERATION='null
+, columns=ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='CUSTOMER
+, COLUMN_NAME='C_CUSTKEY
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=1, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='CUSTOMER
+, COLUMN_NAME='C_NAME
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=2, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='CUSTOMER
+, COLUMN_NAME='C_ADDRESS
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=3, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='CUSTOMER
+, COLUMN_NAME='C_CITY
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=4, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='CUSTOMER
+, COLUMN_NAME='C_NATION
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=5, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='CUSTOMER
+, COLUMN_NAME='C_REGION
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=6, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='CUSTOMER
+, COLUMN_NAME='C_PHONE
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=7, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='CUSTOMER
+, COLUMN_NAME='C_MKTSEGMENT
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=8, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+}, TableMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='SUPPLIER
+, TABLE_TYPE='TABLE
+, REMARKS='null
+, TYPE_CAT='null
+, TYPE_SCHEM='null
+, TYPE_NAME='null
+, SELF_REFERENCING_COL_NAME='null
+, REF_GENERATION='null
+, columns=ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='SUPPLIER
+, COLUMN_NAME='S_SUPPKEY
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=1, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='SUPPLIER
+, COLUMN_NAME='S_NAME
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=2, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='SUPPLIER
+, COLUMN_NAME='S_ADDRESS
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=3, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='SUPPLIER
+, COLUMN_NAME='S_CITY
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=4, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='SUPPLIER
+, COLUMN_NAME='S_NATION
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=5, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='SUPPLIER
+, COLUMN_NAME='S_REGION
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=6, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='SSB
+, TABLE_NAME='SUPPLIER
+, COLUMN_NAME='S_PHONE
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=7, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+}, TableMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='test_jdbc
+, TABLE_NAME='model_name_alias
+, TABLE_TYPE='VIEW
+, REMARKS='无名模型
+, TYPE_CAT='null
+, TYPE_SCHEM='null
+, TYPE_NAME='null
+, SELF_REFERENCING_COL_NAME='null
+, REF_GENERATION='null
+, columns=ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='test_jdbc
+, TABLE_NAME='model_name_alias
+, COLUMN_NAME='C_NAME
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=1, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='test_jdbc
+, TABLE_NAME='model_name_alias
+, COLUMN_NAME='LO_SUPPKEY
+, DATA_TYPE=4, TYPE_NAME='INTEGER
+, COLUMN_SIZE=-1, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=-1, 
ORDINAL_POSITION=2, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+}, TableMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='test_jdbc
+, TABLE_NAME='test_emp
+, TABLE_TYPE='VIEW
+, REMARKS='员工model_view视图表
+, TYPE_CAT='null
+, TYPE_SCHEM='null
+, TYPE_NAME='null
+, SELF_REFERENCING_COL_NAME='null
+, REF_GENERATION='null
+, columns=ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='test_jdbc
+, TABLE_NAME='test_emp
+, COLUMN_NAME='EMP_NAME
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=1, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='test_jdbc
+, TABLE_NAME='test_emp
+, COLUMN_NAME='EMP_DEPT
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=2, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+}, TableMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='test_jdbc
+, TABLE_NAME='test
+, TABLE_TYPE='VIEW
+, REMARKS='null
+, TYPE_CAT='null
+, TYPE_SCHEM='null
+, TYPE_NAME='null
+, SELF_REFERENCING_COL_NAME='null
+, REF_GENERATION='null
+, columns=ColumnMeta{TABLE_CAT='defaultCatalog
+, TABLE_SCHEM='test_jdbc
+, TABLE_NAME='test
+, COLUMN_NAME='C_NAME
+, DATA_TYPE=12, TYPE_NAME='VARCHAR
+, COLUMN_SIZE=4096, BUFFER_LENGTH=-1, DECIMAL_DIGITS=0, NUM_PREC_RADIX=10, 
NULLABLE=1, REMARKS='null
+, COLUMN_DEF='null
+, SQL_DATA_TYPE=-1, SQL_DATETIME_SUB=-1, CHAR_OCTET_LENGTH=4096, 
ORDINAL_POSITION=1, IS_NULLABLE='YES
+, SCOPE_CATLOG='null
+, SCOPE_SCHEMA='null
+, SCOPE_TABLE='null
+, SOURCE_DATA_TYPE=-1, IS_AUTOINCREMENT='
+}
+}]
\ No newline at end of file


Reply via email to