Обсуждение: BUG #1437: converting column from text to int4 requires USING

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

BUG #1437: converting column from text to int4 requires USING

От
"Kim Hansen"
Дата:
The following bug has been logged online:

Bug reference:      1437
Logged by:          Kim Hansen
Email address:      k@oek.dk
PostgreSQL version: 8.0.0
Operating system:   Windows
Description:        converting column from text to int4 requires USING
Details:

When running the input below the 3rd line gives an error but the 4th line
works. I would expect that a::int4 was applyed by default and because of
that the USING shouldn't be nessesary.

== Input ==
CREATE TABLE test ( a text );
INSERT INTO test VALUES ( '1' );
ALTER TABLE test ALTER COLUMN a TYPE int4;
ALTER TABLE test ALTER COLUMN a TYPE int4 USING (a::int4);
DROP TABLE test;

== Output==
public=> \i bug.txt
CREATE TABLE
INSERT 25508 1
psql:bug.txt:3: ERROR:  column "a" cannot be cast to type "int4"
ALTER TABLE
DROP TABLE
public=>

Re: BUG #1437: converting column from text to int4 requires USING

От
Kim Hansen
Дата:
> From: "Kim Hansen" <k@oek.dk>
> To: pgsql-bugs@postgresql.org
> Date: Mon, 24 Jan 2005 00:41:10 GMT
> Subject: BUG #1437: converting column from text to int4 requires USING
>=20
> The following bug has been logged online:
>=20
> Bug reference:      1437
> Logged by:          Kim Hansen
> Email address:      k@oek.dk
> PostgreSQL version: 8.0.0
> Operating system:   Windows
> Description:        converting column from text to int4 requires USING
> Details:

I have just found out that this isn't a bug. I just didn't know that
there was a difference between 'assignment cast' and 'implicit cast'.

I think that the error message from line 3 is misleading as line 4
casts column a into int4. Perhaps a HINT: could be added that an
explicit typecast might be needed.

Regards,
--=20
Kim Hansen
Vadg=E5rdsvej 3, 2.tv
2860 S=F8borg
Tlf: 39 56 24 37