File: test.xml

package info (click to toggle)
sphinxsearch 2.2.11-8
  • links: PTS, VCS
  • area: main
  • in suites: bookworm, sid, trixie
  • size: 25,720 kB
  • sloc: cpp: 102,259; xml: 85,608; sh: 9,259; php: 3,790; ansic: 3,158; yacc: 1,969; java: 1,336; ruby: 1,289; python: 1,062; pascal: 912; perl: 381; lex: 275; makefile: 150; sql: 77; cs: 35
file content (149 lines) | stat: -rw-r--r-- 4,722 bytes parent folder | download | duplicates (5)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
<?xml version="1.0" encoding="utf-8"?>
<test>
<name>select expressions vs eval stages</name>

<requires> <variant_match /> </requires>

<config>
indexer
{
	mem_limit			= 16M
}

searchd
{
<searchd_settings/>
	workers			= threads
	binlog_path		=
}

source srctest
{
	type			= mysql
	<sql_settings/>
	sql_query		= SELECT * FROM test_table WHERE id IN (1,2, 3, 4 )
	sql_attr_uint	= ival
	sql_attr_float	= fval
}

index test
{
	source			= srctest
	path			= <data_path/>/test
}

index test_lengths
{
	source			= srctest
	path			= <data_path/>/test_lengths
	index_field_lengths = 1
}

source src_mva
{
	type			= mysql
	<sql_settings/>
	sql_query		= SELECT id, 1 as idd, title as mva, 'test' FROM test_table WHERE id=10
	sql_attr_uint	= idd
<Dynamic>	
	<Variant>sql_attr_multi = uint mva from field</Variant>
	<Variant>sql_attr_multi = bigint mva from field</Variant>
</Dynamic>	
}

index mva
{
	source			= src_mva
	path			= <data_path/>/mva
}

source src_final
{
	type			= mysql
	<sql_settings/>
	sql_query		= SELECT id, ival as idd1, id*1000 as idd2, 'test' FROM test_table
	sql_attr_uint	= idd1
	sql_attr_uint	= idd2
}

index final
{
	source			= src_final
	path			= <data_path/>/final
	docinfo = extern
}

</config>

<db_create>
CREATE TABLE test_table
(
	id INTEGER NOT NULL,
	ival INTEGER NOT NULL,
	fval INTEGER NOT NULL,
	title VARCHAR(255) NOT NULL
)
</db_create>

<db_drop>
DROP TABLE IF EXISTS `test_table`
</db_drop>

<db_insert>
INSERT INTO `test_table` VALUES
( 1, 11, 10, 'test one' ),
( 2, 11, 20, 'test two' ),
( 3, 11, -30, 'test three' ),
( 4, 22, -40, 'test four' ),

( 10, 1, 1, '10,11,12,13' ),

( 20, 200, 1, '1' ), ( 21, 201, 1, '1' ), ( 22, 202, 1, '1' ), ( 23, 203, 1, '1' ), ( 24, 204, 1, '1' ), ( 25, 205, 1, '1' ),
( 30, 300, 1, '1' ), ( 31, 301, 1, '1' ), ( 32, 302, 1, '1' ), ( 33, 303, 1, '1' ), ( 34, 304, 1, '1' ), ( 35, 305, 1, '1' )
</db_insert>

<sphqueries>
<sphinxql>select * from test where match('test') order by fval asc</sphinxql>
<sphinxql>select *, fval+1 as f1 from test where match('test') order by f1 desc</sphinxql>
<sphinxql>select * from test group by fval</sphinxql>
<sphinxql>select *, ival-1 as i1 from test group by i1</sphinxql>
<sphinxql>select *, weight()+ival as i1 from test where match('test')</sphinxql>
<sphinxql>select *, weight()+ival as i1 from test where match('test') and i1>1315</sphinxql>
<sphinxql>select *, weight() as w, w+ival as i1, i1+10 as i2 from test where match('test') and i2>1325</sphinxql>
<sphinxql>select *, 10+ival as i1, 50+i1 as i2 from test where match('test')</sphinxql>
<sphinxql>select *, 10+ival as i1, 50+i1 as i2 from test</sphinxql>
<sphinxql>select *, 10+ival as i1, 50+i1 as i2, i2*10 as i3 from test</sphinxql>
<sphinxql>select *, 10+ival as i1, 50+i1 as i2, i2*10-i1 as i3 from test</sphinxql>
<sphinxql>select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test</sphinxql>
<sphinxql>select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test order by i3 asc</sphinxql>
<sphinxql>select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test order by i1 asc, i3 desc</sphinxql>
<sphinxql>select *, 10+ival as i1, 50+i1 as i2, i2*fval as i3 from test group by i2</sphinxql>
<sphinxql>select *, 10+ival as i1, 50+i1 as i2, i2*id as i3 from test group by i3</sphinxql>

<!-- here is going another regression from bug #800-->
<sphinxql>select *, IN ( mva, 11 ) as cnd1 from mva where cnd1=1</sphinxql>
<!-- regression sorter gives first matches instead bests -->
<sphinxql>select id, idd1, idd2, idd1 + idd2 as i2 from final group by idd1 order by id desc limit 0,2 option max_matches=4</sphinxql>
<sphinxql>select id, idd1, idd2, idd1 + idd2 as i2 from final group by idd1 order by id desc limit 2,2 option max_matches=4</sphinxql>

<!-- regression float unhandled filters -->
<sphinxql>select * from test where fval&lt;=10.0</sphinxql>
<sphinxql>select * from test where fval&gt;=10.0</sphinxql>
<sphinxql>select * from test where fval&lt;10.0</sphinxql>
<sphinxql>select * from test where fval&gt;10.0</sphinxql>
<sphinxql>select * from test where fval=10.0</sphinxql>
<sphinxql>select * from test where fval&lt;&gt;10.0</sphinxql>

<!-- regression: filters vs field lengths  -->
<sphinxql>select * from test_lengths where title_len=0</sphinxql>
<sphinxql>select * from test_lengths where title_len=2</sphinxql>

<!-- regression bad complex expression -->
<sphinxql>select 50+ival*10 as ii1, 50+bad*10 from test</sphinxql>

<!-- regression: aggregate dependencies -->
<sphinxql>select ival*ival as p, sum(p), avg(p), min(p), max(p) from test</sphinxql>

</sphqueries>

</test>