Browse Source

fixed escaping in java (googlecode #2)
tests 42, 58 splitted into 104, 105 (common and *nix-only parts)

git-svn-id: svn://svn.sphinxsearch.com/sphinx/trunk@2226 406a0c4d-033a-0410-8de8-e80135713968

klirichek 16 years ago
parent
commit
c1a4cf9c37

+ 1 - 1
api/java/SphinxClient.java

@@ -1326,7 +1326,7 @@ public class SphinxClient
 	/** Escape the characters with special meaning in query syntax. */
 	static public String EscapeString ( String s )
 	{
-		return s.replaceAll ( "([\\(\\)\\|\\-\\!\\@\\~\\\"\\&\\/\\^\\$\\=])", "\\\\$1" );
+		return s.replaceAll ( "([\\(\\)\\|\\-\\!\\@\\~\\\\\\\"\\&\\/\\^\\$\\=])", "\\\\$1" );
 	}
 
 	/** Open persistent connection to searchd. */

File diff suppressed because it is too large
+ 0 - 0
test/test_042/model.bin


+ 0 - 2
test/test_042/test.xml

@@ -18,8 +18,6 @@ searchd
 	</dynamic>
 <dynamic>
 <variant>workers = none</variant>
-<variant>workers = fork</variant>
-<variant>workers = prefork</variant>
 <variant>workers = threads</variant>
 </dynamic>
 	

File diff suppressed because it is too large
+ 0 - 0
test/test_058/model.bin


+ 0 - 2
test/test_058/test.xml

@@ -13,8 +13,6 @@ searchd
 	<searchd_settings/>
 	<dynamic>
 		<variant>workers = none</variant>
-		<variant>workers = fork</variant>
-		<variant>workers = prefork</variant>
 		<variant>workers = threads</variant>
 	</dynamic>
 }

File diff suppressed because it is too large
+ 0 - 0
test/test_104/model.bin


+ 80 - 0
test/test_104/test.xml

@@ -0,0 +1,80 @@
+<?xml version="1.0" encoding="utf-8"?>
+
+<test>
+<name>persistent connections - *nix only</name>
+
+<requires>
+<non-windows/>
+</requires>
+
+<config>
+indexer
+{
+	mem_limit = 16M
+}
+
+searchd
+{
+	<searchd_settings/>
+	<dynamic>
+		<variant>client_timeout = 5</variant>
+		<variant>client_timeout = 1</variant>
+	</dynamic>
+<dynamic>
+<variant>workers = fork</variant>
+<variant>workers = prefork</variant>
+</dynamic>
+	
+}
+
+source srctest
+{
+	type = mysql
+	<sql_settings/>
+	sql_query = SELECT id, body FROM test_table
+}
+
+index test_idx
+{
+	source				= srctest
+	path				= <data_path/>/test
+}
+
+</config>
+
+<db_create>
+CREATE TABLE `test_table`
+(
+	`id` int(11) NOT NULL default '0',
+	`body` varchar(255) NOT NULL default ''
+)
+</db_create>
+
+<db_drop>
+DROP TABLE IF EXISTS `test_table`
+</db_drop>
+
+<db_insert>
+INSERT INTO `test_table` VALUES ( 1, 'test' )
+</db_insert>
+
+<custom_test><![CDATA[
+
+$results = array ();
+
+$results [] = $client->Open();
+
+$results [] = $client->Query ( 'test' );
+$results [] = $client->GetLastError();
+sleep ( 2 );
+$results [] = $client->Query ( 'test' );
+$results [] = $client->GetLastError();
+
+$results [] = $client->Close();
+
+foreach ( $results as &$r )
+	if ( is_array($r) )
+		unset ( $r['time'] );
+
+]]></custom_test>
+</test>

File diff suppressed because it is too large
+ 0 - 0
test/test_105/model.bin


+ 88 - 0
test/test_105/test.xml

@@ -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>

Some files were not shown because too many files changed in this diff