dffe1f0e1b31a68be2e521d7f6882582a1605e75 angie Fri Aug 21 10:56:22 2015 -0700 autoSql uses longblob not blob, but some .sql files have been tweaked to use blob; treat blob same as longblob. diff --git src/lib/asParse.c src/lib/asParse.c index 0d90c8d..a3d8069 100644 --- src/lib/asParse.c +++ src/lib/asParse.c @@ -93,30 +93,32 @@ /* Return the autoSql type name (not enum) for the given SQL type, or NULL. * Don't attempt to free result. */ // Unfortunately, when sqlType is longblob, we don't know whether it's a list // of some type or an lstring. :( { if (sqlType == NULL) return NULL; // For comparison with asTypes[*], we need to strip '(...)' strings from all types // except 'varchar' which must be 'varchar(255)'. For 'char', we need to remember // what was in the '(...)' so we can add back the '[...]' after type comparison. boolean isArray = FALSE; int arraySize = 0; static char buf[1024]; if (startsWith("varchar", sqlType)) safecpy(buf, sizeof(buf), "varchar(255)"); +else if (sameString("blob", sqlType)) + safecpy(buf, sizeof(buf), "longblob"); else { safecpy(buf, sizeof(buf), sqlType); char *leftParen = strstr(buf, " ("); if (leftParen == NULL) leftParen = strchr(buf, '('); if (leftParen != NULL) { isArray = startsWith("char", sqlType); char *rightParen = strrchr(leftParen, ')'); if (rightParen != NULL) { *rightParen = '\0'; arraySize = atoi(leftParen+1); strcpy(leftParen, rightParen+1);