Tony Locke wrote at 2013-9-13 18:54 +0100: > ... >I thought I'd give a suggestion for unified parameters. Apologies if >this has been suggested before, I did have a look at the archives :-) > >In DBAPI 2.0, the parameters to execute() can be a sequence or a >mapping. In DBAPI 3.0, the paramstyle attribute should be removed, and >the style determined by whether the parameters are a sequence or >mapping. For a sequence the 'numeric' style is expected, and for a >mapping the 'named' style. For example: > >execute("select * from emp where name = :1", ['horatio']) > >execute("select * from emp where name = :name", {'name': 'horatio'}) > >The reason I like this solution is that if someone asked me how >parameters work in DBAPI, this one would be the easiest to explain! > >Any thoughts?
This has been suggested and found one objection: there is no reliable way to distinguish a mapping from a sequence -- or put in different words: it is easy to define a class which supports both the sequence as well as the mapping protocol. -- Dieter _______________________________________________ DB-SIG maillist - DB-SIG@python.org https://mail.python.org/mailman/listinfo/db-sig