## GdaDictAggregate

GdaDictAggregate — Represents an aggregate in the DBMS (like `COUNT()` or `AVG()` for example)

## Synopsis

                        GdaDictAggregate;
    GObject*            gda_dict_aggregate_new              (GdaDict *dict);
    void                gda_dict_aggregate_set_dbms_id      (GdaDictAggregate *agg,
                                                             const gchar *id);
    gchar*              gda_dict_aggregate_get_dbms_id      (GdaDictAggregate *agg);
    void                gda_dict_aggregate_set_sqlname      (GdaDictAggregate *agg,
                                                             const gchar *sqlname);
    const gchar*        gda_dict_aggregate_get_sqlname      (GdaDictAggregate *agg);
    void                gda_dict_aggregate_set_arg_dict_type
                                                            (GdaDictAggregate *agg,
                                                             GdaDictType *dt);
    GdaDictType*        gda_dict_aggregate_get_arg_dict_type
                                                            (GdaDictAggregate *agg);
    void                gda_dict_aggregate_set_ret_dict_type
                                                            (GdaDictAggregate *agg,
                                                             GdaDictType *dt);
    GdaDictType*        gda_dict_aggregate_get_ret_dict_type
                                                            (GdaDictAggregate *agg);

## Object Hierarchy

      GObject
       +----GdaObject
             +----GdaDictAggregate

## Implemented Interfaces

GdaDictAggregate implements GdaXmlStorage.

## Description

Because aggregates can be polymorphic, the name is not enough to identify them, so the DBMS provides a unique id which can be used to uniquely identify an aggregate.

It implements the GdaXmlStorage interface.

## Details

### GdaDictAggregate

    typedef struct _GdaDictAggregate GdaDictAggregate;

### gda_dict_aggregate_new ()

    GObject*            gda_dict_aggregate_new              (GdaDict *dict);

Creates a new GdaDictAggregate object which represents an aggregate in the dictionary

`dict` : | a GdaDict object
Returns : | the new object

### gda_dict_aggregate_set_dbms_id ()

    void                gda_dict_aggregate_set_dbms_id      (GdaDictAggregate *agg,
                                                             const gchar *id);

Set the DBMS identifier of the aggregate

`agg` : | a GdaDictAggregate object
`id` : | the DBMS identifier

### gda_dict_aggregate_get_dbms_id ()

    gchar*              gda_dict_aggregate_get_dbms_id      (GdaDictAggregate *agg);

Get the DBMS identifier of the aggregate

`agg` : | a GdaDictAggregate object
Returns : | the aggregate's id

### gda_dict_aggregate_set_sqlname ()

    void                gda_dict_aggregate_set_sqlname      (GdaDictAggregate *agg,
                                                             const gchar *sqlname);

Set the SQL name of the data type.

`agg` : | a GdaDictAggregate object
`sqlname` : |

### gda_dict_aggregate_get_sqlname ()

    const gchar*        gda_dict_aggregate_get_sqlname      (GdaDictAggregate *agg);

Get the DBMS's name of a data type.

`agg` : | a GdaDictAggregate object
Returns : | the name of the data type

### gda_dict_aggregate_set_arg_dict_type ()

    void                gda_dict_aggregate_set_arg_dict_type
                                                            (GdaDictAggregate *agg,
                                                             GdaDictType *dt);

Set the argument type of a aggregate

`agg` : | a GdaDictAggregate object
`dt` : | a GdaDictType objects or NULL value to represent the data type of the aggregate's unique argument .

### gda_dict_aggregate_get_arg_dict_type ()

    GdaDictType*        gda_dict_aggregate_get_arg_dict_type
                                                            (GdaDictAggregate *agg);

To consult the list of arguments types (and number) of a aggregate.

`agg` : | a GdaDictAggregate object
Returns : | a list of GdaDictType objects, the list MUST NOT be modified.

### gda_dict_aggregate_set_ret_dict_type ()

    void                gda_dict_aggregate_set_ret_dict_type
                                                            (GdaDictAggregate *agg,
                                                             GdaDictType *dt);

Set the return type of a aggregate

`agg` : | a GdaDictAggregate object
`dt` : | a GdaDictType object or NULL

### gda_dict_aggregate_get_ret_dict_type ()

    GdaDictType*        gda_dict_aggregate_get_ret_dict_type
                                                            (GdaDictAggregate *agg);

To consult the return type of a aggregate.

`agg` : | a GdaDictAggregate object
Returns : | a GdaDictType object.