当前位置:网站首页>大伟 GBase8s游标稳定性读ESQL测试用例
大伟 GBase8s游标稳定性读ESQL测试用例
2022-07-29 10:52:00 【wangwei830】
GBase8s游标稳定性读
基础库表建立
create database db03 with log;
create table customer(
fname char(9),
lname char(9)
);
insert into customer values('a','A');
insert into customer values('b','B');
insert into customer values('c','C');
insert into customer values('aa','AA');
insert into customer values('bb','BB');
alter table customer lock mode (row);
游标稳定性读取行
#include <stdio.h>
#include <unistd.h>
EXEC SQL define FNAME_LEN 15;
EXEC SQL define LNAME_LEN 15;
main()
{
EXEC SQL BEGIN DECLARE SECTION;
char fname[ FNAME_LEN + 1 ];
char lname[ LNAME_LEN + 1 ];
EXEC SQL END DECLARE SECTION;
printf( "DEMO1 Sample ESQL Program running.\n\n");
EXEC SQL WHENEVER ERROR STOP;
EXEC SQL connect to 'db03';
EXEC SQL DECLARE democursor cursor for
select fname, lname
into :fname, :lname
from customer
where lname < 'C' ;
EXEC SQL execute immediate 'BEGIN WORK';
EXEC SQL execute immediate 'SET ISOLATION TO CURSOR STABILITY';
EXEC SQL open democursor;
for (;;)
{
getchar();
EXEC SQL fetch democursor;
if (strncmp(SQLSTATE, "00", 2) != 0)
break;
printf("%s %s\n",fname, lname);
}
if (strncmp(SQLSTATE, "02", 2) != 0)
printf("SQLSTATE after fetch is %s\n", SQLSTATE);
EXEC SQL execute immediate 'COMMIT WORK';
EXEC SQL close democursor;
EXEC SQL free democursor;
EXEC SQL disconnect current;
printf("\nDEMO1 Sample Program over.\n\n");
}
说明: 执行cs.exe程序,每按一次“回车”,程序的游标就会指向一行数据,此时这行数据就会被加上共享锁,别人就不能修改这行数据了。当游标指向下一行数据时,前面的一行数据就可以修改了。
测试步骤:
| 结果 | 会话1: | 会话2: | 窗口3: |
|---|---|---|---|
| ./cs.exe | |||
| “回车” | |||
| onstat -g sql 可以看到CURSOR STABILITY隔离级别。 onstat -k 可以看到只有第1行锁定了,其他行没有锁定。 | |||
| 锁报错update执行失败 | update customer set lname=‘A1’ where fname=‘a’ ; | ||
| update执行成功 | update customer set lname=‘B1’ where fname=‘b’ ; | ||
| “回车” | |||
| onstat -g sql 可以看到CURSOR STABILITY隔离级别。 onstat -k 可以看到只有第2行锁定了,其他行没有锁定。 | |||
| update执行成功 | update customer set lname=‘A2’ where fname=‘a’ ; | ||
| 锁报错update执行失败 | update customer set lname=‘B2’ where fname=‘b’ ; |
边栏推荐
- 1.MySQL数据库的介绍
- 聊聊性能测试环境搭建
- 2022cuda summer training camp Day6 practice
- 若依如何实现添加水印功能
- Watch the open source summit first | quick view of the sub Forum & Activity agenda on July 29
- KRYSTAL:审计数据中基于知识图的战术攻击发现框架
- 基于STM32设计的酒驾报警系统
- Alibaba P8 broke out this interview guide for big factories. After reading it, the salary soared by 30K!
- Using Riemann sum to calculate approximate integral in R language
- JS two array objects for merging and de duplication
猜你喜欢

一文搞懂什么是二叉树(二叉树的种类、遍历方式、定义)

Leetcode bit operation

QT工程基本构建

Kunlunbase instruction manual (IV) real time synchronization of data from Oracle to kunlunbase

重磅 | 基金会为白金、黄金、白银捐赠人授牌

WPF 截图控件之绘制方框与椭圆(四) 「仿微信」

Kunlun storage vs PostgreSQL OLTP test

KRYSTAL:审计数据中基于知识图的战术攻击发现框架

专访 | 阿里巴巴首席技术官程立:云 + 开源共同形成数字世界的可信基础

Site data collection -scrapy usage notes
随机推荐
主子仓库都修改,如何进行同步?
报表控件FastReport与StimulSoft功能对比
Watch the open source summit first | quick view of the sub Forum & Activity agenda on July 29
Pytorch 入门
8.穿插-从架构设计到实践理解ThreadPoolExecutor线程池
98. (cesium chapter) cesium point heat
牛客网刷题
就这?TypeScript其实并不难!(建议收藏)
Factoextra: visualization of multivariate statistics
会议OA项目(五)---- 会议通知、反馈详情
Structure the eighth operation of the combat battalion module
Summer 2022 software innovation laboratory training JDBC
Scrape crawler framework
Mitsubishi PLC and Siemens PLC
Software testing dry goods
正则表达式匹配网址
使用tidymodels搞定二分类logistic模型
WPF 截图控件之绘制方框与椭圆(四) 「仿微信」
专访 | 阿里巴巴首席技术官程立:云 + 开源共同形成数字世界的可信基础
Talk about the establishment of performance testing environment