[DB-SIG] RE: Database API -- description attribute

Greg Stein (Exchange) gstein@exchange.microsoft.com
Wed, 29 Oct 1997 16:15:28 -0800


Being the person that actually wrote that line :-) ... Terry's
suggestion is the "right" way to phrase it.

Note: the temporal phrasing was used in reference to fetching the
attribute, not the operation that had occurred in the past (via
execute()).

The DB SIG is now responsible for the maintainence of the specification.
I'm not sure who specifically. It is due for updating primarily w.r.t
the DBI module.

-g

-----Original Message-----
From:	tjreedy@udel.edu [SMTP:tjreedy@udel.edu]
Sent:	Wednesday, October 29, 1997 10:39 AM
To:	python-list@cwi.nl
Subject:	Re: Database API -- description attribute

In article <635hic$bq1@clarknet.clark.net>, culliton@clark.net says...

>In article <roy-2810971352300001@qwerky.med.nyu.edu>,
>Roy Smith <roy@popmail.med.nyu.edu> wrote:
>>The problem is that the API doc says "This attribute will be None for
>>operations that do not return rows...".
>>Is the API documentation just misleading?

>You are either reading too much into the documentation or just being
>damned silly.  The intent is that if you do a select or similar type
>of command which returns zero or more records you will get a
>description of that view.
...
>Obviously common sense just isn't as common as it ought to be.

I'm tempted to say something like "Obviously curtesy just isn't as 
common as it ought to be." but let us go on.

The confusion is between 'operations' as concrete specific actions 
(instances) and 'operations' as abstract generic classes of actions, and

whether 'do not return rows' is an attribute of the former or the 
latter.  Roy appears to have been reading with the first meaning (which 
is not really so silly, given the use of the temporal 'will be' instead 
of the timeless 'is') while 'the intent' is that people read with the 
second.

There is another possible explanation for the confusion.  Since the 
arrival of 0 and its associated concept in Europe, there has been a 
long-standing philosophical/mathematical argument over whether 0 
'counts' as a number of rows, or of anything else.  I say 'yes', or 'it 
should', or 'this is the abstraction-insight that separates modern from 
classical arithmetic and mathematics'.  But I must acknowledge that most

commoners and some mathematicians regard '1' as the first natural 
number, instead of the second. (Check out your keyboard or telephone 
keypad.)  As indicated by its 0-based indexing, Python (like C) 
implicitly adopts the modern position that counts begin with 0, not 1, 
and so it is reasonable that its documents assume this as background 
information. But if Roy does not (or did not before) see 0 as a "number 
of rows", he unfortunately has lots of company.

Perhaps clearer and less ambiguous would be

"This attribute is None for types of operations that never return rows."



Terry J. Reedy

_______________
DB-SIG  - SIG on Tabular Databases in Python

send messages to: db-sig@python.org
administrivia to: db-sig-request@python.org
_______________