eXtremeDB没有主键、外键之类的字段,但是eXtremeDB提供了一个叫做autoid的数据类型来代替主键、外键的功能。
autoid的类型是autoid_t。在schemea文件中,可以声明autoid,我很声明autoid可以定义成数组的方式,其大小为预估的类对象的个数。autoid的值由eXtremeDB的runtime产生,其值是唯一的。
/* database schema */
class referenced {
…
autoid[4000];
…
};
当一个类声明了autoid,那么该类将会产生两个函数:
MCO_RET classname_autoid_find( /*IN*/ mco_trans_h t, /*IN*/ autoid_t id, /*OUT*/ classname *handle );
MCO_RET classname_autoid_get( /*IN*/ classname *handle, /*OUT*/ autoid_t *id );
当一个声明了autoid的类创建一个对象时候,eXtremeDB runtime就会产生一个唯一值来标识一个对象,而这个值就可以通过_autoid_get函数来获取。通过_autoid_find函数来获取对象的引用。
阅读(800) | 评论(0) | 转发(0) |