Обсуждение: Timestamp Length or Precision Bug

Поиск
Список
Период
Сортировка

Timestamp Length or Precision Bug

От
Adam Taft
Дата:
Hi,

I've noticed this bug for quite a few versions of PgAdmin now.  I was 
hoping that a bug reporting tool would someday appear on the website.  I 
guess this is the best way to report the problem.

When creating a 'timestamp without timezone' and specifying the 'length' 
parameter, invalid SQL is generated.  The generated SQL is this:

ALTER TABLE usertags ADD COLUMN a timestamp without time zone(3);


PostgreSQL expects it to look like this:

ALTER TABLE usertags ADD COLUMN a timestamp(3) without time zone;


This bug effects create statements too.  Here is the generated SQL in 
that case:

CREATE TABLE atable
(   ts timestamp without time zone(3)
)
WITHOUT OIDS;


This applies to both timestamp types (with and without timezone) and I'm 
assuming possibly the 'time' type as well, though I haven't looked at this.


Additionally, the 'length' field is used in the PgAdmin UI, whereas in 
the PostgreSQL documention, the field is referred to as 'precision.' 
I'm wondering if the Precision input box in the PgAdmin UI should be 
enabled instead of the Length input box.

Thanks,

Adam Taft



Re: Timestamp Length or Precision Bug

От
"Dave Page"
Дата:
On Feb 8, 2008 12:40 AM, Adam Taft <adam@adamtaft.com> wrote:
> Hi,
>
> I've noticed this bug for quite a few versions of PgAdmin now.  I was
> hoping that a bug reporting tool would someday appear on the website.  I
> guess this is the best way to report the problem.

That is the correct method.

> When creating a 'timestamp without timezone' and specifying the 'length'
> parameter, invalid SQL is generated.  The generated SQL is this:
>
> ALTER TABLE usertags ADD COLUMN a timestamp without time zone(3);

Thanks, fixed in SVN for 1.8.3.

> Additionally, the 'length' field is used in the PgAdmin UI, whereas in
> the PostgreSQL documention, the field is referred to as 'precision.'
> I'm wondering if the Precision input box in the PgAdmin UI should be
> enabled instead of the Length input box.

I'm not so worried about that - everyone know what it means and it's
more than just a couple of lines of code to change it.

-- 
Dave Page
EnterpriseDB UK: http://www.enterprisedb.com
The Oracle-compatible database company


Re: Timestamp Length or Precision Bug

От
Adam Taft
Дата:

Dave Page wrote:
> On Feb 8, 2008 12:40 AM, Adam Taft <adam@adamtaft.com> wrote:
>> Hi,
>>
>> I've noticed this bug for quite a few versions of PgAdmin now.  I was
>> hoping that a bug reporting tool would someday appear on the website.  I
>> guess this is the best way to report the problem.
> 
> That is the correct method.

Great, thanks for letting me know.


>> When creating a 'timestamp without timezone' and specifying the 'length'
>> parameter, invalid SQL is generated.  The generated SQL is this:
>>
>> ALTER TABLE usertags ADD COLUMN a timestamp without time zone(3);
> 
> Thanks, fixed in SVN for 1.8.3.

Good, can't wait.  I set my timestamp precisions frequently because of 
compatibility with the Java SQL type which seems to only support up to 3 
decimals of precision.  I have to set the precision to 3 to be able to 
correctly compare timestamp equality.


>> Additionally, the 'length' field is used in the PgAdmin UI, whereas in
>> the PostgreSQL documention, the field is referred to as 'precision.'
>> I'm wondering if the Precision input box in the PgAdmin UI should be
>> enabled instead of the Length input box.
> 
> I'm not so worried about that - everyone know what it means and it's
> more than just a couple of lines of code to change it.
> 

Agreed, this doesn't seem to be a big deal.  It is pretty obvious.

Thanks,

Adam