예제 #1
0
 private void RefreshData()
 {
     m_refreshing = m_appobj.FindDatabaseCache();
     if (m_refreshing != null)
     {
         m_refreshing.BeginRefresh();
     }
     CallLoad(m_appobj);
 }
예제 #2
0
 public override void DataRefresh()
 {
     m_children   = null;
     m_refreshing = this.FindDatabaseCache();
     if (m_refreshing != null)
     {
         m_refreshing.BeginRefresh();
     }
 }
예제 #3
0
 public override void EndLoadChildren(IAsyncResult async)
 {
     if (m_refreshing != null)
     {
         m_refreshing.EndRefresh();
         m_refreshing = null;
     }
     m_usageConn.Connection.EndInvoke(async);
 }
예제 #4
0
 protected override void DoLoadData()
 {
     base.DoLoadData();
     m_objs.Clear();
     try
     {
         if (m_appobj != null)
         {
             Widget.GetObjectList(m_objs, m_appobj, ConnPack);
         }
     }
     finally
     {
         if (m_refreshing != null)
         {
             m_refreshing.EndRefresh();
             m_refreshing = null;
         }
     }
 }
예제 #5
0
        public DatabaseStructure Run(ISqlDialect dialect, IPhysicalConnection conn, string dbname, DatabaseStructureMembers members, IProgressInfo progress)
        {
            AnalyserCache = conn.Cache.GetAnalyserCache(dbname);
            m_conn        = conn;
            //m_serverVersion = m_dbConn.ServerVersion;
            //ParseVersion();
            m_dialect      = dialect;
            m_members      = members;
            m_dbname       = dbname;
            m_progress     = progress;
            m_db.Dialect   = m_dialect;
            m_definedSpecs = m_dialect.GetSpecificTypes();


            PrepareMembers();

            SetCurWork(Texts.Get("s_loading_tables"));
            LoadDomains();
            LoadTableList();
            LoadTableColumns();
            LoadConstraints();
            LoadIndexes();
            AfterLoadIndexesOrConstraints();
            InternalAfterLoadConstraints();
            MarkFilledTableMembers();
            LoadSchemata();
            LoadCharacterSets();
            LoadCollations();

            SetCurWork(Texts.Get("s_loading_objects"));
            LoadSpecificObjects();

            LoadDatabaseOptions();
            LoadViewsAsTables();

            LoadDependencies();

            return(m_db);
        }
예제 #6
0
        public static void PutTableColumns(this DatabaseCache cache, string ns, NameWithSchema table, DataTable value)
        {
            string key = table != null?table.ToString() : "@#all";

            cache.Put(ns, key, value);
        }
예제 #7
0
        public static DataTable GetTableColumns(this DatabaseCache cache, string ns, NameWithSchema table)
        {
            string key = table != null?table.ToString() : "@#all";

            return((DataTable)cache.Get(ns, key));
        }
예제 #8
0
 public static void PutTableAnalyser(this DatabaseCache cache, string key, TableAnalyser value)
 {
     cache.Put("analyser.tableanal", key, value);
 }
예제 #9
0
 public static TableAnalyser GetTableAnalyser(this DatabaseCache cache, string key)
 {
     return((TableAnalyser)cache.Get("analyser.tableanal", key));
 }
예제 #10
0
 public static void PutQueryStructure(this DatabaseCache cache, string sql, TableStructure value)
 {
     cache.Put("analyser.querystructure", sql, value);
 }
예제 #11
0
 public static TableStructure GetQueryStructure(this DatabaseCache cache, string sql)
 {
     return((TableStructure)cache.Get("analyser.querystructure", sql));
 }
예제 #12
0
 public static void PutSqlData(this DatabaseCache cache, string sql, DataTable value)
 {
     cache.Put("analyser.sqldata", sql, value);
 }
예제 #13
0
 public static DataTable GetSqlData(this DatabaseCache cache, string sql)
 {
     return((DataTable)cache.Get("analyser.sqldata", sql));
 }