Re: API 3.0 limiting paramstyle to ['named', 'qmark'] is okay. ('format' is not desirable)

"M.-A. Lemburg" <[email protected]>
Newsgroups gmane.comp.python.db
Organization eGenix.com Software GmbH; http://www.egenix.com/
Message-ID <[email protected]>
On 17.05.2013 18:07, Michael Bayer wrote:
> 
> On May 17, 2013, at 11:36 AM, M.-A. Lemburg <[email protected]> wrote:
> 
>> On 17.05.2013 17:10, Christoph Zwerschke wrote:
>>> Am 17.05.2013 17:01, schrieb Vernon D. Cole:
>>>> What other options should be considered?
>>>
>>> Another option would be to get rid of the parameter completely, and silently accept both styles,
>>> whatever is used in the sql command passed to the execute method.
>>
>> This would violate explicit is better than implicit, and it also
>> creates problems with raising proper errors, e.g. passing a
>> dictionary of parameters to a SQL command which uses a mix
>> of qmark and named style parameter markers.
>>
>> We do need to keep this explicit.
> 
> 
> IMHO it is explicit, whether you say:
> 
> cursor.execute(stmt, { < dictionary>} )
> 
> vs. 
> 
> cursor.execute(stmt, [ <list>] )
> 
> the type of parameters passed indicates the style of params to search for.   It's explicit via type inference.    if a dictionary is passed, "?" symbols are left alone.  If a list is passed, ":param" symbols are left alone.  If neither is passed, then neither ? nor :param are searched for.

Hmm, then how do you tell whether this code is correct or not ? :-)

cursor.execute('select * from mytable where id=?', parameters)

Type inference also doesn't help universally, since objects can
easily implement both the sequence and mapping ABC.

-- 
Marc-Andre Lemburg
eGenix.com

Professional Python Services directly from the Source  (#1, May 17 2013)
>>> Python Projects, Consulting and Support ...   http://www.egenix.com/
>>> mxODBC.Zope/Plone.Database.Adapter ...       http://zope.egenix.com/
>>> mxODBC, mxDateTime, mxTextTools ...        http://python.egenix.com/
________________________________________________________________________
2013-05-07: Released mxODBC Zope DA 2.1.2 ...     http://egenix.com/go46
2013-05-06: Released mxODBC 3.2.3 ...             http://egenix.com/go45

::::: Try our mxODBC.Connect Python Database Interface for free ! ::::::

   eGenix.com Software, Skills and Services GmbH  Pastor-Loeh-Str.48
    D-40764 Langenfeld, Germany. CEO Dipl.-Math. Marc-Andre Lemburg
           Registered at Amtsgericht Duesseldorf: HRB 46611
               http://www.egenix.com/company/contact/
_______________________________________________
DB-SIG maillist  -  [email protected]
http://mail.python.org/mailman/listinfo/db-sig
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.