예제 #1
0
 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创建索引信息表
 }
예제 #2
0
 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);
     }
 }
예제 #3
0
 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);
 }
예제 #4
0
 public StatMgr(TableMgr tblMgr, Transaction tx)
 {
     this.tblMgr = tblMgr;
     refreshStatistics(tx);
 }