From bea8a9f461a9a9566b28d208b47db772591ac0fa Mon Sep 17 00:00:00 2001 From: Bibiko Date: Wed, 10 Jun 2009 10:51:33 +0000 Subject: =?UTF-8?q?=E2=80=A2=20fixed=20some=20minor=20issues=20in=20fetchR?= =?UTF-8?q?esultFieldsStructure=20-=20detection=20tiny/medium=20blob=20now?= =?UTF-8?q?=20uses=20length/max=5FlengthOfCharOfEnc=20-=20dropped=20mac=5F?= =?UTF-8?q?char=5Flength=20key=20from=20dict=20because=20it's=20not=20poss?= =?UTF-8?q?ible=20to=20calculate=20the=20correct=20max=5Flength=20in=20a?= =?UTF-8?q?=20given=20encoding?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- Source/CMMCPResult.m | 12 +++++++----- 1 file changed, 7 insertions(+), 5 deletions(-) (limited to 'Source/CMMCPResult.m') diff --git a/Source/CMMCPResult.m b/Source/CMMCPResult.m index b970b17d..701e614c 100644 --- a/Source/CMMCPResult.m +++ b/Source/CMMCPResult.m @@ -364,8 +364,8 @@ modified version for use with sequel-pro /* Max width (bytes) for selected set */ [fieldStructure setObject:[NSNumber numberWithUnsignedLongLong:theField[i].max_length] forKey:@"max_byte_length"]; /* Max width (chars) for selected set */ - [fieldStructure setObject:[NSNumber numberWithUnsignedLongLong:theField[i].max_length/[self find_charsetMaxByteLengthPerChar:theField[i].charsetnr]] - forKey:@"max_char_length"]; + // [fieldStructure setObject:[NSNumber numberWithUnsignedLongLong:theField[i].max_length/[self find_charsetMaxByteLengthPerChar:theField[i].charsetnr]] + // forKey:@"max_char_length"]; /* Div flags */ [fieldStructure setObject:[NSNumber numberWithUnsignedInt:theField[i].flags] forKey:@"flags"]; @@ -466,7 +466,7 @@ modified version for use with sequel-pro case MYSQL_TYPE_BLOB: { BOOL isBlob = (charsetnr == MAGIC_BINARY_CHARSET_NR); - switch (length) { + switch ((int)length/[self find_charsetMaxByteLengthPerChar:charsetnr]) { case 255: return isBlob? @"TINYBLOB":@"TINYTEXT"; case 65535: return isBlob? @"BLOB":@"TEXT"; case 16777215: return isBlob? @"MEDIUMBLOB":@"MEDIUMTEXT"; @@ -564,9 +564,11 @@ modified version for use with sequel-pro case MYSQL_TYPE_LONG_BLOB:// should no appear over the wire case MYSQL_TYPE_BLOB: { - if (charsetnr == MAGIC_BINARY_CHARSET_NR) + if (charsetnr == MAGIC_BINARY_CHARSET_NR) { return @"blobdata"; - return @"textdata"; + } else { + return @"textdata"; + } } case MYSQL_TYPE_GEOMETRY: return @"geometry"; -- cgit v1.2.3