DATACOUCH-276 Dont escape the order by property as a whole

Escape each nested level and concatenate with a period

Original pull request: #141.
This commit is contained in:
Subhashni Balakrishnan
2017-04-10 07:23:27 -07:00
parent 620586af3b
commit 03bb6372c7
2 changed files with 20 additions and 1 deletions

View File

@@ -197,7 +197,16 @@ public class N1qlUtils {
for (Sort.Order order : sort) {
String orderProperty = order.getProperty();
//FIXME the order property should be converted to its corresponding fieldName
Expression orderFieldName = i(orderProperty);
String[] orderPropertyParts = orderProperty.split("\\.");
StringBuilder sb = new StringBuilder();
for (String part:orderPropertyParts) {
if (sb.length() != 0) {
sb.append(".");
}
sb.append(i(part).toString());
}
Expression orderFieldName = x(sb.toString());
if (order.isIgnoreCase()) {
orderFieldName = lower(TypeFunctions.toString(orderFieldName));
}