public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            SQLitePrimaryKeyTableConstraint dst = obj as SQLitePrimaryKeyTableConstraint;

            if (dst == null)
            {
                return(false);
            }

            if (this._autoincrement != dst._autoincrement)
            {
                return(false);
            }
            if (this._conf != dst._conf)
            {
                return(false);
            }
            if (!RefCompare.CompareList <SQLiteIndexedColumn>(_columns, dst._columns))
            {
                return(false);
            }

            return(base.Equals(obj));
        }
        public override object Clone()
        {
            List <SQLiteIndexedColumn> columns = null;

            if (_columns != null)
            {
                columns = new List <SQLiteIndexedColumn>();
                foreach (SQLiteIndexedColumn c in _columns)
                {
                    columns.Add((SQLiteIndexedColumn)c.Clone());
                } // foreach
            }

            SQLitePrimaryKeyTableConstraint res = new SQLitePrimaryKeyTableConstraint(this.ConstraintName);

            res._autoincrement = _autoincrement;
            res._conf          = _conf;
            res._columns       = columns;
            return(res);
        }