Fixed DirectQuerySupportImpl small cluster String value retrieval 27/2027/1
authorTuukka Lehtonen <tuukka.lehtonen@semantum.fi>
Fri, 24 Aug 2018 10:45:16 +0000 (13:45 +0300)
committerTuukka Lehtonen <tuukka.lehtonen@semantum.fi>
Fri, 24 Aug 2018 10:45:16 +0000 (13:45 +0300)
commitb75a6bbcc34a3e88f94d04d0389ed0d2e37b6511
treebdbcd17806cd7f07b3fb421127698c865acfc113
parente2e0b33c6a7b55c4b0f7a268dd37e545feefc5a2
Fixed DirectQuerySupportImpl small cluster String value retrieval

Previous too-optimized implementation had multiple flaws:
* Index calculation did not have enough parenthesis in it which meant
  that the value table index was sometimes calculated incorrectly.
  This lead to string literal values being read incorrectly.
* Did not take into account string literals longer than 127 characters
* Did not take into account that string literals are modified-utf-8
  encoded and simply decoded them as US-ASCII bytes. Essentially all
  resources with name containing special characters were indexed
  incorrectly up until now.

All of these flaws have been in the code for ages.

gitlab #86

Change-Id: I500114d3e2cff76370433b929ec8b8124659ce33
bundles/org.simantics.db.procore/src/fi/vtt/simantics/procore/internal/DirectQuerySupportImpl.java