ODBC on Linux truncates data

Imported from http://bugzilla.roxen.com/bugzilla/show_bug.cgi?id=4823

Reported by Marcus Wellhardh wellhard@roxen.com

The ODBC module on Linux has a limit on 4096 for binary fields:

[root@boulderdash bin]# ./roxen 
Pike v7.8 release 254 running Hilfe v3.5 (Incremental Pike Frontend)
> object db = Sql.Sql("odbc://test:test@sparq");
> array(mapping) res = db->query("select PF, datalength(PF) as length from aspnet_UsersPF");
> foreach(res, mapping row) { werror("%O %O\n", sizeof(row->PF), row->length);}
4096 "617558"
4096 "14276"
4096 "88303"
4096 "39121"
4096 "753609"
4096 "24658"
4096 "54450"
3249 "3249"
4096 "80761"
4096 "1052287"
4096 "299889"
4096 "25067"
4096 "151892"
4096 "8810"
Ok.

Tested on boulderdash.roxen.com with roxen-5.0.352-test-cms-rhel5_x86_64.