This is an automated email from the ASF dual-hosted git repository.
dataroaring pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/doris.git
The following commit(s) were added to refs/heads/master by this push:
new 12305ce4c24 [fix](broker-load) fix broker load statement type
conversion failure (#31746)
12305ce4c24 is described below
commit 12305ce4c240a1e2089567b93bb1a675e21ce3d3
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 2d3b1458ec5..e4ff8f59331 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;
@@ -33,6 +35,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;
@@ -267,14 +270,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)
@@ -285,6 +283,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]