[
https://issues.apache.org/jira/browse/TRAFODION-2263?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15552376#comment-15552376
]
ASF GitHub Bot commented on TRAFODION-2263:
-------------------------------------------
Github user DaveBirdsall commented on a diff in the pull request:
https://github.com/apache/incubator-trafodion/pull/746#discussion_r82224007
--- Diff: core/sql/cli/Statement.cpp ---
@@ -4517,61 +3343,58 @@ RETCODE Statement::execute(CliGlobals * cliGlobals,
Descriptor * input_desc,
}
}
-
-
-
}
- // done deciding if this query needs to be monitored and
- // registered with WMS.
- // now execute it.
- if (masterStats != NULL)
- {
- masterStats->setIsBlocking();
- masterStats->setStmtState(STMT_EXECUTE_);
- }
- Int32 rc = root_tcb->execute(cliGlobals, statementGlobals_,
- input_desc, diagsPtr, reExecute);
-
- if (masterStats != NULL)
- masterStats->setNotBlocking();
- if (rc < 0)
- retcode = ERROR;
- // "diagsPtr" is modified by the foregoing call.
- // If "diagsPtr" is NULL, there are no diags to merge
- // into "diagsArea". Otherwise, "diagsPtr" is not NULL and does
- // point to a diags area from which we: 1) avoid the SQL function
- // 2) copy the ComCondition objects over. Then we decrement
- // the reference count to indicate we're done with that
- // ComDiagsArea.
+ // done deciding if this query needs to be monitored and
+ // registered with WMS.
+ // now execute it.
+ if (masterStats != NULL)
+ {
+ masterStats->setIsBlocking();
+ masterStats->setStmtState(STMT_EXECUTE_);
+ }
+
+ Int32 rc = root_tcb->execute(cliGlobals, statementGlobals_,
+ input_desc, diagsPtr, reExecute);
+
+ if (masterStats != NULL)
+ masterStats->setNotBlocking();
+ if (rc < 0)
+ retcode = ERROR;
+ // "diagsPtr" is modified by the foregoing call.
+ // If "diagsPtr" is NULL, there are no diags to merge
+ // into "diagsArea". Otherwise, "diagsPtr" is not NULL and
does
+ // point to a diags area from which we: 1) avoid the SQL
function
+ // 2) copy the ComCondition objects over. Then we decrement
+ // the reference count to indicate we're done with that
+ // ComDiagsArea.
- if (diagsPtr)
- {
- diagsArea.mergeAfter(*diagsPtr);
- diagsPtr->decrRefCount();
- diagsPtr = NULL;
- }
+ if (diagsPtr)
+ {
+ diagsArea.mergeAfter(*diagsPtr);
+ diagsPtr->decrRefCount();
+ diagsPtr = NULL;
+ }
- if (retcode == ERROR)
- {
- root_tcb->cancel(statementGlobals_,diagsPtr);
- state_ = ERROR_;
- break;
- }
- else
- {
- if (retcode == 0 && diagsArea.mainSQLCODE() > 0)
- // It's a warning. So return 1.
- retcode = (RETCODE)1;
- setState(OPEN_);
- readyToReturn = TRUE;
- break;
- }
- }
- break;
-
- case RE_EXECUTE_: // on error 60
- case RE_EXECUTE_AFTER_RECOMPILE_: // on plan version error
+ if (retcode == ERROR)
+ {
+ root_tcb->cancel(statementGlobals_,diagsPtr);
+ state_ = ERROR_;
+ break;
+ }
+ else
+ {
+ if (retcode == 0 && diagsArea.mainSQLCODE() > 0)
+ // It's a warning. So return 1.
+ retcode = (RETCODE)1;
+ setState(OPEN_);
+ readyToReturn = TRUE;
+ break;
+ }
+ }
+ break;
+
+ case RE_EXECUTE_:
{
// save lnil & stuff
--- End diff --
I'm guessing "lnil" refers to late name input list? Perhaps the comment
should be updated.
> Move Similarity check for hive tables to master executor root operator
> ----------------------------------------------------------------------
>
> Key: TRAFODION-2263
> URL: https://issues.apache.org/jira/browse/TRAFODION-2263
> Project: Apache Trafodion
> Issue Type: Improvement
> Reporter: Anoop Sharma
> Assignee: Anoop Sharma
> Priority: Minor
>
> Query plans for hive tables include location of data directories/files
> and the plan depends on it.
> If data changes in a hive file/dir after a query has been compiled and
> before it is executed, then that change is detected at runtime by
> comparing compile time and runtime dir timestamps.
> A mismatch causes that query to recompile using AQR and a new
> plan is generated with latest dir location.
> This detection is currently being done at leaf operators (scan, insert) when
> that operator is executed.
> This jira is to move that check (called Similarity Check) to the root
> operator before starting query execution. That way plan consistency
> checks will be done before running the query and will not depend
> on the actual operator being executed. It will also result in checks not
> being done at various processes and operators like an ESP process.
> All checks will be done at one place in master executor and code will not
> be spread across multiple operators as it is now.
>
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)