Line data Source code
1 : /*------------------------------------------------------------------------- 2 : * 3 : * value.c 4 : * implementation of value nodes 5 : * 6 : * 7 : * Copyright (c) 2003-2025, PostgreSQL Global Development Group 8 : * 9 : * 10 : * IDENTIFICATION 11 : * src/backend/nodes/value.c 12 : * 13 : *------------------------------------------------------------------------- 14 : */ 15 : #include "postgres.h" 16 : 17 : #include "nodes/value.h" 18 : 19 : /* 20 : * makeInteger 21 : */ 22 : Integer * 23 574418 : makeInteger(int i) 24 : { 25 574418 : Integer *v = makeNode(Integer); 26 : 27 574418 : v->ival = i; 28 574418 : return v; 29 : } 30 : 31 : /* 32 : * makeFloat 33 : * 34 : * Caller is responsible for passing a palloc'd string. 35 : */ 36 : Float * 37 12334 : makeFloat(char *numericStr) 38 : { 39 12334 : Float *v = makeNode(Float); 40 : 41 12334 : v->fval = numericStr; 42 12334 : return v; 43 : } 44 : 45 : /* 46 : * makeBoolean 47 : */ 48 : Boolean * 49 109674 : makeBoolean(bool val) 50 : { 51 109674 : Boolean *v = makeNode(Boolean); 52 : 53 109674 : v->boolval = val; 54 109674 : return v; 55 : } 56 : 57 : /* 58 : * makeString 59 : * 60 : * Caller is responsible for passing a palloc'd string. 61 : */ 62 : String * 63 39535742 : makeString(char *str) 64 : { 65 39535742 : String *v = makeNode(String); 66 : 67 39535742 : v->sval = str; 68 39535742 : return v; 69 : } 70 : 71 : /* 72 : * makeBitString 73 : * 74 : * Caller is responsible for passing a palloc'd string. 75 : */ 76 : BitString * 77 4068 : makeBitString(char *str) 78 : { 79 4068 : BitString *v = makeNode(BitString); 80 : 81 4068 : v->bsval = str; 82 4068 : return v; 83 : }