On Thu, Oct 27, 2005 at 05:41:01PM -0600, Michael Fuhr wrote: > If you want values ordered lexically then you can enumerate them > that way. Why force that behavior on people who want to order based > on some other criteria?
Well, I was arguing about the default behavior. I'd bet that we're going to have a constant set of people wondering why ORDER BY is doing the 'wrong thing' when ordering an ENUM, which is why I argued that the default behavior should be ordering based on the external type, not how we're storing it or some other order. But I'm clearly in the minority in this view, so I'm droping it. :) On to other issues... Andrew, you mentioned that if you want to change the ordering you should just create a new type. What about if you need to change the values that are in the enum? MySQL does (or at least did, it's been some time since I've messed with this) a horrible job at that. There's no way to rename anything; you have to add the new names you want, then do a bulk update, then delete the (now old) names. IMO this is broken. Also, if we are going to maintain ordering and mapping (presumably via the internal number that we're storing), then I think we should expose that, at least optionally. So for example, you should be able to define what a specific enum value means. Not everyone will want a linear numbering starting at 0 afterall. -- 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 6: explain analyze is your friend