[improvement](nereids) support insert into doris_internal_table_id(xxx) (#25722)
This commit is contained in:
@ -20,8 +20,10 @@ package org.apache.doris.nereids.parser;
|
||||
import org.apache.doris.analysis.ArithmeticExpr.Operator;
|
||||
import org.apache.doris.analysis.BrokerDesc;
|
||||
import org.apache.doris.analysis.StorageBackend;
|
||||
import org.apache.doris.analysis.TableName;
|
||||
import org.apache.doris.analysis.UserIdentity;
|
||||
import org.apache.doris.catalog.AggregateType;
|
||||
import org.apache.doris.catalog.Env;
|
||||
import org.apache.doris.catalog.KeysType;
|
||||
import org.apache.doris.common.Config;
|
||||
import org.apache.doris.common.FeConstants;
|
||||
@ -411,7 +413,17 @@ public class LogicalPlanBuilder extends DorisParserBaseVisitor<Object> {
|
||||
@Override
|
||||
public LogicalPlan visitInsertIntoQuery(InsertIntoQueryContext ctx) {
|
||||
boolean isOverwrite = ctx.INTO() == null;
|
||||
List<String> tableName = visitMultipartIdentifier(ctx.tableName);
|
||||
List<String> tableName = new ArrayList<>();
|
||||
if (null != ctx.tableName) {
|
||||
tableName = visitMultipartIdentifier(ctx.tableName);
|
||||
} else if (null != ctx.tableId) {
|
||||
TableName name = Env.getCurrentEnv().getInternalCatalog()
|
||||
.getTableNameByTableId(Long.valueOf(ctx.tableId.getText()));
|
||||
tableName.add(name.getDb());
|
||||
tableName.add(name.getTbl());
|
||||
} else {
|
||||
throw new ParseException("tableName and tableId cannot both be null");
|
||||
}
|
||||
String labelName = ctx.labelName == null ? null : ctx.labelName.getText();
|
||||
List<String> colNames = ctx.cols == null ? ImmutableList.of() : visitIdentifierList(ctx.cols);
|
||||
List<String> partitions = ctx.partition == null ? ImmutableList.of() : visitIdentifierList(ctx.partition);
|
||||
|
||||
Reference in New Issue
Block a user