云数据库 GAUSSDB-C语言函数(实验室特性):支持的数据类型以及接口

时间:2024-01-23 20:09:06

支持的数据类型以及接口

数据库支持数字,字符串,时间等多种类型。目前C函数支持的类型,以及各种类型的C类型和SQL类型的对应关系,类型的参数获取以及返回结果的接口,见下表:

表1 C类型和SQL类型的对应关系

SQL类型

C类型

获取参数

返回结果

varchar

VarChar*

PG_GETARG_DATUM

PG_RETURN_VARCHAR_P

text

text*

PG_GETARG_DATUM

PG_RETURN_TEXT_P

char

BpChar*

PG_GETARG_DATUM

PG_RETURN_BPCHAR_P

date

DateADT

PG_GETARG_DATUM

PG_RETURN_DATEADT

timestamp

Timestamp

PG_GETARG_TIMESTAMP

PG_RETURN_TIMESTAMP

smallint

int16

PG_GETARG_INT16

PG_RETURN_INT16

integer

int32

PG_GETARG_INT32

PG_RETURN_INT32

bigint

int64

PG_GETARG_INT64

PG_RETURN_INT64

常用函数及说明见下表:

表2 常用函数及说明

函数名

功能

TextDatumGet CS tring

传入text/varchar/bpchar的Datum类型,返回一个char*字符串

cstring_to_text

转换char*字符串到text/varchar类型

date_pl_interval

date类型加一个时间间隔

timestamp_pl_interval

timestamp类型加一个时间间隔

int4_numeric

integer数据转换成numeric类型

palloc

内存申请

pfree

内存释放

PointerGetDatum

指针类型强制转换成Datum类型

DirectFunctionCall1

调用1个参数的函数

DirectFunctionCall2

调用2个参数的函数

DirectFunctionCall3

调用3个参数的函数

PG_ARGISNULL(N)

判断函数的第n个参数是否为NULL

support.huaweicloud.com/distributed-devg-v3-gaussdb/gaussdb-12-0699.html