Monotone-Parent: 5088d59ebd9fac5711d577846019ab0351386716

Monotone-Revision: 3a0c58bfa60eceb8b04e37505a605d15b3d2b1af

Monotone-Author: wsourdeau@inverse.ca
Monotone-Date: 2007-11-27T21:07:30
Monotone-Branch: ca.inverse.sogo
This commit is contained in:
Wolfgang Sourdeau
2007-11-27 21:07:30 +00:00
parent 965d1212bc
commit fea5eb9d53
2 changed files with 25 additions and 15 deletions

View File

@@ -1,3 +1,9 @@
2007-11-27 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* GCSFolder.m ([GCSFolder -versionOfContentWithName:], [GCSFolder
-fetchContentWithName:]): ignore records marked as deleted.
([GCSFolder -deletionOfContentWithName:]): don't.
2007-11-04 Wolfgang Sourdeau <wsourdeau@inverse.ca>
* GCSFolder.m ([GCSFolder -writeContent:toName:baseVersion:]): the

View File

@@ -251,13 +251,16 @@ static GCSStringFormatter *stringFormatter = nil;
recursive:YES];
}
- (id)_fetchValueOfColumn:(NSString *)_col inContentWithName:(NSString *)_name{
- (id) _fetchValueOfColumn: (NSString *)_col
inContentWithName: (NSString *)_name
ignoreDeleted: (BOOL) ignoreDeleted
{
EOAdaptorChannel *channel;
NSException *error;
NSDictionary *row;
NSArray *attrs;
NSString *result;
NSString *sql;
NSMutableString *sql;
if ((channel = [self acquireStoreChannel]) == nil) {
[self errorWithFormat:@"could not open storage channel!"];
@@ -265,20 +268,18 @@ static GCSStringFormatter *stringFormatter = nil;
}
/* generate SQL */
sql = @"SELECT ";
sql = [sql stringByAppendingString:_col];
sql = [sql stringByAppendingString:@" FROM "];
sql = [sql stringByAppendingString:[self storeTableName]];
sql = [sql stringByAppendingString:@" WHERE c_name = '"];
sql = [sql stringByAppendingString:_name];
sql = [sql stringByAppendingString:@"'"];
sql = [NSMutableString stringWithFormat: @"SELECT %@"
@" FROM %@"
@" WHERE c_name = '%@'",
_col, [self storeTableName], _name];
if (ignoreDeleted)
[sql appendString: @" AND (c_deleted != 1 OR c_deleted IS NULL)"];
/* run SQL */
if ((error = [channel evaluateExpressionX:sql]) != nil) {
[self errorWithFormat:@"%s: cannot execute SQL '%@': %@",
__PRETTY_FUNCTION__, sql, error];
__PRETTY_FUNCTION__, sql, error];
[self releaseChannel:channel];
return nil;
}
@@ -300,15 +301,18 @@ static GCSStringFormatter *stringFormatter = nil;
}
- (NSNumber *)versionOfContentWithName:(NSString *)_name {
return [self _fetchValueOfColumn:@"c_version" inContentWithName:_name];
return [self _fetchValueOfColumn:@"c_version" inContentWithName:_name
ignoreDeleted: YES];
}
- (NSNumber *)deletionOfContentWithName:(NSString *)_name {
return [self _fetchValueOfColumn:@"c_deleted" inContentWithName:_name];
return [self _fetchValueOfColumn:@"c_deleted" inContentWithName:_name
ignoreDeleted: NO];
}
- (NSString *)fetchContentWithName:(NSString *)_name {
return [self _fetchValueOfColumn:@"c_content" inContentWithName:_name];
return [self _fetchValueOfColumn:@"c_content" inContentWithName:_name
ignoreDeleted: YES];
}
- (NSDictionary *)fetchContentsOfAllFiles {