diff --git a/src/backend/commands/command.c b/src/backend/commands/command.c
index cf8b136bd0600d06bacd428f48d475d62163858c..376bd3ae5fae8f59025b0bfd6089677094f14e96 100644
--- a/src/backend/commands/command.c
+++ b/src/backend/commands/command.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.12 1997/08/21 03:01:27 momjian Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/commands/Attic/command.c,v 1.13 1997/08/22 14:22:07 vadim Exp $
  *
  * NOTES
  *    The PortalExecutorHeapMemory crap needs to be eliminated
@@ -283,7 +283,9 @@ PerformAddAttribute(char *relationName,
      * we can't add a not null attribute
      */
     if (colDef->is_not_null)
-        elog(WARN,"Can't add a not null attribute to a existent relation");
+    	elog(WARN,"Can't add a not null attribute to a existent relation");
+    if (colDef->defval)
+    	elog(WARN,"ADD ATTRIBUTE: DEFAULT is not implemented, yet");
     /*
      * if the first element in the 'schema' list is a "*" then we are
      * supposed to add this attribute to all classes that inherit from
diff --git a/src/backend/commands/copy.c b/src/backend/commands/copy.c
index ee7948ac425c3a1a7bb1a7e851ddb35cbdc851b6..5fb94874256c17ed3ec49d5572f0d425c26c34a5 100644
--- a/src/backend/commands/copy.c
+++ b/src/backend/commands/copy.c
@@ -6,7 +6,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.26 1997/08/19 04:43:28 vadim Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/commands/copy.c,v 1.27 1997/08/22 14:22:09 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -608,15 +608,18 @@ CopyFrom(Relation rel, bool binary, bool oids, FILE *fp, char *delim)
 	 * ----------------
 	 */
 	
-	if (rel->rd_att->constr && rel->rd_att->constr->has_not_null)
-	  {
-	    int attrChk;
-	    for (attrChk = 1; attrChk <= rel->rd_att->natts; attrChk++) {
-	      if (rel->rd_att->attrs[attrChk-1]->attnotnull && heap_attisnull(tuple,attrChk))
-		elog(WARN,"CopyFrom:  Fail to add null value in not null attribute %s",
-		     rel->rd_att->attrs[attrChk-1]->attname.data);
-	    }
-	  }
+    	if ( rel->rd_att->constr )
+    	{
+    	    HeapTuple newtuple;
+    	
+    	    newtuple = ExecConstraints ("CopyFrom", rel, tuple);
+    	    
+    	    if ( newtuple != tuple )
+    	    {
+    	    	pfree (tuple);
+    	    	tuple = newtuple;
+    	    }
+    	}
 	
         heap_insert(rel, tuple);
             
diff --git a/src/backend/commands/sequence.c b/src/backend/commands/sequence.c
index d737a8ca06db2c441f06b01044a47a57bcb183f3..5d35f7b60f53d895f88f3bfd6b5a2f1e6e725704 100644
--- a/src/backend/commands/sequence.c
+++ b/src/backend/commands/sequence.c
@@ -97,6 +97,8 @@ DefineSequence (CreateSeqStmt *seq)
     	typnam->arrayBounds = NULL;
     	coldef = makeNode(ColumnDef);
     	coldef->typename = typnam;
+    	coldef->defval = NULL;
+    	coldef->is_not_null = false;
     	null[i-1] = ' ';
 
 	switch (i)
@@ -149,6 +151,7 @@ DefineSequence (CreateSeqStmt *seq)
     stmt->archiveLoc = -1;		/* default */
     stmt->archiveType = ARCH_NONE;
     stmt->inhRelnames = NIL;
+    stmt->constraints = NIL;
     
     ItsSequenceCreation = true;		/* hack */
 
diff --git a/src/backend/commands/view.c b/src/backend/commands/view.c
index 6bbd80cc19c19e6d48e5f07ef43c8a772e73264c..3cd011ace255c0a744c8f906ba5cb2a2a8bf7577 100644
--- a/src/backend/commands/view.c
+++ b/src/backend/commands/view.c
@@ -7,7 +7,7 @@
  *
  *
  * IDENTIFICATION
- *    $Header: /cvsroot/pgsql/src/backend/commands/view.c,v 1.7 1997/01/10 20:17:20 momjian Exp $
+ *    $Header: /cvsroot/pgsql/src/backend/commands/view.c,v 1.8 1997/08/22 14:22:14 vadim Exp $
  *
  *-------------------------------------------------------------------------
  */
@@ -77,6 +77,9 @@ DefineVirtualRelation(char *relname, List *tlist)
 	    def->colname = pstrdup(resname);
 
 	    def->typename = typename;
+	    
+	    def->is_not_null = false;
+	    def->defval = (char*) NULL;
 
 	    attrList = lappend(attrList, def);
 	}
@@ -95,6 +98,7 @@ DefineVirtualRelation(char *relname, List *tlist)
     createStmt.archiveType = ARCH_NONE;
     createStmt.location = -1;
     createStmt.archiveLoc = -1;
+    createStmt.constraints = NIL;
 
     /*
      * finally create the relation...