diff options
author | rowanbeentje <rowan@beent.je> | 2009-09-01 23:09:21 +0000 |
---|---|---|
committer | rowanbeentje <rowan@beent.je> | 2009-09-01 23:09:21 +0000 |
commit | 1a6b920d5982840a405a6a53e0c3928b79066a9b (patch) | |
tree | 1c228187e9f5bfe66681578aebb9fe9526999ffe /Source/SPExtendedTableInfo.m | |
parent | c193919cacda828749f7a25cded79bf0ab870190 (diff) | |
download | sequelpro-1a6b920d5982840a405a6a53e0c3928b79066a9b.tar.gz sequelpro-1a6b920d5982840a405a6a53e0c3928b79066a9b.tar.bz2 sequelpro-1a6b920d5982840a405a6a53e0c3928b79066a9b.zip |
- Use long longs instead of ints when looking at table sizes, free space, and row counts for display, fixing overflow issues (this addresses Issue #394)
- Tweak the byte size formatter to also show TBs for very large numbers
- Improve row count and auto increment value formatting by using a number formatter (enhancements for Issue #394)
Diffstat (limited to 'Source/SPExtendedTableInfo.m')
-rw-r--r-- | Source/SPExtendedTableInfo.m | 18 |
1 files changed, 14 insertions, 4 deletions
diff --git a/Source/SPExtendedTableInfo.m b/Source/SPExtendedTableInfo.m index 0ac716cb..54830e9b 100644 --- a/Source/SPExtendedTableInfo.m +++ b/Source/SPExtendedTableInfo.m @@ -359,7 +359,7 @@ [key isEqualToString:@"Index_length"] || [key isEqualToString:@"Data_free"]) { - value = [NSString stringForByteSize:[value intValue]]; + value = [NSString stringForByteSize:[value longLongValue]]; } // Format date strings to the user's long date format else if ([key isEqualToString:@"Create_time"] || @@ -375,9 +375,19 @@ value = [dateFormatter stringFromDate:[NSDate dateWithNaturalLanguageString:value]]; } - // Prefix number of rows with '~' if it is not an accurate count - else if ([key isEqualToString:@"Rows"] && ![[infoDict objectForKey:@"RowsCountAccurate"] boolValue]) { - value = [@"~" stringByAppendingString:value]; + // Format numbers + else if ([key isEqualToString:@"Rows"] || + [key isEqualToString:@"Avg_row_length"] || + [key isEqualToString:@"Auto_increment"]) { + NSNumberFormatter *numberFormatter = [[[NSNumberFormatter alloc] init] autorelease]; + [numberFormatter setNumberStyle:NSNumberFormatterDecimalStyle]; + + value = [numberFormatter stringFromNumber:[NSNumber numberWithLongLong:[value longLongValue]]]; + + // Prefix number of rows with '~' if it is not an accurate count + if ([key isEqualToString:@"Rows"] && ![[infoDict objectForKey:@"RowsCountAccurate"] boolValue]) { + value = [@"~" stringByAppendingString:value]; + } } } |