diff options
| author | Tom Lane <tgl@sss.pgh.pa.us> | 2010-10-24 23:04:37 -0400 |
|---|---|---|
| committer | Tom Lane <tgl@sss.pgh.pa.us> | 2010-10-24 23:05:41 -0400 |
| commit | 84c123be1de8a9955741e20c9f945571e40c545e (patch) | |
| tree | 6ea497e47ec62ef8e1ee83b9acfe1fcd2b2419d6 /src/backend/nodes/copyfuncs.c | |
| parent | 24b29ca8f9dc4a5e5f873f0fcb56438c526700f6 (diff) | |
| download | postgresql-84c123be1de8a9955741e20c9f945571e40c545e.tar.gz | |
Allow new values to be added to an existing enum type.
After much expenditure of effort, we've got this to the point where the
performance penalty is pretty minimal in typical cases.
Andrew Dunstan, reviewed by Brendan Jurd, Dean Rasheed, and Tom Lane
Diffstat (limited to 'src/backend/nodes/copyfuncs.c')
| -rw-r--r-- | src/backend/nodes/copyfuncs.c | 16 |
1 files changed, 16 insertions, 0 deletions
diff --git a/src/backend/nodes/copyfuncs.c b/src/backend/nodes/copyfuncs.c index 508d7c70b1..5346c72cd9 100644 --- a/src/backend/nodes/copyfuncs.c +++ b/src/backend/nodes/copyfuncs.c @@ -2901,6 +2901,19 @@ _copyCreateEnumStmt(CreateEnumStmt *from) return newnode; } +static AlterEnumStmt * +_copyAlterEnumStmt(AlterEnumStmt *from) +{ + AlterEnumStmt *newnode = makeNode(AlterEnumStmt); + + COPY_NODE_FIELD(typeName); + COPY_STRING_FIELD(newVal); + COPY_STRING_FIELD(newValNeighbor); + COPY_SCALAR_FIELD(newValIsAfter); + + return newnode; +} + static ViewStmt * _copyViewStmt(ViewStmt *from) { @@ -4064,6 +4077,9 @@ copyObject(void *from) case T_CreateEnumStmt: retval = _copyCreateEnumStmt(from); break; + case T_AlterEnumStmt: + retval = _copyAlterEnumStmt(from); + break; case T_ViewStmt: retval = _copyViewStmt(from); break; |
