返回首页

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

更新日期:2024年09月11日

Configuration settings 列名称及描述如下表所示。
列名称
描述
Name
GUC 名称。
Abstract
GUC 描述。
Type
数据类型。
Curent Valu
e
当前值。
Min Value
合法最小值。
Max Value
合法最大值。
Category
GUC 类别。
Enum Value
s
如果是枚举值,列举所有枚举值。
Default Val
ue
数据库启动时参数默认值。
Reset Value
数据库重置时参数默认值。

该方法用来执行单条或多条DML/DDL 语句,
如果为多条语句则返回迭代器,
否则返回None。
样例代码:
code 1
from GBaseConnector import connect
config = {'host' : '172.16.3.10',
'port' : 5258,
'user' : 'gbase',
'password' : 'gbase20110531',
'database' : 'test'}
conn = connect(**config)
cur = conn.cursor()
operation = "SELECT 1; INSERT INTO test VALUES(1,'a'); SELECT 2"
函数名称
返回值 返回值类型
函数参数
参数含义
execute
多语句
迭代器
如果
multi_stmt
为false,
返回None,
否则返回
iterator
1.operation(string)
2.params(tuple)
3.multi_stmt(bool)
1.要执行的SQL
语句
2.SQL 语句参数
3.是否为多条
SQL 语句



GBase Python 接口开发手册
南大通用数据技术股份有限公司

- 29 -
for result in cur.execute(operation,multi_stmt=True):
if result.has_rows:
print result.fetchall()
else:
print 'no result set'
conn.close()

code 2
from GBaseConnector import connect
config = {'host' : '172.16.3.10',
'port' : 5258,
'user' : 'gbase',
'password' : 'gbase20110531',
'database' : 'test'}
conn = connect(**config)
cur = conn.cursor()
operation = "INSERT INTO test VALUES(%s,%s)"
cur.execute(operation,(1,'a'))
conn.close()

GBase 8s JDBC Driver 的滚动游标特性遵循 JDBC 3.0 规范,有这些例外:
滚动灵敏性
滚动游标的 GBase 8s 数据库服务器实现将访存的行置于临时表中。如果另一进程更改原始
表中的一行(假定未锁定该行),且再次访存该行,则这些更改对于客户机是不可见的。
此行为类似于 JDBC 3.0 规范中的 SCROLL_INSENSITIVE 描述。GBase 8s JDBC
Driver 不支持 SCROLL_SENSITIVE 游标。要看到更新了的行,客户机应用程序必须关闭
并重新打开该游标。
客户机侧滚动
JDBC 规范表明,可在客户机侧结果集上发生滚动。GBase 8s JDBC Driver 仅支持结果集的
滚动达到数据库服务器支持滚动的程度。
结果集可更新性
对于产生可更新的结果集的 SQL 查询,JDBC 3.0 API 不提供严格的规范。通常,满足下
列条件的查询可产生可更新的结果集:

该查询仅引用数据库中的单个表。

该查询不包含任何 JOIN 操作。

该查询选择它引用的表的主键。

选择列表中的每个值表达式都必须由列规范组成,且没有列规范可出现多次。

表表达式的 WHERE 子句不可包括子查询。
GBase 8s JDBC Driver 放松对主键的要求,因为该驱动程序执行下列操作:
1.
驱动程序查找称为 ROWID 的列。
2.
驱动程序在表中查找 SERIAL、SERIAL8 或 BIGSERIAL 列。
3.
驱动程序在系统目录中查找表主键。
如果这些都不提供,则驱动程序返回错误。
当您删除结果集中一行时,会影响 ResultSet.absolute() 方法,
因为在删除之后行的位置更改
了。
当查询包含 SERIAL 列,
且在多行中复制该数据时,
则 updateRow() 或 deleteRow() 的执行
会影响包含该数据的所有行。
ScrollCursor.java 示例文件展示如何检索带有滚动游标的结果集。要了解如何使用可更新的
可滚动游标的示例,
请参阅UpdateCursor1.java、
UpdateCursor2.java 和 UpdateCursor3.java 文
件。


GBase 8s JDBC Driver 程序员指南
南大通用数据技术股份有限公司
- 68 -