Github user zellerh commented on a diff in the pull request:
https://github.com/apache/trafodion/pull/1504#discussion_r178906139
--- Diff: core/sql/executor/ExExeUtilGet.cpp ---
@@ -1818,8 +1813,9 @@ short ExExeUtilGetMetadataInfoTcb::work()
{
if (!CmpCommon::context()->isAuthorizationEnabled())
{
- ComDiagsArea * diags = getDiagsArea();
- *diags << DgSqlCode(-CAT_AUTHORIZATION_NOT_ENABLED);
+ ComDiagsArea * diagsArea = getDiagsArea();
+ ExRaiseSqlError(getHeap(), &diagsArea,
-CAT_AUTHORIZATION_NOT_ENABLED);
+ setDiagsArea(diagsArea);
--- End diff --
Having to do these three statements in so many places is not ideal. Would
it make sense to make diagsArea_ a protected member, so we could pass it to
ExRaiseSqlError here, in just a single statement:
```
ExRaiseSqlError(getHeap(), &diagsArea_, ...);
```
---