~vcs-imports/mammoth-replicator/trunk

« back to all changes in this revision

Viewing changes to contrib/tsearch/sql/tsearch.sql

  • Committer: alvherre
  • Date: 2005-12-16 21:24:52 UTC
  • Revision ID: svn-v4:db760fc0-0f08-0410-9d63-cc6633f64896:trunk:1
Initial import of the REL8_0_3 sources from the Pgsql CVS repository.

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
--
 
2
-- first, define the datatype.  Turn off echoing so that expected file
 
3
-- does not depend on contents of seg.sql.
 
4
--
 
5
\set ECHO none
 
6
\i tsearch.sql
 
7
\set ECHO all
 
8
 
 
9
--txtidx
 
10
SELECT '1'::txtidx;
 
11
SELECT '1 '::txtidx;
 
12
SELECT ' 1'::txtidx;
 
13
SELECT ' 1 '::txtidx;
 
14
SELECT '1 2'::txtidx;
 
15
SELECT '\'1 2\''::txtidx;
 
16
SELECT '\'1 \\\'2\''::txtidx;
 
17
SELECT '\'1 \\\'2\'3'::txtidx;
 
18
SELECT '\'1 \\\'2\' 3'::txtidx;
 
19
SELECT '\'1 \\\'2\' \' 3\' 4 '::txtidx;
 
20
 
 
21
--query_txt
 
22
SELECT '1'::query_txt;
 
23
SELECT '1 '::query_txt;
 
24
SELECT ' 1'::query_txt;
 
25
SELECT ' 1 '::query_txt;
 
26
SELECT '\'1 2\''::query_txt;
 
27
SELECT '\'1 \\\'2\''::query_txt;
 
28
SELECT '!1'::query_txt;
 
29
SELECT '1|2'::query_txt;
 
30
SELECT '1|!2'::query_txt;
 
31
SELECT '!1|2'::query_txt;
 
32
SELECT '!1|!2'::query_txt;
 
33
SELECT '!(!1|!2)'::query_txt;
 
34
SELECT '!(!1|2)'::query_txt;
 
35
SELECT '!(1|!2)'::query_txt;
 
36
SELECT '!(1|2)'::query_txt;
 
37
SELECT '1&2'::query_txt;
 
38
SELECT '!1&2'::query_txt;
 
39
SELECT '1&!2'::query_txt;
 
40
SELECT '!1&!2'::query_txt;
 
41
SELECT '(1&2)'::query_txt;
 
42
SELECT '1&(2)'::query_txt;
 
43
SELECT '!(1)&2'::query_txt;
 
44
SELECT '!(1&2)'::query_txt;
 
45
SELECT '1|2&3'::query_txt;
 
46
SELECT '1|(2&3)'::query_txt;
 
47
SELECT '(1|2)&3'::query_txt;
 
48
SELECT '1|2&!3'::query_txt;
 
49
SELECT '1|!2&3'::query_txt;
 
50
SELECT '!1|2&3'::query_txt;
 
51
SELECT '!1|(2&3)'::query_txt;
 
52
SELECT '!(1|2)&3'::query_txt;
 
53
SELECT '(!1|2)&3'::query_txt;
 
54
SELECT '1|(2|(4|(5|6)))'::query_txt;
 
55
SELECT '1|2|4|5|6'::query_txt;
 
56
SELECT '1&(2&(4&(5&6)))'::query_txt;
 
57
SELECT '1&2&4&5&6'::query_txt;
 
58
SELECT '1&(2&(4&(5|6)))'::query_txt;
 
59
SELECT '1&(2&(4&(5|!6)))'::query_txt;
 
60
SELECT '1&(\'2\'&(\' 4\'&(\\|5 | \'6 \\\' !|&\')))'::query_txt;
 
61
SELECT '1'::mquery_txt;
 
62
SELECT '1 '::mquery_txt;
 
63
SELECT ' 1'::mquery_txt;
 
64
SELECT ' 1 '::mquery_txt;
 
65
SELECT '\'1 2\''::mquery_txt;
 
66
SELECT '\'1 \\\'2\''::mquery_txt;
 
67
SELECT '!1'::mquery_txt;
 
68
SELECT '1|2'::mquery_txt;
 
69
SELECT '1|!2'::mquery_txt;
 
70
SELECT '!1|2'::mquery_txt;
 
71
SELECT '!1|!2'::mquery_txt;
 
72
SELECT '!(!1|!2)'::mquery_txt;
 
73
SELECT '!(!1|2)'::mquery_txt;
 
74
SELECT '!(1|!2)'::mquery_txt;
 
75
SELECT '!(1|2)'::mquery_txt;
 
76
SELECT '1&2'::mquery_txt;
 
77
SELECT '!1&2'::mquery_txt;
 
78
SELECT '1&!2'::mquery_txt;
 
79
SELECT '!1&!2'::mquery_txt;
 
80
SELECT '(1&2)'::mquery_txt;
 
81
SELECT '1&(2)'::mquery_txt;
 
82
SELECT '!(1)&2'::mquery_txt;
 
83
SELECT '!(1&2)'::mquery_txt;
 
84
SELECT '1|2&3'::mquery_txt;
 
85
SELECT '1|(2&3)'::mquery_txt;
 
86
SELECT '(1|2)&3'::mquery_txt;
 
87
SELECT '1|2&!3'::mquery_txt;
 
88
SELECT '1|!2&3'::mquery_txt;
 
89
SELECT '!1|2&3'::mquery_txt;
 
90
SELECT '!1|(2&3)'::mquery_txt;
 
91
SELECT '!(1|2)&3'::mquery_txt;
 
92
SELECT '(!1|2)&3'::mquery_txt;
 
93
SELECT '1|(2|(4|(5|6)))'::mquery_txt;
 
94
SELECT '1|2|4|5|6'::mquery_txt;
 
95
SELECT '1&(2&(4&(5&6)))'::mquery_txt;
 
96
SELECT '1&2&4&5&6'::mquery_txt;
 
97
SELECT '1&(2&(4&(5|6)))'::mquery_txt;
 
98
SELECT '1&(2&(4&(5|!6)))'::mquery_txt;
 
99
SELECT '1&(\'2\'&(\' 4\'&(\\|5 | \'6 \\\' !|&\')))'::mquery_txt;
 
100
SELECT 'querty-fgries | http://www.google.com/index.html | www.rambler.ru/index.shtml'::mquery_txt;
 
101
 
 
102
CREATE TABLE test_txtidx( t text, a txtidx );
 
103
 
 
104
\copy test_txtidx from 'data/test_tsearch.data'
 
105
 
 
106
SELECT count(*) FROM test_txtidx WHERE a @@ 'wr|qh';
 
107
SELECT count(*) FROM test_txtidx WHERE a @@ 'wr&qh';
 
108
SELECT count(*) FROM test_txtidx WHERE a @@ 'eq&yt';
 
109
SELECT count(*) FROM test_txtidx WHERE a @@ 'eq|yt';
 
110
SELECT count(*) FROM test_txtidx WHERE a @@ '(eq&yt)|(wr&qh)';
 
111
SELECT count(*) FROM test_txtidx WHERE a @@ '(eq|yt)&(wr|qh)';
 
112
 
 
113
SELECT count(*) FROM test_txtidx WHERE a ## 'wR|qh';
 
114
SELECT count(*) FROM test_txtidx WHERE a ## 'wR&qh';
 
115
SELECT count(*) FROM test_txtidx WHERE a ## 'eq&yt';
 
116
SELECT count(*) FROM test_txtidx WHERE a ## 'eq|yt';
 
117
SELECT count(*) FROM test_txtidx WHERE a ## '(eq&yt)|(wR&qh)';
 
118
SELECT count(*) FROM test_txtidx WHERE a ## '(eq|yt)&(wR|qh)';
 
119
 
 
120
create index wowidx on test_txtidx using gist (a);
 
121
 
 
122
SELECT count(*) FROM test_txtidx WHERE a @@ 'wr|qh';
 
123
SELECT count(*) FROM test_txtidx WHERE a @@ 'wr&qh';
 
124
SELECT count(*) FROM test_txtidx WHERE a @@ 'eq&yt';
 
125
SELECT count(*) FROM test_txtidx WHERE a @@ 'eq|yt';
 
126
SELECT count(*) FROM test_txtidx WHERE a @@ '(eq&yt)|(wr&qh)';
 
127
SELECT count(*) FROM test_txtidx WHERE a @@ '(eq|yt)&(wr|qh)';
 
128
 
 
129
SELECT count(*) FROM test_txtidx WHERE a ## 'wR|qh';
 
130
SELECT count(*) FROM test_txtidx WHERE a ## 'wR&qh';
 
131
SELECT count(*) FROM test_txtidx WHERE a ## 'eq&yt';
 
132
SELECT count(*) FROM test_txtidx WHERE a ## 'eq|yt';
 
133
SELECT count(*) FROM test_txtidx WHERE a ## '(eq&yt)|(wR&qh)';
 
134
SELECT count(*) FROM test_txtidx WHERE a ## '(eq|yt)&(wR|qh)';
 
135
 
 
136
SELECT txt2txtidx('345 qwe@efd.r \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/?  ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
 
137
/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234 
 
138
<i <b> wow  < jqw <> qwerty');
 
139
 
 
140
SELECT txtidxsize(txt2txtidx('345 qw'));
 
141
 
 
142
SELECT txtidxsize(txt2txtidx('345 qwe@efd.r \' http://www.com/ http://aew.werc.ewr/?ad=qwe&dw 1aew.werc.ewr/?ad=qwe&dw 2aew.werc.ewr http://3aew.werc.ewr/?ad=qwe&dw http://4aew.werc.ewr http://5aew.werc.ewr:8100/?  ad=qwe&dw 6aew.werc.ewr:8100/?ad=qwe&dw 7aew.werc.ewr:8100/?ad=qwe&dw=%20%32 +4.0e-10 qwe qwe qwqwe 234.435 455 5.005 teodor@stack.net qwe-wer asdf <fr>qwer jf sdjk<we hjwer <werrwe> ewr1> ewri2 <a href="qwe<qwe>">
 
143
/usr/local/fff /awdf/dwqe/4325 rewt/ewr wefjn /wqe-324/ewr gist.h gist.h.c gist.c. readline 4.2 4.2. 4.2, readline-4.2 readline-4.2. 234 
 
144
<i <b> wow  < jqw <> qwerty'));
 
145
 
 
146
INSERT INTO test_txtidx (a) VALUES ('345 qwerty');
 
147
 
 
148
CREATE TRIGGER txtidxupdate
 
149
BEFORE UPDATE OR INSERT ON test_txtidx
 
150
FOR EACH ROW EXECUTE PROCEDURE tsearch(a, t);
 
151
 
 
152
INSERT INTO test_txtidx (t) VALUES ('345 qwerty');
 
153
 
 
154
SELECT count(*) FROM test_txtidx WHERE a @@ '345&qwerty';
 
155
 
 
156
SELECT count(*) FROM test_txtidx WHERE a ## '345&qwerty';
 
157
 
 
158
UPDATE test_txtidx SET t = null WHERE t = '345 qwerty';
 
159
 
 
160
SELECT count(*) FROM test_txtidx WHERE a ## '345&qwerty';
 
161
 
 
162
SELECT count(*) FROM test_txtidx WHERE a @@ '345&qwerty';
 
163