aboutsummaryrefslogtreecommitdiffstats
path: root/Source
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2011-09-09 00:45:34 +0000
committerrowanbeentje <rowan@beent.je>2011-09-09 00:45:34 +0000
commit752b2b576a307130d5f698beed67ccae5c96b166 (patch)
tree99604920cc66a503bc53d9af95d96cca09e74374 /Source
parent0c9edd6ea1939335a86d0b8d9505b6e1a7b0a2b9 (diff)
downloadsequelpro-752b2b576a307130d5f698beed67ccae5c96b166.tar.gz
sequelpro-752b2b576a307130d5f698beed67ccae5c96b166.tar.bz2
sequelpro-752b2b576a307130d5f698beed67ccae5c96b166.zip
- Make add relation error detail intro localisable
- If the add relation error strongly appears to be a name-already-taken error, add the name to the takenNames list to prevent it being used again and to highlight the error - Update localisable strings
Diffstat (limited to 'Source')
-rw-r--r--Source/SPTableRelations.m8
1 files changed, 7 insertions, 1 deletions
diff --git a/Source/SPTableRelations.m b/Source/SPTableRelations.m
index f6865d15..5a81e756 100644
--- a/Source/SPTableRelations.m
+++ b/Source/SPTableRelations.m
@@ -185,7 +185,13 @@ static NSString *SPRelationOnDeleteKey = @"on_delete";
NSString *statusText = [connection getFirstFieldFromQuery:@"SHOW INNODB STATUS"];
NSString *detailErrorString = [statusText stringByMatching:@"latest foreign key error\\s+-----*\\s+[0-9: ]*(.*?)\\s+-----" options:(RKLCaseless | RKLDotAll) inRange:NSMakeRange(0, [statusText length]) capture:1L error:NULL];
if (detailErrorString) {
- errorText = [NSString stringWithFormat:@"%@\n\nMySQL detail: %@", errorText, [detailErrorString stringByReplacingOccurrencesOfString:@"\n" withString:@" "]];
+ errorText = [NSString stringWithFormat:NSLocalizedString(@"%@\n\nDetail: %@", @"Add relation error detail intro"), errorText, [detailErrorString stringByReplacingOccurrencesOfString:@"\n" withString:@" "]];
+ }
+
+ // Detect name duplication if appropriate
+ if ([errorText isMatchedByRegex:@"errno: 121"] && [errorText isMatchedByRegex:@"already exists"]) {
+ [takenConstraintNames addObject:[[constraintName stringValue] lowercaseString]];
+ [self controlTextDidChange:[NSNotification notificationWithName:@"dummy" object:constraintName]];
}
}