7
7
*
8
8
*
9
9
* IDENTIFICATION
10
- * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.12 1997/12/18 12:53:51 momjian Exp $
10
+ * $Header: /cvsroot/pgsql/src/backend/nodes/outfuncs.c,v 1.13 1997/12/23 19:50:54 thomas Exp $
11
11
*
12
12
* NOTES
13
13
* Every (plan) node in POSTGRES has an associated "out" routine which
@@ -1547,6 +1547,18 @@ _outStream(StringInfo str, Stream *node)
1547
1547
appendStringInfo (str , buf );
1548
1548
}
1549
1549
1550
+ static void
1551
+ _outAExpr (StringInfo str , A_Expr * node )
1552
+ {
1553
+ char buf [500 ];
1554
+
1555
+ sprintf (buf , "EXPR %s" , node -> opname );
1556
+ appendStringInfo (str , buf );
1557
+ _outNode (str , node -> lexpr );
1558
+ _outNode (str , node -> rexpr );
1559
+ return ;
1560
+ }
1561
+
1550
1562
static void
1551
1563
_outValue (StringInfo str , Value * value )
1552
1564
{
@@ -1572,6 +1584,27 @@ _outValue(StringInfo str, Value *value)
1572
1584
return ;
1573
1585
}
1574
1586
1587
+ static void
1588
+ _outIdent (StringInfo str , Ident * node )
1589
+ {
1590
+ char buf [500 ];
1591
+
1592
+ sprintf (buf , "IDENT %s" , node -> name );
1593
+ appendStringInfo (str , buf );
1594
+ return ;
1595
+ }
1596
+
1597
+ static void
1598
+ _outAConst (StringInfo str , A_Const * node )
1599
+ {
1600
+ char buf [500 ];
1601
+
1602
+ sprintf (buf , "CONST " );
1603
+ appendStringInfo (str , buf );
1604
+ _outValue (str , & (node -> val ));
1605
+ return ;
1606
+ }
1607
+
1575
1608
/*
1576
1609
* _outNode -
1577
1610
* converts a Node into ascii string and append it to 'str'
@@ -1763,6 +1796,15 @@ _outNode(StringInfo str, void *obj)
1763
1796
case T_Float :
1764
1797
_outValue (str , obj );
1765
1798
break ;
1799
+ case T_A_Expr :
1800
+ _outAExpr (str , obj );
1801
+ break ;
1802
+ case T_Ident :
1803
+ _outIdent (str , obj );
1804
+ break ;
1805
+ case T_A_Const :
1806
+ _outAConst (str , obj );
1807
+ break ;
1766
1808
default :
1767
1809
elog (NOTICE , "_outNode: don't know how to print type %d" ,
1768
1810
nodeTag (obj ));
0 commit comments