aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPTableData.m
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2010-04-24 01:36:34 +0000
committerrowanbeentje <rowan@beent.je>2010-04-24 01:36:34 +0000
commita329d031aac349c0ad2b0768cc24ce69dc09a577 (patch)
tree12a58d877c97b742ecb9b00c8b707f9128543c42 /Source/SPTableData.m
parentb7d6974ed6993727bd5bd39ec905c69eecb709b8 (diff)
downloadsequelpro-a329d031aac349c0ad2b0768cc24ce69dc09a577.tar.gz
sequelpro-a329d031aac349c0ad2b0768cc24ce69dc09a577.tar.bz2
sequelpro-a329d031aac349c0ad2b0768cc24ce69dc09a577.zip
Merge in a number of fixes from trunk (r2065, r2066, r2067, r2068, r2069, r2074, r2075, r2076, r2078, r2079, r2081, r2083, r2084, r2085, r2089, r2090, r2100, r2110, r2117, r2118, r2119, r2120, r2128, r2132, r2133, r2134, r2137, r2138, r2139, r2140, r2142, r2150, r2152, r2153, r2154, r2155, r2158, and r2160)
Diffstat (limited to 'Source/SPTableData.m')
-rw-r--r--Source/SPTableData.m18
1 files changed, 11 insertions, 7 deletions
diff --git a/Source/SPTableData.m b/Source/SPTableData.m
index 86cd550e..51d490d9 100644
--- a/Source/SPTableData.m
+++ b/Source/SPTableData.m
@@ -360,7 +360,7 @@
// A NULL value indicates that the user does not have permission to view the syntax
if ([[syntaxResult objectAtIndex:1] isNSNull]) {
[[NSAlert alertWithMessageText:NSLocalizedString(@"Permission Denied", @"Permission Denied")
- defaultButton:NSLocalizedString(@"OK", @"OK")
+ defaultButton:NSLocalizedString(@"OK", @"OK button")
alternateButton:nil otherButton:nil
informativeTextWithFormat:NSLocalizedString(@"The creation syntax could not be retrieved due to a permissions error.\n\nPlease check your user permissions with an administrator.", @"Create syntax permission denied detail")]
beginSheetModalForWindow:[NSApp mainWindow]
@@ -725,7 +725,7 @@
// A NULL value indicates that the user does not have permission to view the syntax
if ([syntaxString isNSNull]) {
[[NSAlert alertWithMessageText:NSLocalizedString(@"Permission Denied", @"Permission Denied")
- defaultButton:NSLocalizedString(@"OK", @"OK")
+ defaultButton:NSLocalizedString(@"OK", @"OK button")
alternateButton:nil otherButton:nil
informativeTextWithFormat:NSLocalizedString(@"The creation syntax could not be retrieved due to a permissions error.\n\nPlease check your user permissions with an administrator.", @"Create syntax permission denied detail")]
beginSheetModalForWindow:[NSApp mainWindow]
@@ -1088,25 +1088,29 @@
NSInteger i;
NSMutableArray *keyColumns = [NSMutableArray array];
- r = [mySQLConnection queryString:[NSString stringWithFormat:@"SHOW COLUMNS FROM %@ WHERE `key` = 'PRI'", [selectedTable backtickQuotedString]]];
+ // select all columns that are primary keys
+ // MySQL before 5.0.3 does not support the WHERE syntax
+ r = [mySQLConnection queryString:[NSString stringWithFormat:@"SHOW COLUMNS FROM %@ /*!50003 WHERE `key` = 'PRI'*/", [selectedTable backtickQuotedString]]];
[r setReturnDataAsStrings:YES];
if([r numOfRows] < 1) return nil;
if ([mySQLConnection queryErrored]) {
if ([mySQLConnection isConnected])
- NSRunAlertPanel(@"Error", [NSString stringWithFormat:@"An error occured while retrieving the PRIAMRY KEY data:\n\n%@", [mySQLConnection getLastErrorMessage]], @"OK", nil, nil);
+ NSRunAlertPanel(@"Error", [NSString stringWithFormat:NSLocalizedString(@"An error occured while retrieving the PRIMARY KEY data:\n\n%@",@"message when the query that fetches the primary keys fails"), [mySQLConnection getLastErrorMessage]], @"OK", nil, nil);
return nil;
}
for( i = 0; i < [r numOfRows]; i++ ) {
resultRow = [r fetchRowAsArray];
- [keyColumns addObject:[NSArrayObjectAtIndex(resultRow, 0) description]];
+ // check if the row is indeed a key (for MySQL servers before 5.0.3)
+ if ([[[resultRow objectAtIndex:3] description] isEqualToString:@"PRI"]) {
+ [keyColumns addObject:[[resultRow objectAtIndex:0] description]];
+ }
}
- if([keyColumns count])
- return keyColumns;
+ if([keyColumns count]) return keyColumns;
return nil;
}