public virtual object Clone()
        {
            SQLiteInsertPrefix res = new SQLiteInsertPrefix(_conf);

            res._isInsert = _isInsert;
            return(res);
        }
 public SQLiteInsertStatement(SQLiteInsertPrefix prefix, string table, List <string> columns, SQLiteSelectStatement select)
 {
     _prefix   = prefix;
     TableName = table;
     Columns   = columns;
     _select   = select;
 }
 public SQLiteInsertStatement(SQLiteInsertPrefix prefix, string table, List <string> columns,
                              List <SQLiteExpression> values)
 {
     _prefix   = prefix;
     TableName = table;
     Columns   = columns;
     _values   = values;
 }
        public override bool Equals(object obj)
        {
            if (obj == null)
            {
                return(false);
            }

            SQLiteInsertPrefix dst = obj as SQLiteInsertPrefix;

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

            return(_conf == dst._conf);
        }
        public override object Clone()
        {
            SQLiteInsertPrefix prefix = null;

            if (_prefix != null)
            {
                prefix = (SQLiteInsertPrefix)_prefix.Clone();
            }
            SQLiteSelectStatement select = null;

            if (_select != null)
            {
                select = (SQLiteSelectStatement)_select.Clone();
            }
            List <string> columns = null;

            if (_columns != null)
            {
                columns = new List <string>();
                foreach (string str in _columns)
                {
                    columns.Add(str);
                }
            }
            List <SQLiteExpression> values = null;

            if (_values != null)
            {
                values = new List <SQLiteExpression>();
                foreach (SQLiteExpression expr in _values)
                {
                    values.Add((SQLiteExpression)expr.Clone());
                } // foreach
            }

            SQLiteInsertStatement res = new SQLiteInsertStatement();

            res._table   = _table;
            res._prefix  = prefix;
            res._select  = select;
            res._columns = columns;
            res._values  = values;
            return(res);
        }