Blogs

DBD::ODBC ping has regressed :-(

Today a long standing Easysoft customer upgraded from DBD::ODBC 1.13 to 1.21 and their scripts stopped working properly :-( It appears they use the ping method to detect whether the connection handle is connected to the database and since upgrading to 1.21 they are getting DBD::ODBC::db ping failed: Cannot allocate statement when disconnected from the database at ./xxx.pl line 11 when calling the ping method after a disconnect.

New attribute to DBIx::Log4perl to filter error reporting

At Easysoft we have been using DBIx::Log4perl for some time to log DBI database access methods in a way that was useful to us. In fact, that is why I wrote DBIx::Log4perl in the first place.

Inserting code into drupal content

I spend all day writing code so it is not unnatural that I blog about it too. I know drupal has code tags but they still end up changing < and > and most code is full of those. There seems to be loads of solutions but many of them have problems - use of code, pre and xmp tags (not all browsers do the same thing with xmp), substituting &#60; etc for < (too annoying, I wan to just paste my code in). Ginally I found the GeSHI filter and although it is not perfect it works better (by far) than any of the other solutions I've found.

Why cannot I use a RowCacheSize greater than 128 with DBD::Oracle?

It appears that DBD::Oracle restricts the RowCacheSize to 128, why? I know how much memory I can afford to use for retrieving rows better than DBD::Oracle and as far as I can see this could be set a lot higher.

Outages on my virginmedia broadband connection

Another frustrating day with my broadband connection - thank you Virgin Media - not!

Released DBD::ODBC 1.21_1 to CPAN

Fixed bug referred to in rt 46597 reported by taioba and identified by Tim Bunce. In Calls to bind_param for a given statement handle if you specify a SQL type to bind as this should be "sticky" for that parameter. That means if you do: $sth->bind_param(1, $param, DBI::SQL_LONGVARCHAR) and follow it up with execute calls that also specify the parameter: $sth->execute("a param"); then the parameter should stick with the SQL_LONGVARCHAR type and not revert to the default parameter type. The DBI docs (in subversion now)

Rush on DBD::ODBC issues today

I frequent perl monks a bit and late yesterday an issue came in with DBD::ODBC and Microsoft Access. The perl monks node and rt 46597 detail it all quite well. It appears DBD::ODBC was not following the DBI specification (as it was originally written) to the letter with respect to sticky bound parameter types but since then Tim Bunce has modified the DBI pod slightly to allow DBDs to enable a bound parameter to be rebound with a different type. The change to DBD::ODBC was fairly small but by the time I'd added a test case, bumped the version to 1.21_1 and tested a dozen or so ODBC drivers this consumed a fair amount of time.

DBD::Oracle 1.23 does not seem to support unicode in error strings

Spent some time today trying to work out why the system I am working on was displaying unicode strings in errors double utf-8 encoded. Looks like a bug in DBD::Oracle. I posted the following example to dbi-users list:

Problems with Perl JSON::XS, incremental parsing and unicode strings

Todays unicode problems are with JSON::XS. We are using JSON extensively in the project I am working on and we have a lot of unicode strings. JSON::XS really is the best and fastest perl JSON parser (I've tried them all) and Marc Lehmann who wrote JSON::XS is very knowledgeable and usually quick to respond to any query.

Syndicate content