Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: preliminary adaptation of gaussdb #12061

Closed
wants to merge 14 commits into from
Prev Previous commit
Next Next commit
gaussdb init
  • Loading branch information
shanzhuer committed May 11, 2024
commit 7ba87b1488a7aca0a0548837ad773fc5fde68dc0
2 changes: 1 addition & 1 deletion backend/api/lsp/completion.go
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ func (h *Handler) handleTextDocumentCompletion(ctx context.Context, _ *jsonrpc2.
switch engine {
case storepb.Engine_MYSQL, storepb.Engine_TIDB, storepb.Engine_MARIADB, storepb.Engine_OCEANBASE, storepb.Engine_CLICKHOUSE, storepb.Engine_STARROCKS, storepb.Engine_DORIS:
// Nothing.
case storepb.Engine_POSTGRES, storepb.Engine_REDSHIFT, storepb.Engine_RISINGWAVE:
case storepb.Engine_POSTGRES, storepb.Engine_REDSHIFT, storepb.Engine_RISINGWAVE, storepb.Engine_GAUSSDB:
// Nothing.
shanzhuer marked this conversation as resolved.
Show resolved Hide resolved
case storepb.Engine_ORACLE, storepb.Engine_DM, storepb.Engine_OCEANBASE_ORACLE, storepb.Engine_SNOWFLAKE, storepb.Engine_MSSQL:
default:
Expand Down
4 changes: 4 additions & 0 deletions backend/api/v1/common.go
Original file line number Diff line number Diff line change
Expand Up @@ -349,6 +349,8 @@ func convertToEngine(engine storepb.Engine) v1pb.Engine {
return v1pb.Engine_HIVE
case storepb.Engine_ELASTICSEARCH:
return v1pb.Engine_ELASTICSEARCH
case storepb.Engine_GAUSSDB:
return v1pb.Engine_GAUSSDB
}
return v1pb.Engine_ENGINE_UNSPECIFIED
}
Expand Down Expand Up @@ -397,6 +399,8 @@ func convertEngine(engine v1pb.Engine) storepb.Engine {
return storepb.Engine_HIVE
case v1pb.Engine_ELASTICSEARCH:
return storepb.Engine_ELASTICSEARCH
case v1pb.Engine_GAUSSDB:
return storepb.Engine_GAUSSDB
}
return storepb.Engine_ENGINE_UNSPECIFIED
}
Expand Down
2 changes: 2 additions & 0 deletions backend/api/v1/database_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -1169,6 +1169,8 @@ func (s *DatabaseService) getParserEngine(ctx context.Context, request *v1pb.Dif
engine = storepb.Engine_TIDB
case storepb.Engine_ORACLE, storepb.Engine_DM, storepb.Engine_OCEANBASE_ORACLE:
engine = storepb.Engine_ORACLE
case storepb.Engine_GAUSSDB:
engine = storepb.Engine_GAUSSDB
default:
return engine, status.Errorf(codes.InvalidArgument, fmt.Sprintf("invalid engine type %v", instance.Engine))
}
Expand Down
2 changes: 1 addition & 1 deletion backend/api/v1/instance_role_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -301,7 +301,7 @@ func validateRole(dbType storepb.Engine, upsert *db.DatabaseRoleUpsertMessage) e
return status.Errorf(codes.InvalidArgument, "Invalid role name, role name cannot be empty")
}
switch dbType {
case storepb.Engine_POSTGRES, storepb.Engine_RISINGWAVE:
case storepb.Engine_POSTGRES, storepb.Engine_RISINGWAVE, storepb.Engine_GAUSSDB:
if v := upsert.ConnectionLimit; v != nil && *v < int32(-1) {
return status.Errorf(codes.InvalidArgument, "Invalid connection limit, it should greater than or equal to -1")
}
Expand Down
2 changes: 1 addition & 1 deletion backend/api/v1/rollout_service_task.go
Original file line number Diff line number Diff line change
Expand Up @@ -802,7 +802,7 @@ func getCreateDatabaseStatement(dbType storepb.Engine, c *storepb.PlanConfig_Cre
return fmt.Sprintf("CREATE DATABASE `%s` CHARACTER SET %s COLLATE %s;", databaseName, c.CharacterSet, c.Collation), nil
case storepb.Engine_MSSQL:
return fmt.Sprintf(`CREATE DATABASE "%s";`, databaseName), nil
case storepb.Engine_POSTGRES:
case storepb.Engine_POSTGRES, storepb.Engine_GAUSSDB:
// On Cloud RDS, the data source role isn't the actual superuser with sudo privilege.
// We need to grant the database owner role to the data source admin so that Bytebase can have permission for the database using the data source admin.
if adminDatasourceUser != "" && c.Owner != adminDatasourceUser {
Expand Down
2 changes: 1 addition & 1 deletion backend/api/v1/sql_service.go
Original file line number Diff line number Diff line change
Expand Up @@ -1550,7 +1550,7 @@ func (*SQLService) DifferPreview(_ context.Context, request *v1pb.DifferPreviewR
// StringifyMetadata returns the stringified schema of the given metadata.
func (*SQLService) StringifyMetadata(_ context.Context, request *v1pb.StringifyMetadataRequest) (*v1pb.StringifyMetadataResponse, error) {
switch request.Engine {
case v1pb.Engine_MYSQL, v1pb.Engine_OCEANBASE, v1pb.Engine_POSTGRES, v1pb.Engine_TIDB, v1pb.Engine_ORACLE:
case v1pb.Engine_MYSQL, v1pb.Engine_OCEANBASE, v1pb.Engine_POSTGRES, v1pb.Engine_TIDB, v1pb.Engine_ORACLE, v1pb.Engine_GAUSSDB:
default:
return nil, status.Errorf(codes.InvalidArgument, "unsupported engine: %v", request.Engine)
}
Expand Down
4 changes: 2 additions & 2 deletions backend/api/v1/sql_service_export_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ func getSQLStatementPrefix(engine storepb.Engine, resourceList []base.SchemaReso
switch engine {
case storepb.Engine_MYSQL, storepb.Engine_MARIADB, storepb.Engine_TIDB, storepb.Engine_OCEANBASE, storepb.Engine_SPANNER:
escapeQuote = "`"
case storepb.Engine_CLICKHOUSE, storepb.Engine_MSSQL, storepb.Engine_ORACLE, storepb.Engine_OCEANBASE_ORACLE, storepb.Engine_DM, storepb.Engine_POSTGRES, storepb.Engine_REDSHIFT, storepb.Engine_SQLITE, storepb.Engine_SNOWFLAKE:
case storepb.Engine_CLICKHOUSE, storepb.Engine_MSSQL, storepb.Engine_ORACLE, storepb.Engine_OCEANBASE_ORACLE, storepb.Engine_DM, storepb.Engine_POSTGRES, storepb.Engine_REDSHIFT, storepb.Engine_SQLITE, storepb.Engine_SNOWFLAKE, storepb.Engine_GAUSSDB:
// ClickHouse takes both double-quotes or backticks.
escapeQuote = "\""
default:
Expand Down Expand Up @@ -330,7 +330,7 @@ func extractResourceList(ctx context.Context, storeInstance *store.Store, engine
result = append(result, resource)
}
return result, nil
case storepb.Engine_POSTGRES, storepb.Engine_REDSHIFT:
case storepb.Engine_POSTGRES, storepb.Engine_REDSHIFT, storepb.Engine_GAUSSDB:
list, err := base.ExtractResourceList(engine, databaseName, "public", statement)
if err != nil {
return nil, status.Errorf(codes.Internal, "failed to extract resource list: %s", err.Error())
Expand Down
2 changes: 1 addition & 1 deletion backend/api/v1/sql_service_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
// IsSQLReviewSupported checks the engine type if SQL review supports it.
func IsSQLReviewSupported(dbType storepb.Engine) bool {
switch dbType {
case storepb.Engine_POSTGRES, storepb.Engine_MYSQL, storepb.Engine_TIDB, storepb.Engine_MARIADB, storepb.Engine_ORACLE, storepb.Engine_OCEANBASE_ORACLE, storepb.Engine_OCEANBASE, storepb.Engine_SNOWFLAKE, storepb.Engine_DM, storepb.Engine_MSSQL:
case storepb.Engine_POSTGRES, storepb.Engine_MYSQL, storepb.Engine_TIDB, storepb.Engine_MARIADB, storepb.Engine_ORACLE, storepb.Engine_OCEANBASE_ORACLE, storepb.Engine_OCEANBASE, storepb.Engine_SNOWFLAKE, storepb.Engine_DM, storepb.Engine_MSSQL, storepb.Engine_GAUSSDB:
return true
default:
return false
Expand Down
2 changes: 1 addition & 1 deletion backend/component/dbfactory/dbfactory.go
Original file line number Diff line number Diff line change
Expand Up @@ -123,7 +123,7 @@ func (d *DBFactory) GetDataSourceDriver(ctx context.Context, instance *store.Ins
case storepb.Engine_MYSQL, storepb.Engine_TIDB, storepb.Engine_MARIADB, storepb.Engine_OCEANBASE:
// TODO(d): use maria mysqlbinlog for MariaDB.
dbBinDir = d.mysqlBinDir
case storepb.Engine_POSTGRES, storepb.Engine_RISINGWAVE:
case storepb.Engine_POSTGRES, storepb.Engine_RISINGWAVE, storepb.Engine_GAUSSDB:
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

GaussDB doesn't use pgBinDir actually

dbBinDir = d.pgBinDir
case storepb.Engine_MONGODB:
dbBinDir = d.mongoBinDir
Expand Down
2 changes: 1 addition & 1 deletion backend/plugin/advisor/catalog/walk_through.go
Original file line number Diff line number Diff line change
Expand Up @@ -221,7 +221,7 @@ func (d *DatabaseState) WalkThrough(stmt string) error {
case storepb.Engine_MYSQL, storepb.Engine_MARIADB, storepb.Engine_OCEANBASE:
err := d.mysqlWalkThrough(stmt)
return err
case storepb.Engine_POSTGRES:
case storepb.Engine_POSTGRES, storepb.Engine_GAUSSDB:
if err := d.pgWalkThrough(stmt); err != nil {
if d.ctx.CheckIntegrity {
return err
Expand Down
2 changes: 2 additions & 0 deletions backend/plugin/advisor/db/db.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,4 +25,6 @@ const (
MSSQL Type = "MSSQL"
// DM is the database type for DM.
DM Type = "DM"
// GAUSSDB is the database type for GAUSSDB.
GAUSSDB Type = "GAUSSDB"
)
1 change: 1 addition & 0 deletions backend/plugin/advisor/generator/postgresql.template
Original file line number Diff line number Diff line change
Expand Up @@ -17,6 +17,7 @@ var (

func init() {
advisor.Register(storepb.Engine_POSTGRES, advisor.%AdvisorType, &%AdvisorName{})
advisor.Register(storepb.Engine_GAUSSDB, advisor.%AdvisorType, &%AdvisorName{})
}

// %AdvisorName is the advisor checking for %AdvisorComment
Expand Down
2 changes: 1 addition & 1 deletion backend/plugin/advisor/sql_review.go
Original file line number Diff line number Diff line change
Expand Up @@ -487,7 +487,7 @@ func syntaxCheck(statement string, checkContext SQLReviewCheckContext) (any, []A
return tidbSyntaxCheck(statement)
case storepb.Engine_MYSQL, storepb.Engine_MARIADB, storepb.Engine_OCEANBASE:
return mysqlSyntaxCheck(statement)
case storepb.Engine_POSTGRES:
case storepb.Engine_POSTGRES, storepb.Engine_GAUSSDB:
return postgresSyntaxCheck(statement)
case storepb.Engine_ORACLE, storepb.Engine_OCEANBASE_ORACLE:
return oracleSyntaxCheck(statement)
Expand Down
1 change: 1 addition & 0 deletions backend/plugin/parser/pg/completion.go
Original file line number Diff line number Diff line change
Expand Up @@ -30,6 +30,7 @@ func init() {
base.RegisterCompleteFunc(store.Engine_OCEANBASE_ORACLE, Completion)
base.RegisterCompleteFunc(store.Engine_SNOWFLAKE, Completion)
base.RegisterCompleteFunc(store.Engine_MSSQL, Completion)
base.RegisterCompleteFunc(store.Engine_GAUSSDB, Completion)
}

// Completion is the entry point of PostgreSQL code completion.
Expand Down
6 changes: 3 additions & 3 deletions backend/runner/plancheck/executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ type Executor interface {

func isStatementTypeCheckSupported(dbType storepb.Engine) bool {
switch dbType {
case storepb.Engine_POSTGRES, storepb.Engine_TIDB, storepb.Engine_MYSQL, storepb.Engine_MARIADB, storepb.Engine_OCEANBASE:
case storepb.Engine_POSTGRES, storepb.Engine_TIDB, storepb.Engine_MYSQL, storepb.Engine_MARIADB, storepb.Engine_OCEANBASE, storepb.Engine_GAUSSDB:
return true
default:
return false
Expand All @@ -42,7 +42,7 @@ func isStatementTypeCheckSupported(dbType storepb.Engine) bool {

func isStatementAdviseSupported(dbType storepb.Engine) bool {
switch dbType {
case storepb.Engine_MYSQL, storepb.Engine_TIDB, storepb.Engine_POSTGRES, storepb.Engine_ORACLE, storepb.Engine_OCEANBASE_ORACLE, storepb.Engine_OCEANBASE, storepb.Engine_SNOWFLAKE, storepb.Engine_MSSQL:
case storepb.Engine_MYSQL, storepb.Engine_TIDB, storepb.Engine_POSTGRES, storepb.Engine_ORACLE, storepb.Engine_OCEANBASE_ORACLE, storepb.Engine_OCEANBASE, storepb.Engine_SNOWFLAKE, storepb.Engine_MSSQL, storepb.Engine_GAUSSDB:
return true
default:
return false
Expand All @@ -51,7 +51,7 @@ func isStatementAdviseSupported(dbType storepb.Engine) bool {

func isStatementReportSupported(dbType storepb.Engine) bool {
switch dbType {
case storepb.Engine_POSTGRES, storepb.Engine_MYSQL, storepb.Engine_OCEANBASE, storepb.Engine_ORACLE, storepb.Engine_OCEANBASE_ORACLE:
case storepb.Engine_POSTGRES, storepb.Engine_MYSQL, storepb.Engine_OCEANBASE, storepb.Engine_ORACLE, storepb.Engine_OCEANBASE_ORACLE, storepb.Engine_GAUSSDB:
return true
default:
return false
Expand Down
4 changes: 2 additions & 2 deletions backend/runner/plancheck/statement_report_executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -116,7 +116,7 @@ func (e *StatementReportExecutor) runForDatabaseTarget(ctx context.Context, conf
renderedStatement := utils.RenderStatement(statement, materials)

switch instance.Engine {
case storepb.Engine_POSTGRES:
case storepb.Engine_POSTGRES, storepb.Engine_GAUSSDB:
driver, err := e.dbFactory.GetAdminDatabaseDriver(ctx, instance, database, db.ConnectionContext{})
if err != nil {
return nil, err
Expand Down Expand Up @@ -266,7 +266,7 @@ func (e *StatementReportExecutor) runForDatabaseGroupTarget(ctx context.Context,
renderedStatement := utils.RenderStatement(statement, materials)
stmtResults, err := func() ([]*storepb.PlanCheckRunResult_Result, error) {
switch instance.Engine {
case storepb.Engine_POSTGRES:
case storepb.Engine_POSTGRES, storepb.Engine_GAUSSDB:
driver, err := e.dbFactory.GetAdminDatabaseDriver(ctx, instance, database, db.ConnectionContext{})
if err != nil {
return nil, err
Expand Down
4 changes: 2 additions & 2 deletions backend/runner/plancheck/statement_type_executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,7 @@ func (e *StatementTypeExecutor) runForDatabaseTarget(ctx context.Context, config

var results []*storepb.PlanCheckRunResult_Result
switch instance.Engine {
case storepb.Engine_POSTGRES, storepb.Engine_RISINGWAVE:
case storepb.Engine_POSTGRES, storepb.Engine_RISINGWAVE, storepb.Engine_GAUSSDB:
checkResults, err := postgresqlStatementTypeCheck(renderedStatement)
if err != nil {
return nil, err
Expand Down Expand Up @@ -295,7 +295,7 @@ func (e *StatementTypeExecutor) runForDatabaseGroupTarget(ctx context.Context, c
stmtResults, err := func() ([]*storepb.PlanCheckRunResult_Result, error) {
var results []*storepb.PlanCheckRunResult_Result
switch instance.Engine {
case storepb.Engine_POSTGRES, storepb.Engine_RISINGWAVE:
case storepb.Engine_POSTGRES, storepb.Engine_RISINGWAVE, storepb.Engine_GAUSSDB:
checkResults, err := postgresqlStatementTypeCheck(renderedStatement)
if err != nil {
return nil, err
Expand Down
2 changes: 1 addition & 1 deletion backend/runner/taskrun/database_create_executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -427,7 +427,7 @@ func getConnectionStatement(dbType storepb.Engine, databaseName string) (string,
return fmt.Sprintf("USE `%s`;\n", databaseName), nil
case storepb.Engine_MSSQL:
return fmt.Sprintf(`USE "%s";\n`, databaseName), nil
case storepb.Engine_POSTGRES, storepb.Engine_RISINGWAVE:
case storepb.Engine_POSTGRES, storepb.Engine_RISINGWAVE, storepb.Engine_GAUSSDB:
return fmt.Sprintf("\\connect \"%s\";\n", databaseName), nil
case storepb.Engine_CLICKHOUSE:
return fmt.Sprintf("USE `%s`;\n", databaseName), nil
Expand Down
2 changes: 1 addition & 1 deletion backend/runner/taskrun/executor.go
Original file line number Diff line number Diff line change
Expand Up @@ -225,7 +225,7 @@ func executeMigration(
switch task.Type {
case api.TaskDatabaseSchemaUpdate, api.TaskDatabaseDataUpdate:
switch instance.Engine {
case storepb.Engine_MYSQL, storepb.Engine_TIDB, storepb.Engine_OCEANBASE, storepb.Engine_STARROCKS, storepb.Engine_DORIS, storepb.Engine_POSTGRES, storepb.Engine_REDSHIFT, storepb.Engine_RISINGWAVE, storepb.Engine_ORACLE, storepb.Engine_DM, storepb.Engine_OCEANBASE_ORACLE:
case storepb.Engine_MYSQL, storepb.Engine_TIDB, storepb.Engine_OCEANBASE, storepb.Engine_STARROCKS, storepb.Engine_DORIS, storepb.Engine_POSTGRES, storepb.Engine_REDSHIFT, storepb.Engine_RISINGWAVE, storepb.Engine_ORACLE, storepb.Engine_DM, storepb.Engine_OCEANBASE_ORACLE, storepb.Engine_GAUSSDB:
opts.ChunkedSubmission = true
opts.UpdateExecutionStatus = func(detail *v1pb.TaskRun_ExecutionDetail) {
stateCfg.TaskRunExecutionStatuses.Store(taskRunUID,
Expand Down
2 changes: 1 addition & 1 deletion backend/runner/utils/sdl_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ func ComputeDatabaseSchemaDiff(ctx context.Context, instance *store.InstanceMess

var engine storepb.Engine
switch instance.Engine {
case storepb.Engine_POSTGRES, storepb.Engine_RISINGWAVE:
case storepb.Engine_POSTGRES, storepb.Engine_RISINGWAVE, storepb.Engine_GAUSSDB:
engine = storepb.Engine_POSTGRES
case storepb.Engine_MYSQL, storepb.Engine_TIDB, storepb.Engine_MARIADB, storepb.Engine_OCEANBASE:
engine = storepb.Engine_MYSQL
Expand Down
4 changes: 2 additions & 2 deletions backend/server/onboard.go
Original file line number Diff line number Diff line change
Expand Up @@ -337,7 +337,7 @@ func getSampleSQLReviewPolicy() *storepb.SQLReviewPolicy {
for _, e := range []storepb.Engine{
storepb.Engine_MYSQL, storepb.Engine_TIDB, storepb.Engine_POSTGRES,
storepb.Engine_ORACLE, storepb.Engine_OCEANBASE_ORACLE, storepb.Engine_OCEANBASE,
storepb.Engine_SNOWFLAKE, storepb.Engine_MSSQL, storepb.Engine_MARIADB,
storepb.Engine_SNOWFLAKE, storepb.Engine_MSSQL, storepb.Engine_MARIADB, storepb.Engine_GAUSSDB,
} {
ruleList = append(ruleList, &storepb.SQLReviewRule{
Type: string(advisor.SchemaRuleColumnNotNull),
Expand All @@ -351,7 +351,7 @@ func getSampleSQLReviewPolicy() *storepb.SQLReviewPolicy {
for _, e := range []storepb.Engine{
storepb.Engine_MYSQL, storepb.Engine_TIDB, storepb.Engine_POSTGRES,
storepb.Engine_OCEANBASE, storepb.Engine_SNOWFLAKE, storepb.Engine_MSSQL,
storepb.Engine_MARIADB,
storepb.Engine_MARIADB, storepb.Engine_GAUSSDB,
} {
ruleList = append(ruleList, &storepb.SQLReviewRule{
Type: string(advisor.SchemaRuleTableDropNamingConvention),
Expand Down
2 changes: 1 addition & 1 deletion backend/sql-server/advise.go
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ func (s *Server) registerAdvisorRoutes(g *echo.Group) {
// @Tags SQL review
// @Produce json
// @Param statement body string true "The SQL statement."
// @Param databaseType body string true "The database type." Enums(MYSQL, POSTGRES, TIDB, OCEANBASE, SNOWFLAKE, MSSQL)
// @Param databaseType body string true "The database type." Enums(MYSQL, POSTGRES, TIDB, OCEANBASE, SNOWFLAKE, MSSQL, GAUSSDB)
// @Param templateId body string false "The SQL check template id. Required if the config is not specified." Enums(bb.sql-review.prod, bb.sql-review.dev)
// @Param override body string false "The SQL check config override string in YAML format. Check https://github.com/bytebase/bytebase/tree/main/backend/plugin/advisor/config/sql-review.override.yaml for example. Required if the template is not specified."
// @Success 200 {array} advisor.Advice
Expand Down
2 changes: 2 additions & 0 deletions backend/utils/database_group.go
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,8 @@ func ConvertDatabaseToParserEngineType(engine storepb.Engine) (storepb.Engine, e
return storepb.Engine_MARIADB, nil
case storepb.Engine_OCEANBASE:
return storepb.Engine_OCEANBASE, nil
case storepb.Engine_GAUSSDB:
return storepb.Engine_GAUSSDB, nil
}
return storepb.Engine_ENGINE_UNSPECIFIED, errors.Errorf("unsupported engine type %q", engine)
}
Expand Down
Binary file added frontend/src/assets/db-gaussdb.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Original file line number Diff line number Diff line change
Expand Up @@ -99,7 +99,9 @@
</template>
</i18n-t>
</template>
<template v-else-if="props.engine === Engine.POSTGRES">
<template v-else-if="props.engine === Engine.POSTGRES
||props.engine === Engine.GAUSSDB
">
<BBAttention class="my-3" type="warning">
{{ $t("instance.sentence.create-user-example.postgresql.warn") }}
</BBAttention>
Expand Down Expand Up @@ -356,6 +358,7 @@ GRANT ALL PRIVILEGES ON FUTURE SESSION POLICYS IN DATABASE {{YOUR_DB_NAME}} TO R
GRANT ALL PRIVILEGES ON PIPE {{PIPE_NAME}} IN DATABASE {{YOUR_DB_NAME}} TO ROLE BYTEBASE;
`;
case Engine.RISINGWAVE:
case Engine.GAUSSDB:
case Engine.POSTGRES:
if (
props.authenticationType ===
Expand Down Expand Up @@ -507,6 +510,7 @@ GRANT ALL PRIVILEGES ON FUTURE SESSION POLICYS IN DATABASE {{YOUR_DB_NAME}} TO R
GRANT ALL PRIVILEGES ON PIPE {{PIPE_NAME}} IN DATABASE {{YOUR_DB_NAME}} TO ROLE BYTEBASE_READER;
`;
case Engine.RISINGWAVE:
case Engine.GAUSSDB:
case Engine.POSTGRES:
if (
props.authenticationType ===
Expand Down
1 change: 1 addition & 0 deletions frontend/src/components/InstanceForm/constants.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ export const EngineIconPath: Record<number, string> = {
"@/assets/db-elasticsearch.svg",
import.meta.url
).href,
[Engine.GAUSSDB]: new URL("@/assets/db-gaussdb.png", import.meta.url).href,
};

export const MongoDBConnectionStringSchemaList = [
Expand Down
1 change: 1 addition & 0 deletions frontend/src/components/MonacoEditor/sqlFormatter.ts
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@ const convertDialectToFormatterLanguage = (
if (dialect === "MYSQL" || dialect === "TIDB" || dialect === "OCEANBASE")
return "mysql";
if (dialect === "POSTGRES") return "postgresql";
if (dialect === "GAUSSDB") return "postgresql";
if (dialect === "SNOWFLAKE") return "snowflake";
return "sql";
};
Expand Down
3 changes: 2 additions & 1 deletion frontend/src/locales/sql-review/en-US.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
"mssql": "SQL Server",
"dm": "DM",
"mariadb": "MariaDB",
"oceanbase_oracle": "OceanBase (Oracle)"
"oceanbase_oracle": "OceanBase (Oracle)",
"gaussdb": "GaussDB",
},
"category": {
"engine": "Engine",
Expand Down
5 changes: 3 additions & 2 deletions frontend/src/locales/sql-review/zh-CN.json
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,8 @@
"mssql": "SQL Server",
"dm": "DM",
"mariadb": "MariaDB",
"oceanbase_oracle": "OceanBase (Oracle)"
"oceanbase_oracle": "OceanBase (Oracle)",
"gaussdb": "GaussDB",
},
"category": {
"engine": "引擎",
Expand Down Expand Up @@ -623,4 +624,4 @@
"warning": "警告",
"disabled": "禁用"
}
}
}
9 changes: 9 additions & 0 deletions frontend/src/types/instance.ts
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ export const EngineTypeList = [
"OCEANBASE",
"DM",
"RISINGWAVE",
"GAUSSDB",
] as const;

export type EngineType = (typeof EngineTypeList)[number];
Expand Down Expand Up @@ -56,6 +57,8 @@ export function convertEngineType(type: EngineType): Engine {
return Engine.DM;
case "RISINGWAVE":
return Engine.RISINGWAVE;
case "GAUSSDB":
return Engine.GAUSSDB;
}
return Engine.ENGINE_UNSPECIFIED;
}
Expand Down Expand Up @@ -96,6 +99,8 @@ export function defaultCharset(type: EngineType): string {
return "UNICODE";
case "RISINGWAVE":
return "UTF8";
case "GAUSSDB":
return "UTF8";
}
}

Expand Down Expand Up @@ -131,6 +136,8 @@ export function engineName(type: EngineType): string {
return "DM";
case "RISINGWAVE":
return "RisingWave";
case "GAUSSDB":
return "GaussDB";
}
}

Expand Down Expand Up @@ -164,6 +171,8 @@ export function defaultCollation(type: EngineType): string {
return "";
case "DM":
return "BINARY_CI";
case "GAUSSDB":
return "";
}
}

Expand Down
Loading