Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
97e83468
G
Gpdb
项目概览
Greenplum
/
Gpdb
通知
7
Star
1
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
G
Gpdb
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
97e83468
编写于
4月 25, 2011
作者:
R
Robert Haas
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Regression tests for TOAST.
Kevin Grittner, per discussion of bug #5989
上级
b429519d
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
62 addition
and
10 deletion
+62
-10
src/test/regress/expected/delete.out
src/test/regress/expected/delete.out
+16
-7
src/test/regress/expected/insert.out
src/test/regress/expected/insert.out
+17
-0
src/test/regress/expected/update.out
src/test/regress/expected/update.out
+9
-0
src/test/regress/sql/delete.sql
src/test/regress/sql/delete.sql
+9
-3
src/test/regress/sql/insert.sql
src/test/regress/sql/insert.sql
+7
-0
src/test/regress/sql/update.sql
src/test/regress/sql/update.sql
+4
-0
未找到文件。
src/test/regress/expected/delete.out
浏览文件 @
97e83468
CREATE TABLE delete_test (
id SERIAL PRIMARY KEY,
a INT
a INT,
b text
);
NOTICE: CREATE TABLE will create implicit sequence "delete_test_id_seq" for serial column "delete_test.id"
NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "delete_test_pkey" for table "delete_test"
INSERT INTO delete_test (a) VALUES (10);
INSERT INTO delete_test (a
) VALUES (50
);
INSERT INTO delete_test (a
, b) VALUES (50, repeat('x', 10000)
);
INSERT INTO delete_test (a) VALUES (100);
-- allow an alias to be specified for DELETE's target table
DELETE FROM delete_test AS dt WHERE dt.a > 75;
...
...
@@ -16,11 +17,19 @@ ERROR: invalid reference to FROM-clause entry for table "delete_test"
LINE 1: DELETE FROM delete_test dt WHERE delete_test.a > 25;
^
HINT: Perhaps you meant to reference the table alias "dt".
SELECT
*
FROM delete_test;
id | a
----+----
1 | 10
2 | 50
SELECT
id, a, char_length(b)
FROM delete_test;
id | a
| char_length
----+----
+-------------
1 | 10
|
2 | 50
| 10000
(2 rows)
-- delete a row with a TOASTed value
DELETE FROM delete_test WHERE a > 25;
SELECT id, a, char_length(b) FROM delete_test;
id | a | char_length
----+----+-------------
1 | 10 |
(1 row)
DROP TABLE delete_test;
src/test/regress/expected/insert.out
浏览文件 @
97e83468
...
...
@@ -62,4 +62,21 @@ select * from inserttest;
2 | 3 | values are fun!
(7 rows)
--
-- TOASTed value test
--
insert into inserttest values(30, 50, repeat('x', 10000));
select col1, col2, char_length(col3) from inserttest;
col1 | col2 | char_length
------+------+-------------
| 3 | 7
| 5 | 7
| 5 | 4
| 7 | 7
10 | 20 | 2
-1 | 2 | 7
2 | 3 | 15
30 | 50 | 10000
(8 rows)
drop table inserttest;
src/test/regress/expected/update.out
浏览文件 @
97e83468
...
...
@@ -87,4 +87,13 @@ ERROR: invalid reference to FROM-clause entry for table "update_test"
LINE 1: UPDATE update_test AS t SET b = update_test.b + 10 WHERE t.a...
^
HINT: Perhaps you meant to reference the table alias "t".
-- Make sure that we can update to a TOASTed value.
UPDATE update_test SET c = repeat('x', 10000) WHERE c = 'car';
SELECT a, b, char_length(c) FROM update_test;
a | b | char_length
-----+----+-------------
100 | 20 |
11 | 41 | 10000
(2 rows)
DROP TABLE update_test;
src/test/regress/sql/delete.sql
浏览文件 @
97e83468
CREATE
TABLE
delete_test
(
id
SERIAL
PRIMARY
KEY
,
a
INT
a
INT
,
b
text
);
INSERT
INTO
delete_test
(
a
)
VALUES
(
10
);
INSERT
INTO
delete_test
(
a
)
VALUES
(
50
);
INSERT
INTO
delete_test
(
a
,
b
)
VALUES
(
50
,
repeat
(
'x'
,
10000
)
);
INSERT
INTO
delete_test
(
a
)
VALUES
(
100
);
-- allow an alias to be specified for DELETE's target table
...
...
@@ -14,6 +15,11 @@ DELETE FROM delete_test AS dt WHERE dt.a > 75;
-- to be referenced
DELETE
FROM
delete_test
dt
WHERE
delete_test
.
a
>
25
;
SELECT
*
FROM
delete_test
;
SELECT
id
,
a
,
char_length
(
b
)
FROM
delete_test
;
-- delete a row with a TOASTed value
DELETE
FROM
delete_test
WHERE
a
>
25
;
SELECT
id
,
a
,
char_length
(
b
)
FROM
delete_test
;
DROP
TABLE
delete_test
;
src/test/regress/sql/insert.sql
浏览文件 @
97e83468
...
...
@@ -28,4 +28,11 @@ insert into inserttest values(10, 20, '40'), (-1, 2, DEFAULT),
select
*
from
inserttest
;
--
-- TOASTed value test
--
insert
into
inserttest
values
(
30
,
50
,
repeat
(
'x'
,
10000
));
select
col1
,
col2
,
char_length
(
col3
)
from
inserttest
;
drop
table
inserttest
;
src/test/regress/sql/update.sql
浏览文件 @
97e83468
...
...
@@ -54,4 +54,8 @@ UPDATE update_test SET (a,b) = (select a,b FROM update_test where c = 'foo')
-- to the original table name
UPDATE
update_test
AS
t
SET
b
=
update_test
.
b
+
10
WHERE
t
.
a
=
10
;
-- Make sure that we can update to a TOASTed value.
UPDATE
update_test
SET
c
=
repeat
(
'x'
,
10000
)
WHERE
c
=
'car'
;
SELECT
a
,
b
,
char_length
(
c
)
FROM
update_test
;
DROP
TABLE
update_test
;
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录