1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74
|
/*--------------------------------------------------------------------
* Symbols referenced in this file:
* - makeInteger
* - makeString
* - makeFloat
*--------------------------------------------------------------------
*/
/*-------------------------------------------------------------------------
*
* value.c
* implementation of PGValue nodes
*
*
* Copyright (c) 2003-2017, PostgreSQL Global Development PGGroup
*
*
* IDENTIFICATION
* src/backend/nodes/value.c
*
*-------------------------------------------------------------------------
*/
#include "pg_functions.hpp"
#include "nodes/parsenodes.hpp"
#include <string>
#include <cstring>
namespace duckdb_libpgquery {
/*
* makeInteger
*/
PGValue *makeInteger(long i) {
PGValue *v = makeNode(PGValue);
v->type = T_PGInteger;
v->val.ival = i;
return v;
}
/*
* makeFloat
*
* Caller is responsible for passing a palloc'd string.
*/
PGValue *makeFloat(char *numericStr) {
PGValue *v = makeNode(PGValue);
v->type = T_PGFloat;
v->val.str = numericStr;
return v;
}
/*
* makeString
*
* Caller is responsible for passing a palloc'd string.
*/
PGValue *makeString(const char *str) {
PGValue *v = makeNode(PGValue);
v->type = T_PGString;
v->val.str = (char *)str;
return v;
}
/*
* makeBitString
*
* Caller is responsible for passing a palloc'd string.
*/
}
|