To whom may concern (@ActiveState):

I was able to build DBD::mysql 4.021 for Perl 5.16 x64 from source, which 
shows as “failed” in the PPM repository.

I created the same patches PPM applies to the DBD::mysql package, but with a 
minor correction for the dbdimp.c patch. This change fixes the problem due 
to a variation in the latest version.

I think the same problem affects all versions of Perl for Windows in the PPM 
repository for DBD::mysql 4.021. I hope this helps.


------------------------- BEGIN PATCH  ----------------------------------

--- dbdimp.c~
+++ dbdimp.c
@@ -3253,6 +3253,7 @@
       }
#if MYSQL_ASYNC
   }
+#endif
   Safefree(salloc);

   if(rows == -2) {
@@ -3260,9 +3261,7 @@
              mysql_sqlstate(svsock));
     if (DBIc_TRACE_LEVEL(imp_xxh) >= 2)
       PerlIO_printf(DBIc_LOGPIO(imp_xxh), "IGNORING ERROR errno %d\n", 
errno);
-    rows = -2;
   }
-#endif
   return(rows);
}

@@ -3833,6 +3832,7 @@
         default:
           if (DBIc_TRACE_LEVEL(imp_xxh) >= 2)
             PerlIO_printf(DBIc_LOGPIO(imp_xxh), "\t\tERROR IN 
st_fetch_string");
+          {
           STRLEN len= fbh->length;
     /* ChopBlanks */
           if (ChopBlanks)
@@ -3849,7 +3849,7 @@
     /* END OF ChopBlanks */

           sv_setpvn(sv, fbh->data, len);
-
+         }
     /* UTF8 */
         /*HELMUT*/
#if defined(sv_utf8_decode) && MYSQL_VERSION_ID >=SERVER_PREPARE_VERSION
@@ -3885,8 +3885,7 @@
     {
       PerlIO_printf(DBIc_LOGPIO(imp_xxh), "\tdbd_st_fetch result set 
details\n");
       PerlIO_printf(DBIc_LOGPIO(imp_xxh), "\timp_sth->result=%08lx\n",(long 
unsigned int) imp_sth->result);
-      PerlIO_printf(DBIc_LOGPIO(imp_xxh), "\tmysql_num_fields=%llu\n",
-                    (long long unsigned int) 
mysql_num_fields(imp_sth->result));
+      PerlIO_printf(DBIc_LOGPIO(imp_xxh), "\tmysql_num_fields=%u\n", 
mysql_num_fields(imp_sth->result));
       PerlIO_printf(DBIc_LOGPIO(imp_xxh), "\tmysql_num_rows=%llu\n",
                     mysql_num_rows(imp_sth->result));
       PerlIO_printf(DBIc_LOGPIO(imp_xxh), "\tmysql_affected_rows=%llu\n",

------------------------- END PATCH ----------------------------------


I hope this helps.

Francisco Zarabozo



_______________________________________________
ActivePerl mailing list
ActivePerl@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs

Reply via email to