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,