返回首页

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

更新日期:2024年09月11日

功能描述
准备一个将要进行的SQL 语句。
原型
SQLRETURN SQLPrepare(SQLHSTMT
StatementHandle,
SQLCHAR
*StatementText,
SQLINTEGER TextLength);
参数
表8-26 SQLPrepare 参数
关键字
参数说明
StatementHandle
语句句柄。
StatementText
SQL 文本串。
TextLength
StatementText 的长度。
返回值

SQL_SUCCESS:表示调用正确。

SQL_SUCCESS_WITH_INFO:表示会有一些警告信息。

SQL_ERROR:表示比较严重的错误,如:内存分配失败、建立连接失败等。

SQL_INVALID_HANDLE:表示调用无效句柄。其他API 的返回值同理。
注意事项

GBase 8c V5 开发者手册
南大通用数据技术股份有限公司
263
当SQLPrepare 返回的值为SQL_ERROR 或SQL_SUCCESS_WITH_INFO 时,
通过调用
SQLGetDiagRec 函数,并将HandleType 和Handle 参数分别设置为SQL_HANDLE_STMT
和StatementHandle,可得到一个相关的SQLSTATE 值,通过SQLSTATE 值可以查出调用此
函数的具体信息。
示例
参见8.2.23 示例。

TEXT 类型仅仅是为了兼容其它数据库的类型,推荐使用VARCHAR 类型。
TEXT 类型最大支持10922 字符的存储长度,定义TEXT 列时,不能为它指定
DEFAULT 值。

GBase 8a MPP Cluster 产品手册
5 数据库管理指南
文档版本953(2022-04-10)
南大通用数据技术股份有限公司
632

SILO 管理本地内存和全局内存,如图13-3 所示。
全局内存是所有核共享的长期内存,主要用于存储所有的表数据和索引。
本地内存是短期内存,
主要由会话使用,
用于处理事务及将数据更改存储到事务内存中,
直到提交阶段。
当事务需要更改时,SILO 将该事务的所有数据从全局内存复制到本地内存。使用OCC
方法,全局内存中放置的是最小的锁,因此争用时间极短。事务更改完成后,该数据从本地
内存回推到全局内存中。
本地内存与SILO 增强并发控制的基本交互式事务流如下所示:
图13- 3 私有(本地)内存(每个事务)和全局内存(所有核的所有事务)