aboutsummaryrefslogtreecommitdiffstats
path: root/Source/SPExtendedTableInfo.m
diff options
context:
space:
mode:
authorrowanbeentje <rowan@beent.je>2009-09-01 23:09:21 +0000
committerrowanbeentje <rowan@beent.je>2009-09-01 23:09:21 +0000
commit1a6b920d5982840a405a6a53e0c3928b79066a9b (patch)
tree1c228187e9f5bfe66681578aebb9fe9526999ffe /Source/SPExtendedTableInfo.m
parentc193919cacda828749f7a25cded79bf0ab870190 (diff)
downloadsequelpro-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.m18
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];
+ }
}
}