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 (139 lines) | stat: -rw-r--r-- 3,243 bytes parent folder | download | duplicates (4)
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
<?xml version="1.0" encoding="utf-8"?>

<test>
<name>attributes update vs workers vs API and SphinxQL</name>

<requires>
<non-rt/>
<non-windows/>
<variant_match/>
</requires>

<config>
indexer
{
	mem_limit		= 16M
}

searchd
{
	<searchd_settings/>
	attr_flush_period = 10000
	<dynamic>
		<variant>workers = threads</variant>
		<variant>workers = prefork</variant>
		<variant>workers = fork</variant>
	</dynamic>
}

source src
{
	type			= mysql
	<sql_settings/>
	sql_query = SELECT id, text, 1 as gid, mva1 FROM test_table
	sql_attr_uint	= gid
<Dynamic>	
	<Variant>sql_attr_multi = uint mva1 from field mva1</Variant>
	<Variant>sql_attr_multi = bigint mva1 from field mva1</Variant>
</Dynamic>	
}

index idx
{
	source			= src
	path			= <data_path/>/idx
    docinfo			= extern
}

</config>

<custom_test><![CDATA[
$results = array ();

$restartD = create_function('$client','
	$results = array ();
	$results[] = StopWaitSearchd ( "config.conf", "searchd.pid" );

	$error = "";
	$startSta = StartSearchd ( "config.conf", "error.txt", "searchd.pid", $error );
	if ( $startSta == 0 || $startSta == 2 )
	{
		$results[] = "started=ok";
	}
	else
		$results[] = sprintf("start.err=%d local=%s client=%s", $startSta, $error, $client->GetLastError());
		
	global $sd_address, $sd_sphinxql_port;
	$sockStr = "$sd_address:$sd_sphinxql_port";
	if ($sd_address == "localhost")
		$sockStr = "127.0.0.1:$sd_sphinxql_port";
	$sock = @mysql_connect ($sockStr,"","",	true );
	if ( $sock === false )
	{
		$results[] = "error: can not connect to searchd: " . @mysql_errno ( $sock ) . " : " . @mysql_error ( $sock );
		return;
	}
	$res = @mysql_query ( "select * from idx" );
	while ($row = @mysql_fetch_array($res, MYSQL_ASSOC))
	{
		$line = "";
		foreach ($row as $key => $value)
			$line .= $value . "; ";
		$results[] = $line;
	}	
	
	return $results;
');


global $sd_address, $sd_sphinxql_port;
$sockStr = "$sd_address:$sd_sphinxql_port";
if ($sd_address == "localhost")
	$sockStr = "127.0.0.1:$sd_sphinxql_port";
$sock = @mysql_connect ($sockStr,'','',	true );
if ( $sock === false )
{
	$results[] = "error: can't connect to searchd: " . @mysql_errno ( $sock ) . " : " . @mysql_error ( $sock );
	return;
}
@mysql_query ( 'update idx set mva1=(3,2, 1, 2), mva1=(1, 2) where id=1' );
@mysql_close($sock);

$results = array_merge ( $results, $restartD ( $client ) );

$up = $client->UpdateAttributes ( "idx", array("mva1"), array(1=>array(array(2,3,4)), 3=>array(array(6,7,8))),true);
if ( $up >= 0 )
	$results[] = sprintf("up.ok=%d", $up);
else
	$results[] = sprintf("up.err=%s", $client->GetLastError());

$results = array_merge ( $results, $restartD ( $client ) );

// final fixup; we don't want to compare times
for ( $i=0; $i<count($results); $i++ )
	if ( is_array($results[$i]) )
		unset ( $results[$i]["time"] );

]]></custom_test>

  <DB_Create>
CREATE TABLE `test_table` (
  `id` int(11) DEFAULT NULL,
  `text` varchar (255) NOT NULL,
  `mva1` varchar(255) NOT NULL
)
  </DB_Create>

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

  <DB_Insert>
INSERT INTO `test_table` (`id`, `text`, `mva1`) VALUES
(1, 'test1', '1001'),
(2, 'test2', '1002 1023 4456'),
(3, 'test3', '1003 1008 1010'),
(4, 'test4', '1004 1005 1006');
  </DB_Insert>

</test>