相关代码整理

This commit is contained in:
inrgihc
2024-07-23 21:36:38 +08:00
parent 49cfbaf58b
commit 5ec8f5c48a
15 changed files with 108 additions and 141 deletions

View File

@@ -1,21 +0,0 @@
// Copyright tang. All rights reserved.
// https://gitee.com/inrgihc/dbswitch
//
// Use of this source code is governed by a BSD-style license
//
// Author: tang (inrgihc@126.com)
// Date : 2020/1/2
// Location: beijing , china
/////////////////////////////////////////////////////////////
package com.gitee.dbswitch.product.greenplum;
import com.gitee.dbswitch.product.postgresql.PostgresTableCopyWriteProvider;
import com.gitee.dbswitch.provider.ProductFactoryProvider;
public class GreenPlumTableCopyWriteProvider extends PostgresTableCopyWriteProvider {
public GreenPlumTableCopyWriteProvider(ProductFactoryProvider factoryProvider) {
super(factoryProvider);
}
}

View File

@@ -12,6 +12,8 @@ package com.gitee.dbswitch.product.greenplum;
import com.gitee.dbswitch.annotation.Product;
import com.gitee.dbswitch.common.type.ProductTypeEnum;
import com.gitee.dbswitch.features.ProductFeatures;
import com.gitee.dbswitch.product.postgresql.PostgresTableCopyWriteProvider;
import com.gitee.dbswitch.product.postgresql.PostgresTableManageProvider;
import com.gitee.dbswitch.provider.AbstractFactoryProvider;
import com.gitee.dbswitch.provider.manage.TableManageProvider;
import com.gitee.dbswitch.provider.meta.MetadataProvider;
@@ -39,14 +41,14 @@ public class GreenplumFactoryProvider extends AbstractFactoryProvider {
@Override
public TableManageProvider createTableManageProvider() {
return new GreenplumTableManageProvider(this);
return new PostgresTableManageProvider(this);
}
@Override
public TableDataWriteProvider createTableDataWriteProvider(boolean useInsert) {
return useInsert
? new AutoCastTableDataWriteProvider(this)
: new GreenPlumTableCopyWriteProvider(this);
: new PostgresTableCopyWriteProvider(this);
}
@Override

View File

@@ -19,24 +19,19 @@ import lombok.extern.slf4j.Slf4j;
@Slf4j
public class GreenplumMetadataQueryProvider extends PostgresMetadataQueryProvider {
public GreenplumMetadataQueryProvider(ProductFactoryProvider factoryProvider) {
super(factoryProvider);
}
@Override
public void postAppendCreateTableSql(StringBuilder builder, String tblComment, List<String> primaryKeys,
Map<String, String> tblProperties) {
// 有主键就优先使用主键作为分布键。
if (Objects.nonNull(primaryKeys) && !primaryKeys.isEmpty()) {
getPkOrDkAsString(builder, primaryKeys);
String pk = getPrimaryKeyAsString(primaryKeys);
builder.append("\n DISTRIBUTED BY (").append(pk).append(")");
log.info("using primary key as distributed key");
}
}
private void getPkOrDkAsString(StringBuilder builder, List<String> primaryKeys) {
String pk = getPrimaryKeyAsString(primaryKeys);
builder.append("\n DISTRIBUTED BY (").append(pk).append(")");
}
}

View File

@@ -1,24 +0,0 @@
// Copyright tang. All rights reserved.
// https://gitee.com/inrgihc/dbswitch
//
// Use of this source code is governed by a BSD-style license
//
// Author: tang (inrgihc@126.com)
// Date : 2020/1/2
// Location: beijing , china
/////////////////////////////////////////////////////////////
package com.gitee.dbswitch.product.greenplum;
import com.gitee.dbswitch.product.postgresql.PostgresTableManageProvider;
import com.gitee.dbswitch.provider.ProductFactoryProvider;
import com.gitee.dbswitch.provider.manage.DefaultTableManageProvider;
import lombok.extern.slf4j.Slf4j;
@Slf4j
public class GreenplumTableManageProvider extends PostgresTableManageProvider {
public GreenplumTableManageProvider(ProductFactoryProvider factoryProvider) {
super(factoryProvider);
}
}