Re: [pgsql-advocacy] MySQL to PostgreSQL, was ENUM type
От | Jim C. Nasby |
---|---|
Тема | Re: [pgsql-advocacy] MySQL to PostgreSQL, was ENUM type |
Дата | |
Msg-id | 20050729200348.GI95931@decibel.org обсуждение исходный текст |
Ответ на | Re: [pgsql-advocacy] MySQL to PostgreSQL, was ENUM type (Tom Lane <tgl@sss.pgh.pa.us>) |
Список | pgsql-general |
On Fri, Jul 29, 2005 at 03:57:48PM -0400, Tom Lane wrote: > "Jim C. Nasby" <decibel@decibel.org> writes: > > Is there any serious impediment to adding unsigned types to PostgreSQL? > > Quick, what's the datatype of 12345? And why? > > My guess is that transparent support for such a thing would require some > tricky and fragile compromises in the numeric hierarchy's promotion > rules. The handling of smallint is already pretty unsatisfactory > because "12345" is considered int not smallint; adding three or four > unsigned types would make that problem many times worse. ISTM that so long as you don't overflow or lose precision it shouldn't really matter what datatype is used to represent a number, until you use it someplace that specifies a datatype to use (such as a function or a table). I realize that function overloading gums this up a bit, but I don't think it's unreasonable to require the user to explicitly cast if they want an explicit function out of the overloaded set to be used (though throwing a warning if they don't cast might be a good idea). > > I don't think these would even have to be in core, if that's a > > concern. > > Sure, if you don't need it to work reasonably nicely --- although the > promotion rules are now embedded in pg_cast and hence modifiable, the > initial determination of a datatype for a numeric literal is still > hard-wired in the grammar. So what would those rules currently do when they find a value that exceedes a signed int? Or a signed bigint? -- Jim C. Nasby, Database Consultant decibel@decibel.org Give your computer some brain candy! www.distributed.net Team #1828 Windows: "Where do you want to go today?" Linux: "Where do you want to go tomorrow?" FreeBSD: "Are you guys coming, or what?"
В списке pgsql-general по дате отправления: