gokceni commented on a change in pull request #614: PHOENIX-5553: Transactional 
views should not get GlobalIndexChecker c…
URL: https://github.com/apache/phoenix/pull/614#discussion_r340780165
 
 

 ##########
 File path: 
phoenix-core/src/main/java/org/apache/phoenix/query/ConnectionQueryServicesImpl.java
 ##########
 @@ -927,7 +928,16 @@ private void addCoprocessors(byte[] tableName, 
TableDescriptorBuilder builder, P
             boolean isViewIndex = TRUE_BYTES_AS_STRING
                     
.equals(tableProps.get(MetaDataUtil.IS_VIEW_INDEX_TABLE_PROP_NAME));
 
-            if ((tableType == PTableType.INDEX && !isTransactional) || 
isViewIndex) {
+            boolean isViewBaseTransactional = false;
+            if (!isTransactional && isViewIndex) {
+                if (tableProps.containsKey(TRANSACTIONAL) &&
+                        Boolean.TRUE.equals(tableProps.get(TRANSACTIONAL))) {
+                    isViewBaseTransactional = true;
+                }
+            }
+
+            if (!isTransactional && !isViewBaseTransactional
 
 Review comment:
   @kadirozde I wanted to introduce this new variable because isTransactional 
is used in this function to do more coprocessor adding. If I tie it to the same 
variable then it will be regressing some other thing.
   If (!isTransactional && (PTableType.INDEX || isViewIndex) { does not work. I 
found that isTransactional is false because it looks if transactionProvider 
property is null. It is null for views but transactional=true is set. Weird, I 
know.
   
   Will look at the test

----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
 
For queries about this service, please contact Infrastructure at:
[email protected]


With regards,
Apache Git Services

Reply via email to