Alexander Foken wrote: > On 04.06.2010 15:41, Dave Rolsky wrote: >> On Fri, 4 Jun 2010, Alexander Foken wrote: >>> That's why I proposed to switch to DBD::ODBC: It is well tested and >>> supports Unicode as good as the ODBC driver does. >> >> And as I said in private email, that's not really feasible for us. > Yes, it would cause you a lot of work, starting by distributing an ODBC > manager and an ODBC driver. Perhaps too much work. Think of it as a last > resort. > > But for patching Unicode support into DBD::Sybase, DBD::ODBC could be > helpful, both by showing how to patch DBD::Sybase, and by providing a > Unicode-aware way to the database on the development machine. >> >>> Now you "just" need to find someone who is willing and has the time >>> to patch DBD::Sybase ... ;-) >> >> Which is why I'm hoping we can pay Michael to work on this. > Throwing money at the problem is definitly a good idea! And it would be > great if that work would end on CPAN (and not in a secret private branch). >> Clearly, he's the most qualified. > >> Otherwise, I might have to do this, which is a scary thought. > Well, I also was scared by DBD::ODBC, and I must admit that I still > don't understand all of it. I'm still happy that MJE took over the > stalled DBD::ODBC development and improved my patch (and many other > parts of DBD::ODBC). > > A first step to patching DBD::Sybase would be like my first step with > DBD::ODBC: Just make binding input parameters and fetching results work > with Unicode. Don't care about Unicode in the SQL statement (use > placeholders, so you don't need Unicode there), don't care about binding > output parameters, connect strings, user names, passwords, private > functions. "Steal" the Unicode tests from DBD::ODBC and make DBD::Sybase > pass those tests without breaking the existing tests. > > > Alexander >
Just a little note on copying the unicode tests in DBD::ODBC. There is nothing in particular wrong with them but they can cause some drivers problems because they use functions on parameters and sometimes the driver cannot (or fails) to work out the correct type of the parameter: e.g., SELECT ? as roundtrip, length(?) as roundtriplen Some drivers (MS SQL Server in particular) attempts to rearrange the above SQL to a select on 2 columns in the database to work out the parameter types. In the above case there are no real database columns and it fails. Martin -- Martin J. Evans Easysoft Limited http://www.easysoft.com