public class UpdateDeleteSemanticAnalyzer extends RewriteSemanticAnalyzer
SemanticAnalyzer that just handles
update and delete statements. It works by rewriting the updates and deletes into insert
statements (since they are actually inserts) and then doing some patch up to make them work as
updates and deletes instead.RewriteSemanticAnalyzer.ColumnAppender, RewriteSemanticAnalyzer.NativeAcidColumnAppender, RewriteSemanticAnalyzer.NonNativeAcidColumnAppender, RewriteSemanticAnalyzer.ReparseResultCalcitePlanner.ASTSearcher, CalcitePlanner.CalcitePlannerAction, CalcitePlanner.InputContext, CalcitePlanner.PreCboCtxSemanticAnalyzer.GenericUDAFInfo, SemanticAnalyzer.MaterializationRebuildModeBaseSemanticAnalyzer.AnalyzeRewriteContext, BaseSemanticAnalyzer.TableSpecDELETE_PREFIX, INDENT, LOG, SUB_QUERY_ALIAS, useSuperaliasToCTEs, analyzeRewrite, ast, autogenColAliasPrfxLbl, createVwDesc, defaultJoinMerge, disableJoinMerge, DUMMY_DATABASE, DUMMY_TABLE, forViewCreation, mvRebuildDbName, mvRebuildMode, mvRebuildName, opParseCtx, originalResultSchema, prunedPartitions, resultSchema, SUBQUERY_TAG_1, SUBQUERY_TAG_2, topOps, topOpsCopy, unparseTranslator, VALUES_TMP_TABLE_NAME_PREFIX, viewSelectacidFileSinks, cacheUsage, cContext, columnAccessInfo, conf, console, ctx, db, fetchTask, idToTableNameMap, inputs, linfo, outputs, prepareQuery, queryProperties, queryState, rootTasks, STATIC_LOG, tableAccessInfo, transactionalInQuery, txnManager, updateColumnAccessInfo| Modifier and Type | Method and Description |
|---|---|
protected void |
analyze(ASTNode tree,
Table table,
ASTNode tabNameNode) |
protected boolean |
enableColumnStatsCollecting() |
protected ASTNode |
getTargetTableNode(ASTNode tree) |
addColsToSelect, addColsToSelect, addColsToSelect, addPartitionColsAsValues, analyzeInternal, analyzeRewrittenTree, appendInsertBranch, appendSortBy, appendTarget, checkValidSetClauseTarget, collectSetColumnsAndExpressions, createRewrittenQueryStrBuilder, findLHSofAssignment, getColumnAppender, getMatchedText, getSimpleTableName, getTable, isAliased, markReadEntityForUpdate, parseRewrittenQuery, patchProjectionForUpdate, setUpAccessControlInfoForUpdate, updateOutputs, validateTargetTablecreatePlanner, createPlannerAction, fixUpAfterCbo, genLogicalPlan, getOptimizedSql, getTableObjectByName, resetCalciteConfiguration, warmupaddPartitionColsToInsert, addPartitionColsToInsert, allowOutputMultipleTimes, analyzeCreateView, compilePlan, executeUnparseTranlations, forViewCreation, generateErrorMessage, genExprNodeDesc, genFileSinkPlan, getAcidAnalyzeTable, getAliasId, getAllInputs, getAllOutputs, getAllRootTasks, getColNameToDefaultValueMap, getColumnInternalName, getDefaultConstraints, getDummyTable, getFullTableNameForSQL, getGenericUDAFEvaluator, getGenericUDAFEvaluator2, getGenericUDAFInfo, getGenericUDAFInfo2, getInvalidAutomaticRewritingMaterializationReason, getInvalidResultCacheReason, getLoadFileWork, getLoadTableWork, getOpContext, getOriginalResultSchema, getParseContext, getQB, getResultSchema, getSinkOp, getTableObjectByName, getTargetTable, getTopOps, getViewAliasToInput, groupByDescModeToUDAFMode, hasGroupBySibling, init, isConstantParameterInAggregationParameters, isInsertInto, isSelectDistinct, isValidAutomaticRewritingMaterialization, isValidQueryCaching, parseSelect, processNoScanCommand, processTableColumnNames, reset, rewriteGroupingFunctionAST, saveViewDefinition, setAST, setBit, setInvalidAutomaticRewritingMaterializationReason, setInvalidResultCacheReason, setLoadFileWork, setLoadTableWork, startAnalysis, translateFieldDesc, updating, validateaddPropertyReadEntry, analyze, analyzeStoredAdDirs, charSetString, checkColumnName, constructListBucketingCtx, createFetchTask, createHiveDB, endAnalysis, escapeSQLString, findTabRefIdxs, getAcidDdlDesc, getAcidFileSinks, getAutoCommitValue, getCacheUsage, getCboInfo, getColumnAccessInfo, getColumnNames, getColumnNamesOrder, getColumns, getColumns, getColumns, getCtx, getDatabase, getDatabase, getDataConnector, getDataConnector, getDb, getDbTableNamePair, getFetchTask, getIdToTableNameMap, getInputs, getLineageInfo, getOutputs, getPartitionSpecs, getPartSpec, getProps, getQualifiedTableName, getQualifiedTableName, getQueryProperties, getQueryState, getRootTasks, getSimpleTableNameBase, getTable, getTable, getTable, getTable, getTable, getTable, getTableAccessInfo, getTableAlias, getTxnMgr, getTypeStringFromAST, getUnescapedName, getUnescapedName, getUnescapedUnqualifiedTableName, getUpdateColumnAccessInfo, getValidatedPartSpec, hasTransactionalInQuery, initCtx, isPrepareQuery, isValidPrefixSpec, raiseWrongType, readProps, setAutoCommitValue, setCacheUsage, setColumnAccessInfo, setFetchTask, setLineageInfo, setTableAccessInfo, setUpdateColumnAccessInfo, skipAuthorization, stripQuotes, toReadEntity, toReadEntity, toReadEntity, toWriteEntity, toWriteEntity, toWriteEntity, tryQualifyPath, unescapeIdentifier, unescapeSQLString, validatePartColumnType, validatePartSpec, validateUnsupportedPartitionClauseprotected ASTNode getTargetTableNode(ASTNode tree)
getTargetTableNode in class RewriteSemanticAnalyzerprotected void analyze(ASTNode tree, Table table, ASTNode tabNameNode) throws SemanticException
analyze in class RewriteSemanticAnalyzerSemanticExceptionprotected boolean enableColumnStatsCollecting()
enableColumnStatsCollecting in class SemanticAnalyzerCopyright © 2022 The Apache Software Foundation. All rights reserved.