Skip site navigation (1)
Skip section navigation (2)
## Re: pgsql: Have numeric 0 ^ 4.3 return 1, rather than an error, and have 0 ^

### In response to

### Responses

### pgsql-committers by date

Simon Riggs <simon(at)2ndquadrant(dot)com> writes: > Wikipedia says that exponentiation of zero to a negative power implies > division by zero, so shouldn't we throw a "division by zero" error? I think it should be a specific message like "zero raised to a negative power is undefined". It's not like it's going to take us any extra code to know that we are faced with that case. BTW, I realized that SQL:2003 spells it all out for us in explicit detail: 12)If <power function> is specified, then let NVEB be the <numeric value expression base>, then let VB be the value of NVEB, let NVEE be the <numeric value expression exponent>, and let VE be the value of NVEE. Case: a) If either VB or VE is the null value, then the result is the null value. b) If VB is 0 (zero) and VE is negative, then an exception condition is raised: data exception invalid argument for power function. c) If VB is 0 (zero) and VE is 0 (zero), then the result is 1 (one). d) If VB is 0 (zero) and VE is positive, then the result is 0 (zero). e) If VB is negative and VE is not equal to an exact numeric value with scale 0 (zero), then an exception condition is raised: data exception invalid argument for power function. f) If VB is negative and VE is equal to an exact numeric value with scale 0 (zero) that is an even number, then the result is the result of EXP(NVEE*LN(-NVEB)) g) If VB is negative and VE is equal to an exact numeric value with scale 0 (zero) that is an odd number, then the result is the result of -EXP(NVEE*LN(-NVEB)) h) Otherwise, the result is the result of EXP(NVEE*LN(NVEB)) regards, tom lane

- Re: pgsql: Have numeric 0 ^ 4.3 return 1, rather thanan error, and have 0 ^ at 2008-05-09 08:00:36 from Simon Riggs

- Re: pgsql: Have numeric 0 ^ 4.3 return 1, rather than an error, and have 0 ^ at 2008-05-09 15:36:07 from Bruce Momjian

Next: From:Heikki LinnakangasDate:2008-05-09 15:27:17Subject: pgsql: Fix Assert introduced in previous patch.Previous: From: Heikki LinnakangasDate: 2008-05-09 14:28:09Subject: pgsql: Fix incorrect archive truncation point calculation in the %r