[clug] Python & databases
Brendan Jurd
direvus at gmail.com
Mon Feb 22 00:29:51 MST 2010
On 22 February 2010 18:12, Hal Ashburner <hal.ashburner at gmail.com> wrote:
> On 22/02/2010 5:44 PM, Brendan Jurd wrote:
>> The idea of dbapi is to provide an API that is consistent regardless
>> of which driver you're using, so I'm not sure what you're driving at
>> when you say "seems fairly backend specific". In what sense?
>
> In the sense that there is so much discretion left to the implementation
> that the interface will never be consistent between different backends.
> Casts are not handled the same way between back ends, sqlite3 uses
> different place holders to psycopg2 (eg ? vs %s)... and so on.
> Either I'm reading it wrong or there doesn't seem to be a good way of doing
> very simple things and making it work with both backends. ie, nothing you
> list below, the resulting sql should be the same.
Right, I'm with you now. The paramstyle thing is unfortunate.
To solve that problem, how about writing a little bit of Python to
interrogate the paramstyle [1] of the database driver you happen to be
using and put the appropriate parameter markers into your SQL?
I realise it's not a beautiful solution, but it'll do the job.
Cheers,
BJ
More information about the linux
mailing list