GCSFolder: Add ORDER BY fields in SELECT clause

Without this fix, PostgreSQL would complain about unknown columns.
pull/203/head
Francis Lachapelle 2016-03-08 15:27:19 -05:00
parent 45e1f184d3
commit 16f2b8a533
2 changed files with 25 additions and 7 deletions

3
NEWS
View File

@ -4,6 +4,9 @@
Enhancements Enhancements
- [web] updated Angular Material to version 1.0.6 - [web] updated Angular Material to version 1.0.6
Bug fixes
- [web] fix missing columns in SELECT statements (PostgreSQL)
3.0.2 (2016-03-04) 3.0.2 (2016-03-04)
------------------ ------------------

View File

@ -428,20 +428,36 @@ static GCSStringFormatter *stringFormatter = nil;
ignoreDeleted: (BOOL) ignoreDeleted ignoreDeleted: (BOOL) ignoreDeleted
{ {
EOQualifier *qualifier; EOQualifier *qualifier;
EOSortOrdering *ordering;
NSArray *sortOrderings; NSArray *sortOrderings;
NSEnumerator *sortOrderingsList;
NSMutableString *sql; NSMutableString *sql;
NSMutableArray *whereSql; NSMutableArray *allFields, *whereSql;
GCSTableRequirement requirement; GCSTableRequirement requirement;
NSString *whereString; NSString *whereString;
// NSLog(@"queryForFields...");
qualifier = [spec qualifier]; qualifier = [spec qualifier];
requirement = [self _tableRequirementForFields: fields sortOrderings = [spec sortOrderings];
andOrQualifier: qualifier];
if (fields)
allFields = [NSMutableArray arrayWithArray: fields];
else
allFields = [NSMutableArray arrayWithCapacity: [sortOrderings count]];
if ([sortOrderings count] > 0)
{
sortOrderingsList = [sortOrderings objectEnumerator];
while ((ordering = [sortOrderingsList nextObject]))
{
[allFields addObject: [ordering key]];
}
}
requirement = [self _tableRequirementForFields: allFields
andOrQualifier: qualifier];
sql = [NSMutableString stringWithCapacity: 256]; sql = [NSMutableString stringWithCapacity: 256];
[sql appendString: @"SELECT "]; [sql appendString: @"SELECT "];
if (fields) if ([allFields count])
[sql appendString: [self _selectedFields: fields requirement: requirement]]; [sql appendString: [self _selectedFields: allFields requirement: requirement]];
else else
[sql appendString: @"*"]; [sql appendString: @"*"];
[sql appendString:@" FROM "]; [sql appendString:@" FROM "];
@ -477,7 +493,6 @@ static GCSStringFormatter *stringFormatter = nil;
[sql appendFormat: @" WHERE %@", [sql appendFormat: @" WHERE %@",
[whereSql componentsJoinedByString: @" AND "]]; [whereSql componentsJoinedByString: @" AND "]];
sortOrderings = [spec sortOrderings];
if ([sortOrderings count] > 0) if ([sortOrderings count] > 0)
{ {
[sql appendString:@" ORDER BY "]; [sql appendString:@" ORDER BY "];