Perl

The Perl programming language

Quick summary of content network clicks/cost/conversions

I use the content network sparingly and in campaigns which are for the content network only. However, I've never felt google chooses the sites to display my ads very well so review the sites regularly. The things I'm mostly interested in are a) which sites my ads appeared on I don't think they should (or I don't want them appearing on) and b) which sites are costing a lot but delivering no conversions. The following perl script processes a TSV version of the placement report (with specific fields) into a more easily managed list I can use to add domain exceptions to my campaign.

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.

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.

DBD::ODBC 1.22 released

I have released 1.22 of DBD::ODBC to CPAN today. This includes a fix to a serious problem with a unicode-enabled DBD::ODBC (the default on Windows) and the transfer of character fields between the database and Perl of greater than 64K characters. If this affects you then you should upgrade immediately. See the announcement on the dbi-users/dbi-dev or dbi-announce lists. This release also fixes a problem with inserting NULL into nvarchar fields in a unicode-enabled DBD::ODBC.

DBD::Oracle: RowCacheSize ignored

Just spent a few hours trying to find out why the RowCacheSize attribute in DBD::Oracle does not seem to have any affect at all. The following code demonstrates the problem:

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.

Perl DBD::ODBC 1.21 released

I have released 1.21 of DBD::ODBC to CPAN. You can find a list of changes here.
Syndicate content