Thread

  1. Registering aggregate function for a custom domain

    Lele Gaifax <lele@metapensiero.it> — 2017-07-10T21:52:55Z

    Hi all,
    
    I'm used to define data domains and use them to create my tables, something
    like
    
      CREATE DOMAIN id_t uuid;
      CREATE DOMAIN text_t text;
      CREATE mytable (id id_t, value text_t, PRIMARY KEY (id));
    
    The only "annoyance" is that I cannot use some standard function:
    
      SELECT array_agg(id) FROM mytable;
      could not find array type for data type id_t
    
    and I must cast the value to the underlying concrete data type, for example:
    
      SELECT array_agg(id::uuid) FROM mytable;
      {00000000-0000-0000-0000-000000000000,c72ca134-655b-11e7...
    
    Is there a way to smooth my issue, registering a "compatible" array_agg() that
    accepts the domain too?
    
    Thanks in advance,
    ciao, lele.
    -- 
    nickname: Lele Gaifax | Quando vivrò di quello che ho pensato ieri
    real: Emanuele Gaifas | comincerò ad aver paura di chi mi copia.
    lele@metapensiero.it  |                 -- Fortunato Depero, 1929.