mirror of
https://github.com/postgres/postgres.git
synced 2025-07-12 21:01:52 +03:00
Promote row expressions to full-fledged citizens of the expression syntax,
rather than allowing them only in a few special cases as before. In particular you can now pass a ROW() construct to a function that accepts a rowtype parameter. Internal generation of RowExprs fixes a number of corner cases that used to not work very well, such as referencing the whole-row result of a JOIN or subquery. This represents a further step in the work I started a month or so back to make rowtype values into first-class citizens.
This commit is contained in:
@ -9,12 +9,13 @@
|
||||
*
|
||||
*
|
||||
* IDENTIFICATION
|
||||
* $PostgreSQL: pgsql/src/backend/nodes/makefuncs.c,v 1.42 2003/11/29 19:51:49 pgsql Exp $
|
||||
* $PostgreSQL: pgsql/src/backend/nodes/makefuncs.c,v 1.43 2004/05/10 22:44:44 tgl Exp $
|
||||
*
|
||||
*-------------------------------------------------------------------------
|
||||
*/
|
||||
#include "postgres.h"
|
||||
|
||||
#include "catalog/pg_type.h"
|
||||
#include "nodes/makefuncs.h"
|
||||
#include "utils/lsyscache.h"
|
||||
|
||||
@ -170,6 +171,17 @@ makeNullConst(Oid consttype)
|
||||
typByVal);
|
||||
}
|
||||
|
||||
/*
|
||||
* makeBoolConst -
|
||||
* creates a Const node representing a boolean value (can be NULL too)
|
||||
*/
|
||||
Node *
|
||||
makeBoolConst(bool value, bool isnull)
|
||||
{
|
||||
/* note that pg_type.h hardwires size of bool as 1 ... duplicate it */
|
||||
return (Node *) makeConst(BOOLOID, 1, BoolGetDatum(value), isnull, true);
|
||||
}
|
||||
|
||||
/*
|
||||
* makeBoolExpr -
|
||||
* creates a BoolExpr node
|
||||
|
Reference in New Issue
Block a user