public MetadataMgr(bool isnew, Transaction tx) { //初始化元数据管理器 tblmgr = new TableMgr(isnew, tx); //维护了两张表,表信息(名称,记录长度),字段信息;创建表和获取表信息 viewmgr = new ViewMgr(isnew, tblmgr, tx); //用tblMgr创建视图表,存储视图信息 statmgr = new StatMgr(tblmgr, tx); //使用tblMgr获取到每张表的信息 idxmgr = new IndexMgr(isnew, tblmgr, tx); //使用tblMgr创建索引信息表 }
public ViewMgr(bool isNew, TableMgr tblMgr, Transaction tx) { this.tblMgr = tblMgr; if (isNew) { Schema sch = new Schema(); sch.addStringField("viewname", TableMgr.MAX_NAME); sch.addStringField("viewdef", MAX_VIEWDEF); tblMgr.createTable("viewcat", sch, tx); } }
public IndexMgr(bool isnew, TableMgr tblMgr, Transaction tx) {//构造一个索引管理器,这个构造函数在系统启动时被调用,若数据库是新建的,那么idxcat表就会被创建 if (isnew) { Schema sch = new Schema(); sch.addStringField("indexname", TableMgr.MAX_NAME); sch.addStringField("tablename", TableMgr.MAX_NAME); sch.addStringField("fieldname", TableMgr.MAX_NAME); tblMgr.createTable("idxcat", sch, tx); } ti = tblMgr.getTableInfo("idxcat", tx); }
public StatMgr(TableMgr tblMgr, Transaction tx) { this.tblMgr = tblMgr; refreshStatistics(tx); }