DBD-ODBC

 view release on metacpan or  search on metacpan

Changes  view on Meta::CPAN

    progress then it is rolled back.

  * DBD::ODBC used to bind char/varchar/longvarchar columns as SQL_CHAR
    meaning that in the unicode build of DBD::ODBC the bound column
    data would be returned 8bit in whatever character-set (codepage) the
    data was in, in the database. This was inconvenient and arguably a
    mistake. Columns like nchar/nvarchar etc were bound as SQL_WCHAR and
    returned as Unicode. This release changes the behaviour in a unicode
    build of DBD::ODBC to bind all char columns as SQL_WCHAR. This may
    inconvenience a few people who expected 8bit chars back, knew the
    char set and decoded them (sorry). See odbc_old_unicode to return
    to old behaviour.

  [ENHANCEMENTS]

  * added -w option to Makefile.PL to add "-Wall" to CCFLAGS and
    -fno-strict-aliasing so I can find warnings.

  * Cope with broken ODBC drivers that describe a parameter as SQL
    type 0.

dbdimp.c  view on Meta::CPAN

   if (DBIc_TRACE(imp_dbh, CONNECTION_TRACING, 0, 0))
       TRACE0(imp_dbh, "non-Unicode login6_sv\n");
   return dbd_db_login6(dbh, imp_dbh, SvPV_nolen(dbname),
                        (SvOK(uid) ? SvPV_nolen(uid) : NULL),
                        (SvOK(pwd) ? SvPV_nolen(pwd) : NULL), attr);
#else

   D_imp_drh_from_dbh;
   SQLRETURN rc;
   SV *wconstr;			/* copy of connection string in wide chrs */
   /* decoded connection string in wide characters and its length to work
      around an issue in older unixODBCs */
   SQLWCHAR dc_constr[512];
   STRLEN dc_constr_len;

   if (DBIc_TRACE(imp_dbh, CONNECTION_TRACING, 0, 0)) {
       TRACE2(imp_dbh, "Unicode login6 dbname=%s, uid=%s, pwd=xxxxx\n",
              SvPV_nolen(dbname), neatsvpv(uid, 0));
   }

   imp_dbh->out_connect_string = Nullsv;



( run in 0.234 second using v1.01-cache-2.11-cpan-a9ef4e587e4 )