UDA Database Control

Database Control

After the meta-dictionary has been registered, a single database is opened with the UDA open API function:

 
    MCO_RET mco_uda_db_open( const mco_metadict_header_t * metadict,
                unsigned short dict_no,
                mco_uda_dict_class_storage_t *dict_classes_storage,
                uint2 n_dict_classes_storage);
             

Notice the use of the structure argument mco_uda_dict_class_storage_t, it allows redefining the storage type (transient or persistent) for classes at runtime. The structure is defined as:

     
    typedef struct
    {
        uint2 class_code;    /* class code */
        uint1 persistence;   /* persistent or transient*/
    } mco_uda_dict_class_storage_t;
     

Where the persistence argument can have one of the following values:

     
    #define MCO_UDA_CLASS_DEFAULT    0
    #define MCO_UDA_CLASS_TRANSIENT  1
    #define MCO_UDA_CLASS_PERSISTENT 2
     

Each open database is then closed with the following:

 
    MCO_RET mco_uda_db_close( const mco_metadict_header_t * metadict,
                    unsigned short dict_no );
                     

Note that the native API mco_db_open_dev()/mco_db_close() pair may also be used together with the UDA API.