diff options
author | rowanbeentje <rowan@beent.je> | 2013-04-16 23:54:06 +0000 |
---|---|---|
committer | rowanbeentje <rowan@beent.je> | 2013-04-16 23:54:06 +0000 |
commit | 758789b3bba80f91182730841cb54ba0f3c86de4 (patch) | |
tree | ad35144df108617d9b4d7783b525c3a3634feae5 | |
parent | ae0304a33c1f960e0272b25ee40a1529993317c4 (diff) | |
download | sequelpro-758789b3bba80f91182730841cb54ba0f3c86de4.tar.gz sequelpro-758789b3bba80f91182730841cb54ba0f3c86de4.tar.bz2 sequelpro-758789b3bba80f91182730841cb54ba0f3c86de4.zip |
- Fix string type detection, addressing errors when converting string types to blob or binary fields (addressing Issue #1453)
-rw-r--r-- | Source/SPTableFieldValidation.m | 2 | ||||
-rw-r--r-- | Source/SPTableStructureDelegate.m | 4 | ||||
-rw-r--r-- | Source/SPTableStructureLoading.m | 2 |
3 files changed, 4 insertions, 4 deletions
diff --git a/Source/SPTableFieldValidation.m b/Source/SPTableFieldValidation.m index bcd1dc8b..3a465338 100644 --- a/Source/SPTableFieldValidation.m +++ b/Source/SPTableFieldValidation.m @@ -102,7 +102,7 @@ if (![fieldTypes containsObject:type]) return YES; - return (([fieldTypes indexOfObject:type] > 17) && ([fieldTypes indexOfObject:type] < 32)); + return ((([fieldTypes indexOfObject:type] > 17) && ([fieldTypes indexOfObject:type] < 24) || (([fieldTypes indexOfObject:type] > 29) && ([fieldTypes indexOfObject:type] < 32)))); } /** diff --git a/Source/SPTableStructureDelegate.m b/Source/SPTableStructureDelegate.m index a9f2a949..c2bdb98c 100644 --- a/Source/SPTableStructureDelegate.m +++ b/Source/SPTableStructureDelegate.m @@ -558,12 +558,12 @@ // Only string fields allow encoding settings if (([[aTableColumn identifier] isEqualToString:@"encoding"])) { - [aCell setEnabled:([fieldValidation isFieldTypeString:theRowType] && ![theRowType hasSuffix:@"BINARY"] && ![theRowType hasSuffix:@"BLOB"]) && [[tableDocumentInstance serverSupport] supportsPost41CharacterSetHandling]]; + [aCell setEnabled:([fieldValidation isFieldTypeString:theRowType] && [[tableDocumentInstance serverSupport] supportsPost41CharacterSetHandling])]; } // Only string fields allow collation settings and string field is not set to BINARY since BINARY sets the collation to *_bin else if ([[aTableColumn identifier] isEqualToString:@"collation"]) { - [aCell setEnabled:([fieldValidation isFieldTypeString:theRowType] && [[theRow objectForKey:@"binary"] integerValue] == 0 && ![theRowType hasSuffix:@"BINARY"] && ![theRowType hasSuffix:@"BLOB"] && [[tableDocumentInstance serverSupport] supportsPost41CharacterSetHandling])]; + [aCell setEnabled:([fieldValidation isFieldTypeString:theRowType] && [[theRow objectForKey:@"binary"] integerValue] == 0 && [[tableDocumentInstance serverSupport] supportsPost41CharacterSetHandling])]; } // Check if UNSIGNED and ZEROFILL is allowed diff --git a/Source/SPTableStructureLoading.m b/Source/SPTableStructureLoading.m index 89a731a8..720f2692 100644 --- a/Source/SPTableStructureLoading.m +++ b/Source/SPTableStructureLoading.m @@ -170,7 +170,7 @@ NSString *collation = nil; NSString *encoding = nil; - if ([fieldValidation isFieldTypeString:type] && ![type hasSuffix:@"BINARY"] && ![type hasSuffix:@"BLOB"]) { + if ([fieldValidation isFieldTypeString:type]) { collation = [theField objectForKey:@"collation"] ? [theField objectForKey:@"collation"] : [[tableDataInstance statusValues] objectForKey:@"collation"]; encoding = [theField objectForKey:@"encoding"] ? [theField objectForKey:@"encoding"] : [tableDataInstance tableEncoding]; |