This is an automated email from the ASF dual-hosted git repository. yiguolei pushed a commit to branch branch-2.1 in repository https://gitbox.apache.org/repos/asf/doris.git
commit 2c26a308d1fd4621caac68be203d4184035944e2 Author: Xin Liao <[email protected]> AuthorDate: Tue Mar 5 12:24:32 2024 +0800 [fix](broker-load) fix broker load statement type conversion failure (#31746) Co-authored-by: Luwei <[email protected]> --- .../org/apache/doris/load/loadv2/BulkLoadJob.java | 24 ++++++++++++++++------ 1 file changed, 18 insertions(+), 6 deletions(-) diff --git a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BulkLoadJob.java b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BulkLoadJob.java index f3d2480351b..8b2773ab261 100644 --- a/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BulkLoadJob.java +++ b/fe/fe-core/src/main/java/org/apache/doris/load/loadv2/BulkLoadJob.java @@ -23,6 +23,8 @@ import org.apache.doris.analysis.InsertStmt; import org.apache.doris.analysis.LoadStmt; import org.apache.doris.analysis.SqlParser; import org.apache.doris.analysis.SqlScanner; +import org.apache.doris.analysis.StatementBase; +import org.apache.doris.analysis.UnifiedLoadStmt; import org.apache.doris.analysis.UserIdentity; import org.apache.doris.catalog.AuthorizationInfo; import org.apache.doris.catalog.Database; @@ -32,6 +34,7 @@ import org.apache.doris.catalog.TableIf; import org.apache.doris.common.DdlException; import org.apache.doris.common.FeMetaVersion; import org.apache.doris.common.MetaNotFoundException; +import org.apache.doris.common.UserException; import org.apache.doris.common.annotation.LogException; import org.apache.doris.common.io.Text; import org.apache.doris.common.util.LogBuilder; @@ -265,14 +268,9 @@ public abstract class BulkLoadJob extends LoadJob { fileGroupAggInfo = new BrokerFileGroupAggInfo(); SqlParser parser = new SqlParser(new SqlScanner(new StringReader(originStmt.originStmt), Long.valueOf(sessionVariables.get(SessionVariable.SQL_MODE)))); - LoadStmt stmt; try { Database db = Env.getCurrentInternalCatalog().getDbOrDdlException(dbId); - stmt = (LoadStmt) SqlParserUtils.getStmt(parser, originStmt.idx); - for (DataDescription dataDescription : stmt.getDataDescriptions()) { - dataDescription.analyzeWithoutCheckPriv(db.getFullName()); - } - checkAndSetDataSourceInfo(db, stmt.getDataDescriptions()); + analyzeStmt(SqlParserUtils.getStmt(parser, originStmt.idx), db); } catch (Exception e) { LOG.info(new LogBuilder(LogKey.LOAD_JOB, id) .add("origin_stmt", originStmt) @@ -283,6 +281,20 @@ public abstract class BulkLoadJob extends LoadJob { } } + protected void analyzeStmt(StatementBase stmtBase, Database db) throws UserException { + LoadStmt stmt = null; + if (stmtBase instanceof UnifiedLoadStmt) { + stmt = (LoadStmt) ((UnifiedLoadStmt) stmtBase).getProxyStmt(); + } else { + stmt = (LoadStmt) stmtBase; + } + + for (DataDescription dataDescription : stmt.getDataDescriptions()) { + dataDescription.analyzeWithoutCheckPriv(db.getFullName()); + } + checkAndSetDataSourceInfo(db, stmt.getDataDescriptions()); + } + @Override protected void replayTxnAttachment(TransactionState txnState) { if (txnState.getTxnCommitAttachment() == null) { --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
