Changeset 5047


Ignore:
Timestamp:
Aug 12, 2009, 12:38:34 PM (13 years ago)
Author:
Nicklas Nordborg
Message:

Fixes #1358: Left join is not generated when filtering on aliased property with association path

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/core/net/sf/basedb/core/ItemContext.java

    r5046 r5047  
    10841084            {
    10851085              String filterProperty = filter.getProperty();
     1086              if (filterProperty != null && !filterProperty.startsWith("£") && !filterProperty.startsWith("&"))
     1087              {
     1088                int lastDotIndex = filterProperty.lastIndexOf('.');
     1089                int firstDotIndex = filterProperty.indexOf('.');
     1090                if (lastDotIndex >= 0)
     1091                {
     1092                  filterProperty = filterProperty.substring(0, lastDotIndex);
     1093                  if (!filterProperty.startsWith("$") || lastDotIndex != firstDotIndex)
     1094                  {
     1095                    leftJoins.add(filterProperty);
     1096                  }
     1097                }
     1098              }
     1099              /*
    10861100              int dotIndex = filterProperty == null ? -1 : filterProperty.lastIndexOf(".");
    1087               if (dotIndex >= 0 && !filterProperty.startsWith("$") && !filterProperty.startsWith("£") && !filterProperty.startsWith("&"))
     1101              if (dotIndex >= 0)
    10881102              {
    1089                 leftJoins.add(filterProperty.substring(0, dotIndex));
     1103                // Get rid of the part after the last dot
     1104                filterProperty = filterProperty.substring(0, dotIndex);
     1105                if (filterProperty.startsWith("$"))
     1106                {
     1107                  // If it is an aliased property we need at least one more dot
     1108                 
     1109                }
     1110                else if (!filterProperty.startsWith("£") && !filterProperty.startsWith("&"))
     1111                {
     1112                  leftJoins.add(filterProperty);
     1113                }
    10901114              }
     1115              */
    10911116            }
    10921117          }
Note: See TracChangeset for help on using the changeset viewer.