                 //type == MYSQL_TYPE_TIME2 ||
                 //type == MYSQL_TYPE_DATETIME2 ||
                 //type == MYSQL_TYPE_TIMESTAMP2
-            
+                
             {
                 return try SQLDate(sqlDate: str, timeZone: timeZone)
             }
-            if type == MYSQL_TYPE_BLOB ||
-                type == MYSQL_TYPE_BIT {
+            if isBinary && (
+                type == MYSQL_TYPE_BLOB ||
+                    type == MYSQL_TYPE_BIT
+                ) {
                     throw QueryError.ResultParseError("blob type is not supported")
             }
             return str

            }
            self.name = fs
            self.type = f.type
        }
        func castValue(str: String, row: Int, timeZone: TimeZone) throws -> Any {
            if type == MYSQL_TYPE_DATE ||

    
    public func query<T: QueryRowResultType>(query formattedQuery: String) throws -> ([T], QueryStatus) {
        let mysql = try connectIfNeeded()
        
        guard mysql_real_query(mysql, formattedQuery, UInt(formattedQuery.utf8.count)) == 0 else {
            throw QueryError.QueryExecutionError(MySQLUtil.getMySQLErrorString(mysql))
        }
