]> granicus.if.org Git - postgresql/blobdiff - src/backend/nodes/outfuncs.c
Support UPDATE/DELETE WHERE CURRENT OF cursor_name, per SQL standard.
[postgresql] / src / backend / nodes / outfuncs.c
index 5de540642f482fa2b14a1ce96abc368ff3f1850f..869905f0cc548e01b42ecf74f314bbc850b43597 100644 (file)
@@ -8,7 +8,7 @@
  *
  *
  * IDENTIFICATION
- *       $PostgreSQL: pgsql/src/backend/nodes/outfuncs.c,v 1.309 2007/06/05 21:31:04 tgl Exp $
+ *       $PostgreSQL: pgsql/src/backend/nodes/outfuncs.c,v 1.310 2007/06/11 01:16:22 tgl Exp $
  *
  * NOTES
  *       Every node type that can appear in stored rules' parsetrees *must*
@@ -1058,6 +1058,15 @@ _outSetToDefault(StringInfo str, SetToDefault *node)
        WRITE_INT_FIELD(typeMod);
 }
 
+static void
+_outCurrentOfExpr(StringInfo str, CurrentOfExpr *node)
+{
+       WRITE_NODE_TYPE("CURRENTOFEXPR");
+
+       WRITE_UINT_FIELD(cvarno);
+       WRITE_STRING_FIELD(cursor_name);
+}
+
 static void
 _outTargetEntry(StringInfo str, TargetEntry *node)
 {
@@ -2229,6 +2238,9 @@ _outNode(StringInfo str, void *obj)
                        case T_SetToDefault:
                                _outSetToDefault(str, obj);
                                break;
+                       case T_CurrentOfExpr:
+                               _outCurrentOfExpr(str, obj);
+                               break;
                        case T_TargetEntry:
                                _outTargetEntry(str, obj);
                                break;