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
|
<?xml version="1.0" encoding="utf-8"?>
<test>
<name>rotation - *nix only</name>
<requires>
<non-rt/>
<non-windows/>
</requires>
<config>
searchd
{
<searchd_settings/>
<dynamic>
<variant>workers = fork</variant>
<variant>workers = prefork</variant>
</dynamic>
}
source sql
{
type = mysql
<sql_settings/>
sql_query = select id, text from test_table where mode = (select mode from test_table where id = 1000);
}
index index
{
source = sql
path = <data_path/>/index
}
source sql1 : sql
{
sql_query = select id, text, 1 as idd1 from test_table;
sql_attr_uint = idd1
}
source sql2 : sql
{
sql_query = select id, text, 1 as idd1, 2 as idd2 from test_table;
sql_attr_uint = idd1
sql_attr_uint = idd2
}
index i1
{
source = sql1
path = <data_path/>/index1
docinfo = inline
}
index i2
{
source = sql2
path = <data_path/>/index2
docinfo = inline
}
</config>
<db_drop>drop table if exists test_table</db_drop>
<db_create>
create table test_table
(
id int not null,
text varchar(255) not null,
mode int
);
</db_create>
<db_insert>
insert into test_table values
( 1, 'first', 1 ),
( 2, 'second', 1 ),
( 3, 'third', 1 ),
( 4, 'fourth', 1 ),
( 5, 'fifth', 1 ),
( 1, 'one', 2 ),
( 2, 'two', 2 ),
( 3, 'three', 2 ),
( 1000, '', 1 );
</db_insert>
<custom_test><![CDATA[
$query = create_function('$client,$words','$result = $client->Query ( $words, "index" ); if ( $result ) { unset ( $result["time"] ); return $result; } else return $client->GetLastError(); ');
$results = array();
$errors = '';
$results[] = $query ( $client, 'first' );
$results[] = $query ( $client, 'one' );
mysql_query ( 'update test_table set mode = 3 where id = 1000' );
RunIndexer ( $errors, '--all --rotate' );
sleep(2);
$results[] = $query ( $client, 'first' );
$results[] = $query ( $client, 'one' );
mysql_query ( 'update test_table set mode = 2 where id = 1000' );
RunIndexer ( $errors, '--all --rotate' );
sleep(2);
$results[] = $query ( $client, 'first' );
$results[] = $query ( $client, 'one' );
]]></custom_test>
</test>
|