public class AcidExportSemanticAnalyzer extends RewriteSemanticAnalyzer
SemanticAnalyzer that just handles
acid export statements. It works by rewriting the acid export into insert statements into a temporary table,
and then export it from there.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 tableNameNode) |
protected ASTNode |
getTargetTableNode(ASTNode tree) |
static boolean |
isAcidExport(ASTNode tree)
Exporting an Acid table is more complicated than a flat table.
|
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, enableColumnStatsCollecting, 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 tableNameNode) throws SemanticException
analyze in class RewriteSemanticAnalyzerSemanticExceptionpublic static boolean isAcidExport(ASTNode tree) throws SemanticException
analyzeAcidExport(ASTNode, Table , ASTNode)tree - Export statementSemanticExceptionCopyright © 2022 The Apache Software Foundation. All rights reserved.