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 ddl tested
  • Loading branch information
shanzhuer committed May 21, 2024
commit 2eba927f9ba42a6795f2022ad38693ccdb2affc7
4 changes: 4 additions & 0 deletions backend/api/v1/rollout_service_task.go
Original file line number Diff line number Diff line change
Expand Up @@ -772,6 +772,10 @@ func checkCharacterSetCollationOwner(dbType storepb.Engine, characterSet, collat
if owner == "" {
return errors.Errorf("database owner is required for Redshift")
}
case storepb.Engine_GAUSSDB:
if owner == "" {
return errors.Errorf("database owner is required for GaussDB")
}
case storepb.Engine_RISINGWAVE:
if characterSet != "" {
return errors.Errorf("RisingWave does not support character set, but got %s", characterSet)
Expand Down
2 changes: 1 addition & 1 deletion backend/api/v1/sql_service_export_utils.go
Original file line number Diff line number Diff line change
Expand Up @@ -188,7 +188,7 @@ func convertValueToBytesInSQL(engine storepb.Engine, value *v1pb.RowValue) []byt

func escapeSQLString(engine storepb.Engine, v []byte) []byte {
switch engine {
case storepb.Engine_POSTGRES, storepb.Engine_REDSHIFT:
case storepb.Engine_POSTGRES, storepb.Engine_REDSHIFT, storepb.Engine_GAUSSDB:
escapedStr := pq.QuoteLiteral(string(v))
return []byte(escapedStr)
default:
Expand Down
1 change: 1 addition & 0 deletions backend/plugin/parser/pg/masking.go
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ import (
func init() {
base.RegisterGetMaskedFieldsFunc(storepb.Engine_POSTGRES, GetMaskedFields)
base.RegisterGetMaskedFieldsFunc(storepb.Engine_REDSHIFT, GetMaskedFields)
base.RegisterGetMaskedFieldsFunc(storepb.Engine_GAUSSDB, GetMaskedFields)
base.RegisterGetMaskedFieldsFunc(storepb.Engine_RISINGWAVE, GetMaskedFields)
}

Expand Down
2 changes: 2 additions & 0 deletions backend/plugin/parser/pg/query.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,9 +21,11 @@ import (
func init() {
base.RegisterQueryValidator(storepb.Engine_POSTGRES, validateQuery)
base.RegisterQueryValidator(storepb.Engine_REDSHIFT, validateQuery)
base.RegisterQueryValidator(storepb.Engine_GAUSSDB, validateQuery)
base.RegisterQueryValidator(storepb.Engine_RISINGWAVE, validateQuery)
base.RegisterExtractResourceListFunc(storepb.Engine_POSTGRES, ExtractResourceList)
base.RegisterExtractResourceListFunc(storepb.Engine_REDSHIFT, ExtractResourceList)
base.RegisterExtractResourceListFunc(storepb.Engine_GAUSSDB, ExtractResourceList)
base.RegisterExtractResourceListFunc(storepb.Engine_RISINGWAVE, ExtractResourceList)
}

Expand Down
1 change: 1 addition & 0 deletions backend/plugin/parser/pg/query_span.go
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,7 @@ func init() {
base.RegisterGetQuerySpan(storepb.Engine_POSTGRES, GetQuerySpan)
base.RegisterGetQuerySpan(storepb.Engine_REDSHIFT, GetQuerySpan)
base.RegisterGetQuerySpan(storepb.Engine_RISINGWAVE, GetQuerySpan)
base.RegisterGetQuerySpan(storepb.Engine_GAUSSDB, GetQuerySpan)
}

// GetQuerySpan returns the query span for the given statement.
Expand Down
1 change: 1 addition & 0 deletions backend/plugin/parser/pg/split.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@ import (
func init() {
base.RegisterSplitterFunc(storepb.Engine_POSTGRES, SplitSQL)
base.RegisterSplitterFunc(storepb.Engine_REDSHIFT, SplitSQL)
base.RegisterSplitterFunc(storepb.Engine_GAUSSDB, SplitSQL)
base.RegisterSplitterFunc(storepb.Engine_RISINGWAVE, SplitSQL)
}

Expand Down
1 change: 1 addition & 0 deletions frontend/src/components/ColumnDataTable/index.vue
Original file line number Diff line number Diff line change
Expand Up @@ -96,6 +96,7 @@ const showSensitiveColumn = computed(() => {
engine.value === Engine.TIDB ||
engine.value === Engine.POSTGRES ||
engine.value === Engine.REDSHIFT ||
engine.value === Engine.GAUSSDB ||
engine.value === Engine.ORACLE ||
engine.value === Engine.SNOWFLAKE ||
engine.value === Engine.MSSQL ||
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -119,7 +119,7 @@
<label for="charset" class="textlabel">
{{
selectedInstance.engine === Engine.POSTGRES ||
selectedInstance.engine === Engine.REDSHIFT
selectedInstance.engine === Engine.REDSHIFT || selectedInstance.engine === Engine.GAUSSDB
? $t("db.encoding")
: $t("db.character-set")
}}</label
Expand Down Expand Up @@ -300,7 +300,7 @@ const requireDatabaseOwnerName = computed((): boolean => {
if (instance.uid === String(UNKNOWN_ID)) {
return false;
}
return [Engine.POSTGRES, Engine.REDSHIFT].includes(instance.engine);
return [Engine.POSTGRES, Engine.REDSHIFT, Engine.GAUSSDB].includes(instance.engine);
});

const validDatabaseOwnerName = computed((): boolean => {
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -259,6 +259,7 @@ const hasSchemaProperty = computed(() => {
databaseEngine.value === Engine.DM ||
databaseEngine.value === Engine.MSSQL ||
databaseEngine.value === Engine.REDSHIFT ||
databaseEngine.value === Engine.GAUSSDB ||
databaseEngine.value === Engine.RISINGWAVE
);
});
Expand Down
2 changes: 1 addition & 1 deletion frontend/src/components/InstanceForm/specs.ts
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ export const useInstanceSpecs = (
const showDatabase = computed((): boolean => {
return (
(basicInfo.value.engine === Engine.POSTGRES ||
basicInfo.value.engine === Engine.REDSHIFT) &&
basicInfo.value.engine === Engine.REDSHIFT || basicInfo.value.engine === Engine.GAUSSDB ) &&
context?.editingDataSource.value?.type === DataSourceType.ADMIN
);
});
Expand Down
1 change: 1 addition & 0 deletions frontend/src/components/TableSchemaViewer.vue
Original file line number Diff line number Diff line change
Expand Up @@ -112,6 +112,7 @@ const hasSchemaProperty = computed(() => {
engine.value === Engine.DM ||
engine.value === Engine.MSSQL ||
engine.value === Engine.REDSHIFT ||
engine.value === Engine.GAUSSDB ||
engine.value === Engine.RISINGWAVE
);
});
Expand Down
1 change: 1 addition & 0 deletions frontend/src/utils/database.ts
Original file line number Diff line number Diff line change
Expand Up @@ -128,6 +128,7 @@ export const hasSchemaProperty = (databaseEngine: Engine) => {
databaseEngine === Engine.ORACLE ||
databaseEngine === Engine.MSSQL ||
databaseEngine === Engine.REDSHIFT ||
databaseEngine === Engine.GAUSSDB ||
databaseEngine === Engine.RISINGWAVE
);
};