On Thu, Sep 17, 2015 at 10:58 PM, Kyotaro HORIGUCHI
<horiguchi.kyotaro@lab.ntt.co.jp> wrote:
> By the way, the complexity comes from separating integer and
> double. If there is no serios reason to separate them, handling
> all values as double makes things far simpler.
-1. double is an inexact type, whereas integer is an exact type.
The typical way to handle this sort of thing is to define a struct
whose first member is a type field and whose second field is a union
of all the types you need to care about. Then that gets passed around
everywhere. This patch should be designed in such a way that if we
eventually end up with functions that have 10 different return types
instead of 2 different return types, we don't need to add 8 more
parameters to any functions. Instead, those still return
PgBench_Value (or whatever we call it) which is the aforementioned
struct, but there are more options for what that can contain.
--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company