zhannngchen commented on code in PR #31666: URL: https://github.com/apache/doris/pull/31666#discussion_r1512308584
########## fe/fe-core/src/main/java/org/apache/doris/transaction/TransactionEntry.java: ########## @@ -18,32 +18,68 @@ package org.apache.doris.transaction; import org.apache.doris.catalog.Database; +import org.apache.doris.catalog.DatabaseIf; +import org.apache.doris.catalog.Env; import org.apache.doris.catalog.Table; +import org.apache.doris.catalog.TableIf; +import org.apache.doris.common.AnalysisException; +import org.apache.doris.common.DdlException; +import org.apache.doris.common.MetaNotFoundException; +import org.apache.doris.common.QuotaExceedException; +import org.apache.doris.common.UserException; import org.apache.doris.proto.InternalService; import org.apache.doris.proto.Types; +import org.apache.doris.qe.ConnectContext; +import org.apache.doris.qe.InsertStreamTxnExecutor; +import org.apache.doris.qe.MasterTxnExecutor; +import org.apache.doris.service.FrontendOptions; import org.apache.doris.system.Backend; +import org.apache.doris.thrift.TTabletCommitInfo; import org.apache.doris.thrift.TTxnParams; +import org.apache.doris.thrift.TWaitingTxnStatusRequest; +import org.apache.doris.thrift.TWaitingTxnStatusResult; +import org.apache.doris.transaction.TransactionState.LoadJobSourceType; +import org.apache.doris.transaction.TransactionState.TxnCoordinator; +import org.apache.doris.transaction.TransactionState.TxnSourceType; + +import com.google.common.collect.Lists; +import org.apache.logging.log4j.LogManager; +import org.apache.logging.log4j.Logger; +import org.apache.thrift.TException; import java.util.ArrayList; import java.util.List; +import java.util.concurrent.ExecutionException; +import java.util.concurrent.TimeoutException; public class TransactionEntry { + private static final Logger LOG = LogManager.getLogger(TransactionEntry.class); + private String label = ""; - private Database db; + private DatabaseIf database; + + // for insert into values for one table private Table table; private Backend backend; private TTxnParams txnConf; private List<InternalService.PDataRow> dataToSend = new ArrayList<>(); private long rowsInTransaction = 0; private Types.PUniqueId pLoadId; + // for insert into select for multi tables + private boolean isTransactionBegan = false; Review Comment: Using `isTransactionBegan` to differentiate between insert into values and insert into select doesn't quite MAKE SENSE, I totally missed it the first time. It would be better to use a meaningful variable name to do so, or add an enum variable and use a function like check_compatibility() to check the compatibility of different inserts. -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org --------------------------------------------------------------------- To unsubscribe, e-mail: commits-unsubscr...@doris.apache.org For additional commands, e-mail: commits-h...@doris.apache.org