On 4/17/15 1:10 PM, Ray Cote wrote:
(Not an IEEE floating point expert, but...) I've learned the hard way to never rely on comparing two floating point numbers for equality -- and that's what you are doing if you join on them as primary keys. If you must use the underlying numeric data for joining, I'd recommend you do something like: * output the value to a string (rounded to a specific number of digits) * use the textual representation of the number as your primary key.
numeric would probably be more efficient, if you can use that instead. It does suffer from some of the same issues as floating point (there's been recent discussion of that on -hackers), but I believe it'd be better than double.
-- Jim Nasby, Data Architect, Blue Treble Consulting Data in Trouble? Get it in Treble! http://BlueTreble.com -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general