Line data Source code
1 : /*------------------------------------------------------------------------- 2 : * 3 : * value.c 4 : * implementation of value nodes 5 : * 6 : * 7 : * Copyright (c) 2003-2024, 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 538266 : makeInteger(int i) 24 : { 25 538266 : Integer *v = makeNode(Integer); 26 : 27 538266 : v->ival = i; 28 538266 : return v; 29 : } 30 : 31 : /* 32 : * makeFloat 33 : * 34 : * Caller is responsible for passing a palloc'd string. 35 : */ 36 : Float * 37 12750 : makeFloat(char *numericStr) 38 : { 39 12750 : Float *v = makeNode(Float); 40 : 41 12750 : v->fval = numericStr; 42 12750 : return v; 43 : } 44 : 45 : /* 46 : * makeBoolean 47 : */ 48 : Boolean * 49 105196 : makeBoolean(bool val) 50 : { 51 105196 : Boolean *v = makeNode(Boolean); 52 : 53 105196 : v->boolval = val; 54 105196 : return v; 55 : } 56 : 57 : /* 58 : * makeString 59 : * 60 : * Caller is responsible for passing a palloc'd string. 61 : */ 62 : String * 63 36661172 : makeString(char *str) 64 : { 65 36661172 : String *v = makeNode(String); 66 : 67 36661172 : v->sval = str; 68 36661172 : 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 : }