Create a new parsetree node type, TypeCast, so that transformation of
Tom Lane <tgl@sss.pgh.pa.us>
Create a new parsetree node type, TypeCast, so that transformation of SQL cast constructs can be performed during expression transformation instead of during parsing. This allows constructs like x::numeric(9,2) and x::int2::float8 to behave as one would expect.
Files
| Path | Change | +/− |
|---|---|---|
| src/backend/nodes/copyfuncs.c | modified | +15 −1 |
| src/backend/nodes/freefuncs.c | modified | +13 −1 |
| src/backend/nodes/outfuncs.c | modified | +15 −1 |
| src/backend/parser/gram.y | modified | +40 −53 |
| src/backend/parser/parse_coerce.c | modified | +67 −3 |
| src/backend/parser/parse_expr.c | modified | +66 −6 |
| src/backend/parser/parse_target.c | modified | +2 −61 |
| src/include/nodes/nodes.h | modified | +2 −2 |
| src/include/nodes/parsenodes.h | modified | +17 −1 |
| src/include/parser/parse_coerce.h | modified | +5 −3 |