mirror of
https://gitee.com/dromara/dbswitch.git
synced 2025-09-09 05:29:10 +00:00
相关代码整理
This commit is contained in:
@@ -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);
|
||||
}
|
||||
}
|
@@ -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
|
||||
|
@@ -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(")");
|
||||
}
|
||||
}
|
||||
|
@@ -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);
|
||||
}
|
||||
|
||||
}
|
Reference in New Issue
Block a user