|
|
@@ -0,0 +1,88 @@
|
|
|
+<?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
|
|
|
+}
|
|
|
+</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 ); 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>
|