返回首页

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

更新日期:2024年09月11日

sysprocedures 系统目录表列出了数据库中注册的每个函数和过程的特征。
它对每个例
程包含一行。
sysprocedures 中的每个函数具有唯一值 procid,
称为例程标识符。
在整个系统目录中,
函数由其例程标识符而不是其名称标识。
sysprocedures 表具有以下列。
表 26. SYSPROCEDURES 表列描述

类型
解释
procname
VARCHAR(128)
例程的名称
owner
VARCHAR(32)
所有者的名称
procid
SERIAL
例程的唯一标识代码
mode
CHAR(1)
方式类型: D 或 d = DBA O 或 o = 所有
者 P 或 p = 受保护 R 或 r = 受限制T
或 t = 触发器
retsize
INTEGER
返回值的已编译大小(以字节计)
symsize
INTEGER
符号表的已编译大小(以字节计)
datasize
INTEGER
常量数据的已编译大小(以字节计)
codesize
INTEGER
例程代码的已编译大小(以字节计)
numargs
INTEGER
例程的自变量数
isproc
CHAR(1)
指定例程是过程还是函数: t = 过程 f =
函数
specificname
VARCHAR(128)
指定例程的名称
externalname
VARCHAR(255)
外部例程的位置。此项在内容和格式上都
是特定于语言的。
paramstyle
CHAR(1)
参数样式:I = GBase 8s
langid
INTEGER
语言代码(在 sysroutinelangs 表中)
paramtypes
RTNPARAMTYPES
描述例程参数的信息

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 55 -


类型
解释
variant
BOOLEAN
例程是否是 VARIANT: t = 是 VARIANT f
= 不是 VARIANT
client
BOOLEAN
保留供将来使用
handlesnulls
BOOLEAN
NULL 处理指示符: t = 处理 NULLf = 不
处理 NULL
percallcost
INTEGER
每个调用的 CPU 量
执行 UDR 的整数成本:成本 / 调用 - 0
-(2^31-1)

commutator
VARCHAR(128)
换向函数的名称
negator
VARCHAR(128)
否定函数的名称
selfunc
VARCHAR(128)
用于估计 UDR 的选择性的函数的名称
internal
BOOLEAN
指定是否可以从 SQL 调用例程:t
= 例程
是内部的,不能从 SQL 调用 f = 例程是
外部的,可以从 SQL 调用
class
CHAR(18)
执行例程应依据的 CPU 类
stack
INTEGER
每个调用所需的堆栈大小(以字节计)
parallelizable
BOOLEAN
UDR 的并行化指示符:t = 可并行化 f =
不可并行化
costfunc
VARCHAR(128)
UDR 的成本函数的名称
selconst
SMALLFLOAT
UDR 的选择性常量
flags
INTEGER
仅供内部使用

在 mode 列中,R 方式是 O 方式的特殊情况。如果例程是以不同于例程创建者的指
定所有者创建的,那么例程处于受限 (R) 方式。如果执行了涉及远程数据库的例程语句,
那么数据库服务器使用执行例程的用户的访问特权而不是例程所有者的特权。在所有其他
情况下,R 方式例程与 O 方式例程行为相同。
数据库服务器可以创建受保护的例程供内部使用。sysprocedures 表在 mode 列中用
字母 P 或 p 标识这些受保护的例程,
其中 p 指示 SPL 例程。
受保护例程具有以下限制:
您无法使用 ALTER FUNCTION、ALTER PROCEDURE 或 ALTER ROUTINE 语句修改受保护的例
程。
您无法使用 DROP FUNCTION、DROP PROCEDURE 或 DROP ROUTINE 语句注销受保护的例程。

您无法使用 dbschema 实用程序显示受保护的例程。
在较早的版本中,
受保护的 SPL 例程用小写 p 指示。
从 V9.0 开始,
受保护的 SPL

GBase 8s SQL 指南:参考
南大通用数据技术股份有限公司 - 56 -

例程将被视为 DBA 例程,而不能是所有者例程。因此,D 和 O 表示 DBA 例程和所有
者例程,而 d 和 o 表示受保护的 DBA 例程和受保护的所有者例程。
触发器方式指定用户定义的 SPL 例程,只能从触发操作的 FOR EACH ROW 部分调用该
例程。
重要: 在发出 SET SESSION AUTHORIZATION 语句后,数据库服务器为所有使用新标
识时创建的所有者例程指定限制方式。
唯一索引定义于 procid 列。procname、isproc、numargs 和 owner 列的组合索引允
许重复值,specificname 和 owner 列的组合索引也允许重复值。

使用 LOW_MEMORY_MGR 配置参数来启用自动低内存管理,当达到内存限制时,您可用来更
改主服务器或标准服务器的缺省行为。
onconfig.std 值
LOW_MEMORY_MGR 0

1 = 当数据库服务器启动时,启用自动低内存管理。
0 = 禁用自动低内存管理。
生效
编辑 onconfig 文件并重启数据库服务器之后。
当您通过运行 onmode -wf 命令在 onconfig 文件中动态地重置该值时。
用法
如果您配置主服务器或标准服务器来使用 SHMTOTAL 配置参数值的一个百分率,该值用做
自动低内存管理启动和停止阈值,则 SHMTOTAL 配置参数必须设置为一个正整数值。

GBase 8s 管理员参考
南大通用数据技术股份有限公司 - 102 -
注意: 更改 SHMTOTAL 配置参数的值可导致自动低内存管理的配置变得无效,强制数据库
服务器使用缺省设置。
要启用自动低内存管理,请指定:
LOW_MEMORY_MGR 1

获取加载返回信息
#!/bin/env python
from GBaseConnector import connect, GBaseError
connStr = {'host':'192.168.6.89','port':5258, 'user':'gbase','passwd':'gbase20110531', 'database':'test',
'connection_timeout':9999999, 'charset':'utf8'}
conn = connect (**connStr)
cursor = conn.cursor()
cursor.execute("LOAD GCLUSTER DATA INFILE
'ftp://gbase:gbase@192.168.6.94/rebalance_tmpdata/lineitem.tbl' into table t1 fields terminated by
'|';")
print cursor.info
print cursor.rowcount
cursor.close()
conn.close()



GBase Python 接口开发手册


- 18 -

南大通用数据技术股份有限公司
5 GBase Python 常见问题
本章节介绍使用GBase
Python 时操作GBase 数据库时遇到的常见问题及解
决方法。