diff options
author | rowanbeentje <rowan@beent.je> | 2010-06-02 00:21:46 +0000 |
---|---|---|
committer | rowanbeentje <rowan@beent.je> | 2010-06-02 00:21:46 +0000 |
commit | 6a50c5b04187d6546aa11c50a38f77b8ba132565 (patch) | |
tree | c4704f8afc356c49d918e09a7c6134b798b00138 /Source/SPTableData.m | |
parent | afa83e2e94ec0abe2cd6c2cbf4fe43d5616bbc6c (diff) | |
download | sequelpro-6a50c5b04187d6546aa11c50a38f77b8ba132565.tar.gz sequelpro-6a50c5b04187d6546aa11c50a38f77b8ba132565.tar.bz2 sequelpro-6a50c5b04187d6546aa11c50a38f77b8ba132565.zip |
- Fix exceptions and crashes caused by corrupt tables, disabled storage engines, or similar hard MySQL errors
Diffstat (limited to 'Source/SPTableData.m')
-rw-r--r-- | Source/SPTableData.m | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/Source/SPTableData.m b/Source/SPTableData.m index ea9229cb..35d7060b 100644 --- a/Source/SPTableData.m +++ b/Source/SPTableData.m @@ -850,6 +850,12 @@ [status setObject:[status objectForKey:@"Type"] forKey:@"Engine"]; } + // If the "Engine" key is NULL, a problem occurred when retrieving the table information. + if ([[status objectForKey:@"Engine"] isNSNull]) { + [status setDictionary:[NSDictionary dictionaryWithObjectsAndKeys:@"Error", @"Engine", [NSString stringWithFormat:@"An error occurred retrieving table information. MySQL said: %@", [status objectForKey:@"Comment"]], @"Comment", [tableListInstance tableName], @"Name", nil]]; + return FALSE; + } + // Add a note for whether the row count is accurate or not - only for MyISAM if ([[status objectForKey:@"Engine"] isEqualToString:@"MyISAM"]) { [status setObject:@"y" forKey:@"RowsCountAccurate"]; |