Ejemplo n.º 1
0
        private List <IAbstractObjectStructure> GetEqualObjs()
        {
            var grps = new HashSetEx <string>();
            var objs = new List <IAbstractObjectStructure>();

            foreach (var elem in m_diff.Actions.Elements)
            {
                grps.Add(elem.GroupId);
            }

            foreach (var obj in m_src.Tables)
            {
                if (grps.Contains(obj.GroupId))
                {
                    continue;
                }
                objs.Add(obj);
            }
            foreach (var spec in m_src.GetAllSpecificObjects())
            {
                if (grps.Contains(spec.GroupId))
                {
                    continue;
                }
                objs.Add(spec);
            }
            return(objs);
        }
Ejemplo n.º 2
0
        private string GetMemberName(HashSetEx <string> members, string name, string altnamebase)
        {
            name = name.Replace(" ", "_");
            if (altnamebase != null)
            {
                altnamebase = altnamebase.Replace(" ", "_");
            }
            if (!members.Contains(name))
            {
                members.Add(name);
                return(name);
            }
            if (altnamebase != null && altnamebase.EndsWith("_ID") && !members.Contains(altnamebase.Substring(0, altnamebase.Length - 2)))
            {
                string n = altnamebase.Substring(0, altnamebase.Length - 2);
                members.Add(n);
                return(n);
            }
            string name0 = name;
            int    idx   = 1;

            while (members.Contains(name))
            {
                name = name0 + idx.ToString();
                idx++;
            }
            members.Add(name);
            return(name);
        }
Ejemplo n.º 3
0
 private void codeEditorQuery_Leave(object sender, EventArgs e)
 {
     try
     {
         SaveSource(false);
     }
     catch (Exception err)
     {
         CurCache.TargetChanged = false;
         CurCache.SourceModel   = null;
         StdDialog.ShowError(Errors.ExtractImportantException(err).Message);
     }
     if (CurCache.SourceModel != null)
     {
         var cols = new HashSetEx <string>();
         foreach (var col in CurCache.SourceModel.Columns)
         {
             if (cols.Contains(col.ColumnName))
             {
                 CurCache.TargetChanged = false;
                 CurCache.SourceModel   = null;
                 StdDialog.ShowError(Texts.Get("s_datasynerr_duplicate$column", "column", col.ColumnName));
                 break;
             }
             cols.Add(col.ColumnName);
         }
     }
 }
Ejemplo n.º 4
0
        //protected override void ParseVersion()
        //{
        //    m_version = new MySqlServerVersion(m_serverVersion);
        //}

        protected void WantShowTable(TableStructure table)
        {
            if (m_loadedTables.Contains(table.FullName.Name))
            {
                return;
            }
            LoadShowTable(table);
            m_loadedTables.Add(table.FullName.Name);
        }
Ejemplo n.º 5
0
        public string[] Complement(List <string> cols)
        {
            var incols = new HashSetEx <string>(cols);
            var res    = new List <string>();

            foreach (var item in Columns)
            {
                if (!incols.Contains(item.Target))
                {
                    res.Add(item.Target);
                }
            }
            return(res.ToArray());
        }
Ejemplo n.º 6
0
        private static string AllocName(HashSetEx <string> usedNames, ref int lastIndex, string preffered, string prefix)
        {
            string name;

            if (preffered != null)
            {
                name = preffered;
                int idx = 1;
                while (usedNames.Contains(name))
                {
                    name = String.Format("{0}{1}", name, idx++);
                }
            }
            else
            {
                name = String.Format("{0}_{1}", prefix, ++lastIndex);
            }
            usedNames.Add(name);
            return(name);
        }
Ejemplo n.º 7
0
        private List <DbDiffAction> GetColumnActions()
        {
            var res = new List <DbDiffAction>();

            if (m_shownAction == null)
            {
                return(res);
            }
            if (!(m_shownAction.SourceObject is ITableStructure) || !(m_shownAction.TargetObject is ITableStructure))
            {
                return(res);
            }

            var grps = new HashSetEx <string>();

            foreach (var elem in m_shownAction.Elements)
            {
                if (!(elem.AnyObject is IColumnStructure))
                {
                    continue;
                }
                res.Add(elem);
                grps.Add(elem.GroupId);
            }
            foreach (var scol in ((ITableStructure)m_shownAction.SourceObject).Columns)
            {
                if (grps.Contains(scol.GroupId))
                {
                    continue;
                }
                grps.Add(scol.GroupId);
                res.Add(new DbDiffAction(m_diff)
                {
                    GroupId = scol.GroupId
                });
            }

            res.Sort((a, b) => ((IColumnStructure)a.AnyObject).ColumnOrder - ((IColumnStructure)b.AnyObject).ColumnOrder);

            return(res);
        }
Ejemplo n.º 8
0
 public bool IsAltered(IAbstractObjectStructure obj)
 {
     return(alteredObjects.Contains(obj.GroupId));
 }