返回首页

gbase数据、南大通用产品文档:GBase8a_gbase_blob_max_length

更新日期:2024年09月11日

取值:[32768,4294967295]
默认值:67108864
说明:blob 类型字段最大字节长度,超过就报错Data too long for longblob type
最小值:32768
最大值:4294967295
默认值:67108864。
修改方式:
可使用set 语句修改值也可在配置文件中修改值。
适用于session、
global
范围均可。

ifx_lo_stat() 函数返回关于打开的智能大对象的状态的信息。

语法
mint ifx_lo_stat(LO_fd, LO_stat)
mint LO_fd;
ifx_lo_stat_t **LO_stat;
LO_fd
表示您想要取得其状态信息的打开的智能大对象的 LO 文件描述符。
LO_stat
指向指向 ifx_lo_stat() 分配并以状态信息完成的 LO-status 结构的指针的指针。

用法

ifx_lo_stat() 函数分配 LO-status 结构 ifx_lo_stat_t,并以 LO_fd
文件描述符标识的智能大对象的状态信息初始化。要访问该状态信息,对于
LO-status 结构,请使用 GBase 8s ESQL/C 访问器函数。

请使用 ifx_lo_stat_free() 函数来释放 LO-status 结构。

返回代码
0
函数成功。

GBase 8s ESQL/C 编程指南
南大通用数据技术股份有限公司
- 799 -

<0
函数不成功,且返回值指示失败的原因。

功能描述
定义一种新的过程语言。单机和集中式暂不支持创建过程语言。
语法格式
CREATE [ OR REPLACE ] [ PROCEDURAL ] LANGUAGE name;
CREATE [ OR REPLACE ] [ TRUSTED ] [ PROCEDURAL ] LANGUAGE name
HANDLER call_handler [ INLINE inline_handler ] [ VALIDATOR valfunction ];
参数说明

TRUSTED
TRUSTED 说明该语言并不授权没有权限的用户访问数据。
如果在注册该语言时忽略这
个关键字,则只有超级用户权限可以使用。

PROCEDURAL
这是个没有用的字。

name
新过程语言的名称。这个名字应该在数据库的所有语言中唯一。
出于向下兼容的原因,这个名字可以用单引号包围。

HANDLER call_handler
call_handler 是一个以前注册过的函数名字,该函数将被用来执行该过程语言的函数。
过程语言的调用处理器必须用一种编译语言(比如C)书写,调用风格必须是版本1 的调用风

GBase 8c SQL 参考手册
南大通用数据技术股份有限公司
900
格,
并且注册为不接受参数并且返回language_handler 类型的函数。
language_handler 是用于
将函数声明为调用处理器的占位符。

INLINE inline_handler
inline_handler 是以前注册过的函数名字,用来在该语言中执行一个匿名代码块(DO 命
令)。如果没有指定inline_handler 函数,那么该语言不支持匿名代码块。处理器函数必须接
受一个internal 类型的参数,这将是DO 命令的内部表示,并且它通常返回void。忽略该处
理器的返回值。

VALIDATOR valfunction
valfunction 是一个以前注册过的函数名字,
在用该语言创建新函数的时候将用它来校验
新函数。如果没有声明校验函数,那么建立新函数的时候就不会检查它。
校验函数必须接受
一个类型为oid 的参数,它是将要创建的函数的OID,并且通常会返回void。
校验函数通常会检查函数体,
看看有没有语法错误,
但是它也可以查看函数的其它属性,
比如该语言是否不能处理某种参数类型。校验函数应该用ereport()函数报告错误。该函数的
返回值将被忽略。
示例
创建标准的过程语言的比较好的方法:
CREATE LANGUAGE plperl;
对于pg_pltemplate 还不知道的语言,需要下面这样的序列:
CREATE FUNCTION plsample_call_handler() RETURNS language_handler
AS '$libdir/plsample'
LANGUAGE C;
CREATE LANGUAGE plsample
HANDLER plsample_call_handler;