[DB-SIG] Asymmetry in DB-API 2.0 types

Marcos Sánchez Provencio msanchez at grupoburke.com
Wed Jun 4 18:37:54 EDT 2003


¿What is the problem with the license? I believe it is more or less the 
same as Python's. I want to thank Mr Lemburg for this and other 
contributions he has given to the Python community.

Andy Todd escribió:
> Harald Meland wrote:
> 
>> [M.-A. Lemburg]
>>
>>
>>> The driver output values are driver dependent and there's nothing
>>> much the API spec could do about this because not all databases
>>> support all different kinds of data types and it is not even
>>> clear for which result columns a specific data type is needed
>>> or desired.
>>
>>
>>
>> Wouldn't it be possible to extend the current specification for
>> e.g. DATETIME:
>>
>>    DATETIME
>>      This type object is used to describe date/time columns in a
>>      database.
>>
>> to include an API for deciphering such type objects, e.g. like this
>> (we'll obviously need to work on the exact behaviour of the various
>> methods, this is just an example to get the discussion started):
>>
>>      Objects of type DATETIME must support the following methods:
>>
>>      date()
>>        Return a string on the form "YYYY-MM-DD" representing the date
>>        part of the object's value.
>>
>>      time()
>>        Return a string on the form "HH:MM:SS" representing the time
>>        part of the object's value.
>>
>>      ticks()
>>        Return the object's value as seconds since epoch; raises
>>        ValueError if object's value is not representable as ticks.
>>
>>      year
>>        instance variable containing the (4-digit) year, as an integer,
>>        of the object's value.
>>
>>      ...
>>
>> The NUMBER type could be required to expose information on
>> e.g. precision in a standard way, etc.
>>
>> After all, every driver has to use a *single* type for each value a
>> query returns; if the value doesn't fit into one of the standard types
>> mentioned in the DB-API, then the driver is of course free to use some
>> other type for that.
> 
> 
> A standard way to access date, time and datetime objects is, in my 
> opinion, a good idea. Most of the drivers I use work with mxDateTime but 
> that can cause issues for some people because of the license.
> 
> There is an alternative. Its only in beta at the moment, but Python 2.3 
> has a datetime module in the standard library;
> 
> http://www.python.org/doc/2.3b1/lib/module-datetime.html
> 
> So if we're going to pick a standard I'd be going with that one. I don't 
> know if there are any plans to back port this module to prior releases 
> of Python but I wouldn't be surprised.
> 
> Regards,
> Andy





More information about the DB-SIG mailing list