[DB-SIG] Result Set Inconsistencies
sorr at rightnow.com
Wed Jul 16 13:58:53 EDT 2003
I know the spec calls for sequences but why? Why be vague on an API
"spec?" Intentional inconsistency? So if I'm developing against multiple
databases and I want consistent result sets I have to know the behavior
of each module and convert types? Seems weird to me.
I'm thinking results sets should always be a lists or I should be able
to specify how I want the result sets. I know there are lots of
differences in database engines and an API can't make all database
engines behave the same but it OUGHT to impose SOME consistency.
From: Chris Cogdon [mailto:chris at cogdon.org]
Sent: Wednesday, July 16, 2003 12:42 PM
To: Orr, Steve
Cc: db-sig at python.org
Subject: Re: [DB-SIG] Result Set Inconsistencies
On Wednesday, Jul 16, 2003, at 11:36 US/Pacific, Orr, Steve wrote:
> Why the inconsistencies in .fetch* result sets?
> Module fetchall Result Set
> --------- -------------------
> MySQLdb tuple of tuples
> cx_Oracle list of tuples
> DCOracle2 list of lists
The DB-API2.0 specification specifies that 'sequences' be used. This
can mean tuples, lists or any other type that mimics the sequence
protocol. For Example, pyPgSQL returns a list of PgResultSets, which
operate like a sequence, but have other attributes too).
Therefore, there is no requirement to specifically use lists or tuples,
so the implementer is free to implement how he or she sees fit.
("`-/")_.-'"``-._ Chris Cogdon <chris at cogdon.org>
. . `; -._ )-;-,_`)
(v_,)' _ )`-.\ ``-'
_.- _..-_/ / ((.'
((,.-' ((,/ fL
More information about the DB-SIG