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

yuqi4733 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/gravitino.git


The following commit(s) were added to refs/heads/main by this push:
     new a8def1bf67 [#3302][Sub-Task] StarRocks catalog web UI (#7798)
a8def1bf67 is described below

commit a8def1bf6781c4526b81e36289d230c96c6d808f
Author: taylor12805 <[email protected]>
AuthorDate: Tue Aug 5 17:49:40 2025 +0800

    [#3302][Sub-Task] StarRocks catalog web UI (#7798)
    
    ### What changes were proposed in this pull request?
    add StarRocks Catalog web UI Implement
    
    ### Why are the changes needed?
    To support StarRocks Catalog web UI.
    
    ### Does this PR introduce any user-facing change?
    Yes
    
    ---------
    
    Co-authored-by: taylor.fan <[email protected]>
---
 web/web/src/app/metalakes/metalake/MetalakeTree.js |  2 +
 web/web/src/lib/icons/iconify-icons.css            |  5 +++
 web/web/src/lib/icons/svg/starrocks.svg            | 23 ++++++++++
 web/web/src/lib/utils/initial.js                   | 49 ++++++++++++++++++++++
 4 files changed, 79 insertions(+)

diff --git a/web/web/src/app/metalakes/metalake/MetalakeTree.js 
b/web/web/src/app/metalakes/metalake/MetalakeTree.js
index dead6c3382..05fd1c9af0 100644
--- a/web/web/src/app/metalakes/metalake/MetalakeTree.js
+++ b/web/web/src/app/metalakes/metalake/MetalakeTree.js
@@ -71,6 +71,8 @@ const MetalakeTree = props => {
             return 'devicon:postgresql-wordmark'
           case 'jdbc-doris':
             return 'custom-icons-doris'
+          case 'jdbc-starrocks':
+            return 'custom-icons-starrocks'
           case 'lakehouse-paimon':
             return 'custom-icons-paimon'
           case 'lakehouse-hudi':
diff --git a/web/web/src/lib/icons/iconify-icons.css 
b/web/web/src/lib/icons/iconify-icons.css
index cb1c5b4386..728bb47099 100644
--- a/web/web/src/lib/icons/iconify-icons.css
+++ b/web/web/src/lib/icons/iconify-icons.css
@@ -18,6 +18,7 @@
  */
 
 .custom-icons-doris,
+.custom-icons-starrocks,
 .custom-icons-hive,
 .custom-icons-hudi,
 .custom-icons-oceanbase,
@@ -33,6 +34,10 @@
   background-image: url("data:image/svg+xml,%3Csvg 
xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512' width='512' 
height='512'%3E%3Cg fill-rule='evenodd'%3E%3Cpath fill='%2314a8c9' 
d='M177.5-.5h24q22.477 4.488 40 19.5A2984 2984 0 01306 84.5q23.81 30.358 11 
67a122 122 0 01-14 26 1561 1561 0 00-46.5 47.5q-6.906 5.4-15 2L134 
119.5q-29.48-41.033-6-86 17.649-27.408 49.5-34' opacity='.998'/%3E%3Cpath 
fill='%235168ac' d='M80.5 117.5a44.6 44.6 0 019 2.5L216 246.5q5.361 9.862-1 
19L89.5 391q [...]
 }
 
+.custom-icons-starrocks {
+  background-image: url('data:image/svg+xml,<%3Fxml version="1.0" 
encoding="utf-8"%3F><svg version="1.1" width="100" height="100" 
xmlns="http://www.w3.org/2000/svg";><style 
type="text/css">.st0{fill:%2301808F;}.st1{fill:%23FEBD02;}</style><g 
id="starrocks"><g><path class="st0" 
d="M11.8,26.4c-0.1,2.2,0.9,3.4,2.3,4.5c9,7.4,18,14.8,27,22.2c2.5,2.1,2.7,3.5,1,6.2c-4.4,6.7-8.8,13.4-13.2,20.1c-1.7,2.5-3.2,2.9-5.9,1.4c-2.8-1.6-5.6-3.2-8.4-4.8c-3.2-1.8-4.8-4.6-4.8-8.3c0-11.8,0-23.6,0-35.5C9.8,30.2
 [...]
+}
+
 .custom-icons-hive {
   width: 1.12em;
   background-image: url("data:image/svg+xml,%3Csvg 
xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1000 900' width='1000' 
height='900'%3E%3Cpath fill-rule='evenodd' stroke='%23fdee21' 
stroke-width='5.129' d='M596.797 
704.59v192.85h47.346v-88.632l9.767.183v88.45h47.881V704.59h-47.88v71.552h-9.768V704.59zm163.92
 0h-46.116v192.85h46.116zm7.55 0 36.429 
192.85h54.984l36.429-192.85h-48.951l-12.067 82.517c-1.006 3.16-4.402 3.16-5.009 
0l-12.06-82.52zm229.17 0h-91.538v192.85h91.538v-50.569l-50.89 [...]
diff --git a/web/web/src/lib/icons/svg/starrocks.svg 
b/web/web/src/lib/icons/svg/starrocks.svg
new file mode 100644
index 0000000000..f6fa78578d
--- /dev/null
+++ b/web/web/src/lib/icons/svg/starrocks.svg
@@ -0,0 +1,23 @@
+<?xml version="1.0" encoding="utf-8"?>
+<svg version="1.1" width="100" height="100" xmlns="http://www.w3.org/2000/svg";>
+<style type="text/css">
+       .st0{fill:#01808F;}
+       .st1{fill:#FEBD02;}
+</style>
+<g id="starrocks">
+       <g>
+               <path class="st0" 
d="M11.8,26.4c-0.1,2.2,0.9,3.4,2.3,4.5c9,7.4,18,14.8,27,22.2c2.5,2.1,2.7,3.5,1,6.2
+                       
c-4.4,6.7-8.8,13.4-13.2,20.1c-1.7,2.5-3.2,2.9-5.9,1.4c-2.8-1.6-5.6-3.2-8.4-4.8c-3.2-1.8-4.8-4.6-4.8-8.3c0-11.8,0-23.6,0-35.5
+                       C9.8,30.2,10.3,28.4,11.8,26.4z"/>
+               <path class="st0" 
d="M87.9,73.8c0.6-2.3-0.5-3.5-1.9-4.6c-9-7.4-17.9-14.7-26.8-22.1c-2.9-2.4-3.1-3.6-1.1-6.7
+                       
c4.3-6.6,8.7-13.2,13-19.8c1.7-2.6,3.3-2.9,6-1.4c2.8,1.6,5.6,3.2,8.3,4.8c3.2,1.8,4.7,4.5,4.7,8.2c0,11.9,0,23.7,0,35.6
+                       C90.2,69.9,89.6,71.9,87.9,73.8z"/>
+               <path class="st0" 
d="M67.1,56.8c0.6,0.4,17.3,14.1,17.5,14.3c2.4,2.2,2.2,4.1-0.6,5.8C76.8,81,57.3,92.1,54.8,93.6
+                       
c-3.2,1.9-6.4,1.9-9.6,0c-4.6-2.7-9.2-5.3-13.8-8c-2.2-1.3-2.2-2.7,0-3.9C42.3,75.5,53.1,69.2,64,63
+                       C66.5,61.6,68.2,60.1,67.1,56.8z"/>
+               <path class="st1" 
d="M32.9,43.2c-0.6-0.4-17.3-14.1-17.5-14.3c-2.4-2.2-2.2-4.1,0.6-5.8C23.2,19,42.7,7.9,45.2,6.4
+                       
c3.2-1.9,6.4-1.9,9.6,0c4.6,2.7,9.2,5.3,13.8,8c2.2,1.3,2.2,2.7,0,3.9C57.7,24.5,46.9,30.8,36,37C33.5,38.4,31.8,39.9,32.9,43.2z"
+                       />
+       </g>
+</g>
+</svg>
diff --git a/web/web/src/lib/utils/initial.js b/web/web/src/lib/utils/initial.js
index 6d6efe84b0..78a1fabe51 100644
--- a/web/web/src/lib/utils/initial.js
+++ b/web/web/src/lib/utils/initial.js
@@ -48,6 +48,34 @@ export const messagingProviders = [
 ]
 
 export const providers = [
+  {
+    label: 'StarRocks',
+    value: 'jdbc-starrocks',
+    defaultProps: [
+      {
+        key: 'jdbc-driver',
+        value: '',
+        required: true,
+        description: 'e.g. com.mysql.jdbc.Driver'
+      },
+      {
+        key: 'jdbc-url',
+        value: '',
+        required: true,
+        description: 'e.g. jdbc:mysql://localhost:9030'
+      },
+      {
+        key: 'jdbc-user',
+        value: '',
+        required: true
+      },
+      {
+        key: 'jdbc-password',
+        value: '',
+        required: true
+      }
+    ]
+  },
   {
     label: 'Apache Doris',
     value: 'jdbc-doris',
@@ -532,6 +560,22 @@ const relationalColumnTypeMap = {
     'timestamp_tz',
     'varchar'
   ],
+  'jdbc-starrocks': [
+    'binary',
+    'boolean',
+    'byte',
+    'char',
+    'date',
+    'decimal',
+    'double',
+    'float',
+    'integer',
+    'long',
+    'short',
+    'string',
+    'timestamp',
+    'varchar'
+  ],
   'jdbc-doris': [
     'boolean',
     'byte',
@@ -612,6 +656,11 @@ const relationalTablePropInfoMap = {
     allowDelete: true,
     allowAdd: true
   },
+  'jdbc-starrocks': {
+    reserved: [],
+    allowDelete: true,
+    allowAdd: true
+  },
   'jdbc-doris': {
     reserved: [],
     allowDelete: true,

Reply via email to