diff options
Diffstat (limited to 'src/backend/nodes/value.c')
-rw-r--r-- | src/backend/nodes/value.c | 75 |
1 files changed, 75 insertions, 0 deletions
diff --git a/src/backend/nodes/value.c b/src/backend/nodes/value.c new file mode 100644 index 0000000..15e6d26 --- /dev/null +++ b/src/backend/nodes/value.c @@ -0,0 +1,75 @@ +/*------------------------------------------------------------------------- + * + * value.c + * implementation of Value nodes + * + * + * Copyright (c) 2003-2021, PostgreSQL Global Development Group + * + * + * IDENTIFICATION + * src/backend/nodes/value.c + * + *------------------------------------------------------------------------- + */ +#include "postgres.h" + +#include "nodes/parsenodes.h" + +/* + * makeInteger + */ +Value * +makeInteger(int i) +{ + Value *v = makeNode(Value); + + v->type = T_Integer; + v->val.ival = i; + return v; +} + +/* + * makeFloat + * + * Caller is responsible for passing a palloc'd string. + */ +Value * +makeFloat(char *numericStr) +{ + Value *v = makeNode(Value); + + v->type = T_Float; + v->val.str = numericStr; + return v; +} + +/* + * makeString + * + * Caller is responsible for passing a palloc'd string. + */ +Value * +makeString(char *str) +{ + Value *v = makeNode(Value); + + v->type = T_String; + v->val.str = str; + return v; +} + +/* + * makeBitString + * + * Caller is responsible for passing a palloc'd string. + */ +Value * +makeBitString(char *str) +{ + Value *v = makeNode(Value); + + v->type = T_BitString; + v->val.str = str; + return v; +} |