This is cool; it's something people can use today if nothing else. Long-term, is it practical to have the enums compiled in? ISTM that's not very workable, but I'm completely guessing. The other issue is that this version makes it very difficult to change what's in the enum (not that that's at all easy with MySQL...)
On Thu, Oct 27, 2005 at 03:47:53PM -0400, Andrew Dunstan wrote: > > If people would like to play, I have created a little kit to help in > creating first class enum types in a few seconds. It works something > like this: > > make TYPENAME=rainbow ENUMS=' "red", "orange", "yellow", "green", > "blue", "indigo", "violet" ' > make TYPENAME=rainbow install > psql -f /path/to/contrib/rainbow-install.sql yourdb > > and you are done. Now you can do: > > create table foo( r rainbow); > insert into foo values('red'); > select 'red'::rainbow < 'green'::rainbow; <-- yields true > select rainbow_order('yellow'); <-- yields 2 > > The kit is at http://developer.postgresql.org/~adunstan/enumkit.tgz > > Needs 8.0 or later, since it use PGXS. > > Maximum number of values is 32767 - but if you use that many you're > insane anyway :-) > > I did this as part of thinking about how we might do enums properly. AS > Chris KL recently noted - it is very often asked for. So this is not the > end of the road, just a tiny step at the beginning. > > cheers > > andrew > > ---------------------------(end of broadcast)--------------------------- > TIP 9: In versions below 8.0, the planner will ignore your desire to > choose an index scan if your joining column's datatypes do not > match > -- Jim C. Nasby, Sr. Engineering Consultant [EMAIL PROTECTED] Pervasive Software http://pervasive.com work: 512-231-6117 vcard: http://jim.nasby.net/pervasive.vcf cell: 512-569-9461 ---------------------------(end of broadcast)--------------------------- TIP 1: if posting/reading through Usenet, please send an appropriate subscribe-nomail command to [EMAIL PROTECTED] so that your message can get through to the mailing list cleanly