
com.huaweicloud.dws.client.op.Delete Maven / Gradle / Ivy
package com.huaweicloud.dws.client.op;
import com.huaweicloud.dws.client.collector.ITableCollector;
import com.huaweicloud.dws.client.exception.DwsClientException;
import com.huaweicloud.dws.client.exception.InvalidException;
import com.huaweicloud.dws.client.model.OperationType;
import com.huaweicloud.dws.client.model.TableSchema;
import com.huaweicloud.dws.client.util.AssertUtil;
/**
* @ProjectName: dws-connector
* @ClassName: Delete
* @Description:
* @Date: 2023/1/14 20:02
* @Version: 1.0
*/
public class Delete extends Operate {
public Delete(TableSchema schema, ITableCollector collector) {
super(schema, collector, OperationType.DELETE);
}
@Override
public Operate setObject(String columnName, Object value, boolean ignoreUpdate) {
AssertUtil.isTrue(record.getTableSchema().isPrimaryKey(columnName), new InvalidException("column not primary key " + columnName));
return super.setObject(columnName, value, ignoreUpdate);
}
@Override
public void commit() throws DwsClientException {
checkPkFull();
super.commit();
}
/**
* 同步提交
*/
@Override
public void syncCommit() throws DwsClientException {
checkPkFull();
super.syncCommit();
}
/**
* 检查主键是否完全填充
*/
protected void checkPkFull() {
for (Integer key : record.getTableSchema().getKeyIndexList()) {
if (record.isSet(key)) {
continue;
}
throw new InvalidException("delete must set primary key " + record.getTableSchema().getColumn(key).getName());
}
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy