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