1
0
mirror of https://github.com/postgres/postgres.git synced 2025-08-22 21:53:06 +03:00

Improve COPY syntax to use WITH clause, keep backward compatibility.

This commit is contained in:
Bruce Momjian
2002-06-20 16:00:44 +00:00
parent 2912fd45d1
commit c2c2fd57ee
24 changed files with 1228 additions and 961 deletions

View File

@@ -15,7 +15,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.189 2002/06/18 17:27:57 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/nodes/copyfuncs.c,v 1.190 2002/06/20 16:00:43 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -1992,16 +1992,11 @@ _copyCopyStmt(CopyStmt *from)
{
CopyStmt *newnode = makeNode(CopyStmt);
newnode->binary = from->binary;
Node_Copy(from, newnode, relation);
newnode->oids = from->oids;
newnode->direction = from->direction;
newnode->is_from = from->is_from;
if (from->filename)
newnode->filename = pstrdup(from->filename);
if (from->delimiter)
newnode->delimiter = pstrdup(from->delimiter);
if (from->null_print)
newnode->null_print = pstrdup(from->null_print);
Node_Copy(from, newnode, options);
return newnode;
}

View File

@@ -20,7 +20,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.136 2002/06/18 17:27:57 momjian Exp $
* $Header: /cvsroot/pgsql/src/backend/nodes/equalfuncs.c,v 1.137 2002/06/20 16:00:43 momjian Exp $
*
*-------------------------------------------------------------------------
*/
@@ -799,19 +799,13 @@ _equalClusterStmt(ClusterStmt *a, ClusterStmt *b)
static bool
_equalCopyStmt(CopyStmt *a, CopyStmt *b)
{
if (a->binary != b->binary)
return false;
if (!equal(a->relation, b->relation))
return false;
if (a->oids != b->oids)
return false;
if (a->direction != b->direction)
if (a->is_from != b->is_from)
return false;
if (!equalstr(a->filename, b->filename))
return false;
if (!equalstr(a->delimiter, b->delimiter))
return false;
if (!equalstr(a->null_print, b->null_print))
if (!equal(a->options, b->options))
return false;
return true;