Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Greenplum
Gpdb
提交
001d30ee
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,发现更多精彩内容 >>
提交
001d30ee
编写于
7月 11, 2006
作者:
T
Teodor Sigaev
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add support to GIN for =(anyarray,anyarray) operation
上级
6d57ed77
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
52 addition
and
5 deletion
+52
-5
src/backend/access/gin/ginarrayproc.c
src/backend/access/gin/ginarrayproc.c
+3
-1
src/include/catalog/catversion.h
src/include/catalog/catversion.h
+2
-2
src/include/catalog/pg_amop.h
src/include/catalog/pg_amop.h
+31
-1
src/test/regress/expected/create_index.out
src/test/regress/expected/create_index.out
+12
-0
src/test/regress/expected/opr_sanity.out
src/test/regress/expected/opr_sanity.out
+2
-1
src/test/regress/sql/create_index.sql
src/test/regress/sql/create_index.sql
+2
-0
未找到文件。
src/backend/access/gin/ginarrayproc.c
浏览文件 @
001d30ee
...
...
@@ -8,7 +8,7 @@
* Portions Copyright (c) 1994, Regents of the University of California
*
* IDENTIFICATION
* $PostgreSQL: pgsql/src/backend/access/gin/ginarrayproc.c,v 1.
2 2006/07/11 17:04:12 momjian
Exp $
* $PostgreSQL: pgsql/src/backend/access/gin/ginarrayproc.c,v 1.
3 2006/07/11 19:49:13 teodor
Exp $
*-------------------------------------------------------------------------
*/
...
...
@@ -28,6 +28,7 @@
#define GinOverlapStrategy 1
#define GinContainsStrategy 2
#define GinContainedStrategy 3
#define GinEqualStrategy 4
#define ARRAYCHECK(x) do { \
if ( ARR_HASNULL(x) ) \
...
...
@@ -86,6 +87,7 @@ ginarrayconsistent(PG_FUNCTION_ARGS) {
res
=
TRUE
;
break
;
case
GinContainsStrategy
:
case
GinEqualStrategy
:
res
=
TRUE
;
for
(
i
=
0
;
i
<
nentries
;
i
++
)
if
(
!
check
[
i
]
)
{
...
...
src/include/catalog/catversion.h
浏览文件 @
001d30ee
...
...
@@ -37,7 +37,7 @@
* Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/include/catalog/catversion.h,v 1.33
7 2006/07/10 16:20:51 alvherre
Exp $
* $PostgreSQL: pgsql/src/include/catalog/catversion.h,v 1.33
8 2006/07/11 19:49:13 teodor
Exp $
*
*-------------------------------------------------------------------------
*/
...
...
@@ -53,6 +53,6 @@
*/
/* yyyymmddN */
#define CATALOG_VERSION_NO 2006071
0
1
#define CATALOG_VERSION_NO 2006071
1
1
#endif
src/include/catalog/pg_amop.h
浏览文件 @
001d30ee
...
...
@@ -23,7 +23,7 @@
* Portions Copyright (c) 1996-2006, PostgreSQL Global Development Group
* Portions Copyright (c) 1994, Regents of the University of California
*
* $PostgreSQL: pgsql/src/include/catalog/pg_amop.h,v 1.7
1 2006/05/02 15:23:16
teodor Exp $
* $PostgreSQL: pgsql/src/include/catalog/pg_amop.h,v 1.7
2 2006/07/11 19:49:13
teodor Exp $
*
* NOTES
* the genbki.sh script reads this file and generates .bki
...
...
@@ -642,6 +642,7 @@ DATA(insert ( 2595 0 12 t 2590 ));
DATA
(
insert
(
2745
0
1
f
2750
));
DATA
(
insert
(
2745
0
2
f
2751
));
DATA
(
insert
(
2745
0
3
t
2752
));
DATA
(
insert
(
2745
0
4
t
1070
));
/*
* gin _text_ops
...
...
@@ -649,6 +650,7 @@ DATA(insert ( 2745 0 3 t 2752 ));
DATA
(
insert
(
2746
0
1
f
2750
));
DATA
(
insert
(
2746
0
2
f
2751
));
DATA
(
insert
(
2746
0
3
t
2752
));
DATA
(
insert
(
2746
0
4
t
1070
));
/*
* gin _abstime_ops
...
...
@@ -656,6 +658,7 @@ DATA(insert ( 2746 0 3 t 2752 ));
DATA
(
insert
(
2753
0
1
f
2750
));
DATA
(
insert
(
2753
0
2
f
2751
));
DATA
(
insert
(
2753
0
3
t
2752
));
DATA
(
insert
(
2753
0
4
t
1070
));
/*
* gin _bit_ops
...
...
@@ -663,6 +666,7 @@ DATA(insert ( 2753 0 3 t 2752 ));
DATA
(
insert
(
2754
0
1
f
2750
));
DATA
(
insert
(
2754
0
2
f
2751
));
DATA
(
insert
(
2754
0
3
t
2752
));
DATA
(
insert
(
2754
0
4
t
1070
));
/*
* gin _bool_ops
...
...
@@ -670,6 +674,7 @@ DATA(insert ( 2754 0 3 t 2752 ));
DATA
(
insert
(
2755
0
1
f
2750
));
DATA
(
insert
(
2755
0
2
f
2751
));
DATA
(
insert
(
2755
0
3
t
2752
));
DATA
(
insert
(
2755
0
4
t
1070
));
/*
* gin _bpchar_ops
...
...
@@ -677,6 +682,7 @@ DATA(insert ( 2755 0 3 t 2752 ));
DATA
(
insert
(
2756
0
1
f
2750
));
DATA
(
insert
(
2756
0
2
f
2751
));
DATA
(
insert
(
2756
0
3
t
2752
));
DATA
(
insert
(
2756
0
4
t
1070
));
/*
* gin _bytea_ops
...
...
@@ -684,6 +690,7 @@ DATA(insert ( 2756 0 3 t 2752 ));
DATA
(
insert
(
2757
0
1
f
2750
));
DATA
(
insert
(
2757
0
2
f
2751
));
DATA
(
insert
(
2757
0
3
t
2752
));
DATA
(
insert
(
2757
0
4
t
1070
));
/*
* gin _char_ops
...
...
@@ -691,6 +698,7 @@ DATA(insert ( 2757 0 3 t 2752 ));
DATA
(
insert
(
2758
0
1
f
2750
));
DATA
(
insert
(
2758
0
2
f
2751
));
DATA
(
insert
(
2758
0
3
t
2752
));
DATA
(
insert
(
2758
0
4
t
1070
));
/*
* gin _cidr_ops
...
...
@@ -698,6 +706,7 @@ DATA(insert ( 2758 0 3 t 2752 ));
DATA
(
insert
(
2759
0
1
f
2750
));
DATA
(
insert
(
2759
0
2
f
2751
));
DATA
(
insert
(
2759
0
3
t
2752
));
DATA
(
insert
(
2759
0
4
t
1070
));
/*
* gin _date_ops
...
...
@@ -705,6 +714,7 @@ DATA(insert ( 2759 0 3 t 2752 ));
DATA
(
insert
(
2760
0
1
f
2750
));
DATA
(
insert
(
2760
0
2
f
2751
));
DATA
(
insert
(
2760
0
3
t
2752
));
DATA
(
insert
(
2760
0
4
t
1070
));
/*
* gin _float4_ops
...
...
@@ -712,6 +722,7 @@ DATA(insert ( 2760 0 3 t 2752 ));
DATA
(
insert
(
2761
0
1
f
2750
));
DATA
(
insert
(
2761
0
2
f
2751
));
DATA
(
insert
(
2761
0
3
t
2752
));
DATA
(
insert
(
2761
0
4
t
1070
));
/*
* gin _float8_ops
...
...
@@ -719,6 +730,7 @@ DATA(insert ( 2761 0 3 t 2752 ));
DATA
(
insert
(
2762
0
1
f
2750
));
DATA
(
insert
(
2762
0
2
f
2751
));
DATA
(
insert
(
2762
0
3
t
2752
));
DATA
(
insert
(
2762
0
4
t
1070
));
/*
* gin _inet_ops
...
...
@@ -726,6 +738,7 @@ DATA(insert ( 2762 0 3 t 2752 ));
DATA
(
insert
(
2763
0
1
f
2750
));
DATA
(
insert
(
2763
0
2
f
2751
));
DATA
(
insert
(
2763
0
3
t
2752
));
DATA
(
insert
(
2763
0
4
t
1070
));
/*
* gin _int2_ops
...
...
@@ -733,6 +746,7 @@ DATA(insert ( 2763 0 3 t 2752 ));
DATA
(
insert
(
2764
0
1
f
2750
));
DATA
(
insert
(
2764
0
2
f
2751
));
DATA
(
insert
(
2764
0
3
t
2752
));
DATA
(
insert
(
2764
0
4
t
1070
));
/*
* gin _int8_ops
...
...
@@ -740,6 +754,7 @@ DATA(insert ( 2764 0 3 t 2752 ));
DATA
(
insert
(
2765
0
1
f
2750
));
DATA
(
insert
(
2765
0
2
f
2751
));
DATA
(
insert
(
2765
0
3
t
2752
));
DATA
(
insert
(
2765
0
4
t
1070
));
/*
* gin _interval_ops
...
...
@@ -747,6 +762,7 @@ DATA(insert ( 2765 0 3 t 2752 ));
DATA
(
insert
(
2766
0
1
f
2750
));
DATA
(
insert
(
2766
0
2
f
2751
));
DATA
(
insert
(
2766
0
3
t
2752
));
DATA
(
insert
(
2766
0
4
t
1070
));
/*
* gin _macaddr_ops
...
...
@@ -754,6 +770,7 @@ DATA(insert ( 2766 0 3 t 2752 ));
DATA
(
insert
(
2767
0
1
f
2750
));
DATA
(
insert
(
2767
0
2
f
2751
));
DATA
(
insert
(
2767
0
3
t
2752
));
DATA
(
insert
(
2767
0
4
t
1070
));
/*
* gin _name_ops
...
...
@@ -761,6 +778,7 @@ DATA(insert ( 2767 0 3 t 2752 ));
DATA
(
insert
(
2768
0
1
f
2750
));
DATA
(
insert
(
2768
0
2
f
2751
));
DATA
(
insert
(
2768
0
3
t
2752
));
DATA
(
insert
(
2768
0
4
t
1070
));
/*
* gin _numeric_ops
...
...
@@ -768,6 +786,7 @@ DATA(insert ( 2768 0 3 t 2752 ));
DATA
(
insert
(
2769
0
1
f
2750
));
DATA
(
insert
(
2769
0
2
f
2751
));
DATA
(
insert
(
2769
0
3
t
2752
));
DATA
(
insert
(
2769
0
4
t
1070
));
/*
* gin _oid_ops
...
...
@@ -775,6 +794,7 @@ DATA(insert ( 2769 0 3 t 2752 ));
DATA
(
insert
(
2770
0
1
f
2750
));
DATA
(
insert
(
2770
0
2
f
2751
));
DATA
(
insert
(
2770
0
3
t
2752
));
DATA
(
insert
(
2770
0
4
t
1070
));
/*
* gin _oidvector_ops
...
...
@@ -782,6 +802,7 @@ DATA(insert ( 2770 0 3 t 2752 ));
DATA
(
insert
(
2771
0
1
f
2750
));
DATA
(
insert
(
2771
0
2
f
2751
));
DATA
(
insert
(
2771
0
3
t
2752
));
DATA
(
insert
(
2771
0
4
t
1070
));
/*
* gin _time_ops
...
...
@@ -789,6 +810,7 @@ DATA(insert ( 2771 0 3 t 2752 ));
DATA
(
insert
(
2772
0
1
f
2750
));
DATA
(
insert
(
2772
0
2
f
2751
));
DATA
(
insert
(
2772
0
3
t
2752
));
DATA
(
insert
(
2772
0
4
t
1070
));
/*
* gin _timestamptz_ops
...
...
@@ -796,6 +818,7 @@ DATA(insert ( 2772 0 3 t 2752 ));
DATA
(
insert
(
2773
0
1
f
2750
));
DATA
(
insert
(
2773
0
2
f
2751
));
DATA
(
insert
(
2773
0
3
t
2752
));
DATA
(
insert
(
2773
0
4
t
1070
));
/*
* gin _timetz_ops
...
...
@@ -803,6 +826,7 @@ DATA(insert ( 2773 0 3 t 2752 ));
DATA
(
insert
(
2774
0
1
f
2750
));
DATA
(
insert
(
2774
0
2
f
2751
));
DATA
(
insert
(
2774
0
3
t
2752
));
DATA
(
insert
(
2774
0
4
t
1070
));
/*
* gin _varbit_ops
...
...
@@ -810,6 +834,7 @@ DATA(insert ( 2774 0 3 t 2752 ));
DATA
(
insert
(
2775
0
1
f
2750
));
DATA
(
insert
(
2775
0
2
f
2751
));
DATA
(
insert
(
2775
0
3
t
2752
));
DATA
(
insert
(
2775
0
4
t
1070
));
/*
* gin _varchar_ops
...
...
@@ -817,6 +842,7 @@ DATA(insert ( 2775 0 3 t 2752 ));
DATA
(
insert
(
2776
0
1
f
2750
));
DATA
(
insert
(
2776
0
2
f
2751
));
DATA
(
insert
(
2776
0
3
t
2752
));
DATA
(
insert
(
2776
0
4
t
1070
));
/*
* gin _timestamp_ops
...
...
@@ -824,6 +850,7 @@ DATA(insert ( 2776 0 3 t 2752 ));
DATA
(
insert
(
2777
0
1
f
2750
));
DATA
(
insert
(
2777
0
2
f
2751
));
DATA
(
insert
(
2777
0
3
t
2752
));
DATA
(
insert
(
2777
0
4
t
1070
));
/*
* gin _money_ops
...
...
@@ -831,6 +858,7 @@ DATA(insert ( 2777 0 3 t 2752 ));
DATA
(
insert
(
2778
0
1
f
2750
));
DATA
(
insert
(
2778
0
2
f
2751
));
DATA
(
insert
(
2778
0
3
t
2752
));
DATA
(
insert
(
2778
0
4
t
1070
));
/*
* gin _reltime_ops
...
...
@@ -838,6 +866,7 @@ DATA(insert ( 2778 0 3 t 2752 ));
DATA
(
insert
(
2779
0
1
f
2750
));
DATA
(
insert
(
2779
0
2
f
2751
));
DATA
(
insert
(
2779
0
3
t
2752
));
DATA
(
insert
(
2779
0
4
t
1070
));
/*
* gin _tinterval_ops
...
...
@@ -845,5 +874,6 @@ DATA(insert ( 2779 0 3 t 2752 ));
DATA
(
insert
(
2780
0
1
f
2750
));
DATA
(
insert
(
2780
0
2
f
2751
));
DATA
(
insert
(
2780
0
3
t
2752
));
DATA
(
insert
(
2780
0
4
t
1070
));
#endif
/* PG_AMOP_H */
src/test/regress/expected/create_index.out
浏览文件 @
001d30ee
...
...
@@ -244,6 +244,12 @@ SELECT * FROM array_index_op_test WHERE i ~ '{38,34,32,89}' ORDER BY seqno;
98 | {38,34,32,89} | {AAAAAAAAAAAAAAAAAA71621,AAAA8857,AAAAAAAAAAAAAAAAAAA65037,AAAAAAAAAAAAAAAA31334,AAAAAAAAAA48845}
(3 rows)
SELECT * FROM array_index_op_test WHERE i = '{47,77}' ORDER BY seqno;
seqno | i | t
-------+---------+-----------------------------------------------------------------------------------------------------------------
95 | {47,77} | {AAAAAAAAAAAAAAAAA764,AAAAAAAAAAA74076,AAAAAAAAAA18107,AAAAA40681,AAAAAAAAAAAAAAA35875,AAAAA60038,AAAAAAA56483}
(1 row)
CREATE INDEX textarrayidx ON array_index_op_test USING gin (t);
SELECT * FROM array_index_op_test WHERE t @ '{AAAAAAAA72908}' ORDER BY seqno;
seqno | i | t
...
...
@@ -303,6 +309,12 @@ SELECT * FROM array_index_op_test WHERE t ~ '{AAAAAAAA72908,AAAAAAAAAAAAAAAAAAA1
45 | {99,45} | {AAAAAAAA72908,AAAAAAAAAAAAAAAAAAA17075,AA88409,AAAAAAAAAAAAAAAAAA36842,AAAAAAA48038,AAAAAAAAAAAAAA10611}
(2 rows)
SELECT * FROM array_index_op_test WHERE t = '{AAAAAAAAAA646,A87088}' ORDER BY seqno;
seqno | i | t
-------+------------+------------------------
96 | {23,97,43} | {AAAAAAAAAA646,A87088}
(1 row)
RESET enable_seqscan;
RESET enable_indexscan;
RESET enable_bitmapscan;
...
...
src/test/regress/expected/opr_sanity.out
浏览文件 @
001d30ee
...
...
@@ -833,7 +833,8 @@ ORDER BY 1, 2, 3;
2742 | 1 | &&
2742 | 2 | @
2742 | 3 | ~
(27 rows)
2742 | 4 | =
(28 rows)
-- Check that all operators linked to by opclass entries have selectivity
-- estimators. This is not absolutely required, but it seems a reasonable
...
...
src/test/regress/sql/create_index.sql
浏览文件 @
001d30ee
...
...
@@ -150,6 +150,7 @@ SELECT * FROM array_index_op_test WHERE i && '{17}' ORDER BY seqno;
SELECT
*
FROM
array_index_op_test
WHERE
i
@
'{32,17}'
ORDER
BY
seqno
;
SELECT
*
FROM
array_index_op_test
WHERE
i
&&
'{32,17}'
ORDER
BY
seqno
;
SELECT
*
FROM
array_index_op_test
WHERE
i
~
'{38,34,32,89}'
ORDER
BY
seqno
;
SELECT
*
FROM
array_index_op_test
WHERE
i
=
'{47,77}'
ORDER
BY
seqno
;
CREATE
INDEX
textarrayidx
ON
array_index_op_test
USING
gin
(
t
);
...
...
@@ -160,6 +161,7 @@ SELECT * FROM array_index_op_test WHERE t && '{AAAAAAAAAA646}' ORDER BY seqno;
SELECT
*
FROM
array_index_op_test
WHERE
t
@
'{AAAAAAAA72908,AAAAAAAAAA646}'
ORDER
BY
seqno
;
SELECT
*
FROM
array_index_op_test
WHERE
t
&&
'{AAAAAAAA72908,AAAAAAAAAA646}'
ORDER
BY
seqno
;
SELECT
*
FROM
array_index_op_test
WHERE
t
~
'{AAAAAAAA72908,AAAAAAAAAAAAAAAAAAA17075,AA88409,AAAAAAAAAAAAAAAAAA36842,AAAAAAA48038,AAAAAAAAAAAAAA10611}'
ORDER
BY
seqno
;
SELECT
*
FROM
array_index_op_test
WHERE
t
=
'{AAAAAAAAAA646,A87088}'
ORDER
BY
seqno
;
RESET
enable_seqscan
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录