Mailing List Archive

r3636 - in trunk/perl: lib/KinoSearch lib/KinoSearch/Analysis lib/KinoSearch/Highlight lib/KinoSearch/Index lib/KinoSearch/Search lib/KinoSearch/Test lib/KinoSearch/Test/Util lib/KinoSearch/Util lib/KinoSearch/Util/Compat t
Author: creamyg
Date: 2008-07-27 10:41:24 -0700 (Sun, 27 Jul 2008)
New Revision: 3636

Modified:
trunk/perl/lib/KinoSearch/Analysis/PolyAnalyzer.pm
trunk/perl/lib/KinoSearch/Analysis/Stopalizer.pm
trunk/perl/lib/KinoSearch/Highlight/HeatMap.pm
trunk/perl/lib/KinoSearch/Index/IndexFileNames.pm
trunk/perl/lib/KinoSearch/Index/SegInfo.pm
trunk/perl/lib/KinoSearch/Index/Snapshot.pm
trunk/perl/lib/KinoSearch/InvIndexer.pm
trunk/perl/lib/KinoSearch/Obj.pm
trunk/perl/lib/KinoSearch/QueryParser.pm
trunk/perl/lib/KinoSearch/Search/MultiSearcher.pm
trunk/perl/lib/KinoSearch/Search/PhraseQuery.pm
trunk/perl/lib/KinoSearch/Search/PolyQuery.pm
trunk/perl/lib/KinoSearch/Search/TopDocs.pm
trunk/perl/lib/KinoSearch/Test/TestQueryParser.pm
trunk/perl/lib/KinoSearch/Test/TestQueryParserLogic.pm
trunk/perl/lib/KinoSearch/Test/TestQueryParserSyntax.pm
trunk/perl/lib/KinoSearch/Test/Util/TestCharBuf.pm
trunk/perl/lib/KinoSearch/Util/CharBuf.pm
trunk/perl/lib/KinoSearch/Util/Compat/DirManip.pm
trunk/perl/lib/KinoSearch/Util/Json.pm
trunk/perl/lib/KinoSearch/Util/Native.pm
trunk/perl/lib/KinoSearch/Util/PriorityQueue.pm
trunk/perl/lib/KinoSearch/Util/ToolSet.pm
trunk/perl/t/015-sort_external.t
trunk/perl/t/018-native.t
trunk/perl/t/028-sortexrun.t
trunk/perl/t/207-seg_lexicon.t
trunk/perl/t/521-remote_field_doc.t
Log:
Move to_kino and to_perl out of Native and into ToolSet.


Modified: trunk/perl/lib/KinoSearch/Analysis/PolyAnalyzer.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Analysis/PolyAnalyzer.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Analysis/PolyAnalyzer.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -11,7 +11,6 @@
use KinoSearch::Analysis::LCNormalizer;
use KinoSearch::Analysis::Tokenizer;
use KinoSearch::Analysis::Stemmer;
-use KinoSearch::Util::Native qw( to_kino );

sub new {
my ( $either, %args ) = @_;

Modified: trunk/perl/lib/KinoSearch/Analysis/Stopalizer.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Analysis/Stopalizer.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Analysis/Stopalizer.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -4,7 +4,6 @@
package KinoSearch::Analysis::Stopalizer;
use KinoSearch::Util::ToolSet;
use KinoSearch::base qw( KinoSearch::Analysis::Analyzer );
-use KinoSearch::Util::Native qw( to_kino );

use Lingua::StopWords;


Modified: trunk/perl/lib/KinoSearch/Highlight/HeatMap.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Highlight/HeatMap.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Highlight/HeatMap.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -4,7 +4,6 @@
package KinoSearch::Highlight::HeatMap;
use KinoSearch::Util::ToolSet;
use KinoSearch::base qw( KinoSearch::Obj );
-use KinoSearch::Util::Native qw( to_kino to_perl );

our %instance_vars = __PACKAGE__->init_instance_vars(
# members

Modified: trunk/perl/lib/KinoSearch/Index/IndexFileNames.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Index/IndexFileNames.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Index/IndexFileNames.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -7,7 +7,6 @@
use KinoSearch::base qw( Exporter );

use KinoSearch::Util::StringHelper qw( to_base36 from_base36 );
-use KinoSearch::Util::Native qw( to_kino );

our @EXPORT_OK = qw(
read_lock_timeout

Modified: trunk/perl/lib/KinoSearch/Index/SegInfo.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Index/SegInfo.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Index/SegInfo.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -5,8 +5,6 @@
use KinoSearch::Util::ToolSet;
use KinoSearch::base qw( KinoSearch::Obj );

-use KinoSearch::Util::Native qw( to_kino to_perl );
-
sub add_metadata {
my ( $self, $key, $val ) = @_;
$self->_add_metadata( $key, to_kino($val) );

Modified: trunk/perl/lib/KinoSearch/Index/Snapshot.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Index/Snapshot.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Index/Snapshot.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -9,7 +9,6 @@
use KinoSearch::FieldSpec;
use KinoSearch::Schema;
use KinoSearch::Index::IndexFileNames;
-use KinoSearch::Util::Native qw( to_perl );
use KinoSearch::Util::StringHelper;
use KinoSearch::Util::Json;


Modified: trunk/perl/lib/KinoSearch/InvIndexer.pm
===================================================================
--- trunk/perl/lib/KinoSearch/InvIndexer.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/InvIndexer.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -12,7 +12,6 @@
use KinoSearch::Index::SegWriter;
use KinoSearch::Index::FilePurger;
use KinoSearch::Store::LockFactory;
-use KinoSearch::Util::Native qw( to_kino );

sub add_doc {
confess('usage: $invindexer->add_doc($doc)') unless @_ == 2;

Modified: trunk/perl/lib/KinoSearch/Obj.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Obj.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Obj.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -237,7 +237,7 @@


SV*
-to_perl(self)
+to_pobj(self)
kino_Obj *self;
CODE:
RETVAL = kobj_to_pobj(self);

Modified: trunk/perl/lib/KinoSearch/QueryParser.pm
===================================================================
--- trunk/perl/lib/KinoSearch/QueryParser.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/QueryParser.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -5,8 +5,6 @@
use KinoSearch::Util::ToolSet;
use KinoSearch::base qw( KinoSearch::Obj );

-use KinoSearch::Util::Native qw( to_kino );
-
use KinoSearch::Analysis::TokenBatch;
use KinoSearch::Analysis::Tokenizer;
use KinoSearch::Search::PhraseQuery;

Modified: trunk/perl/lib/KinoSearch/Search/MultiSearcher.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Search/MultiSearcher.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Search/MultiSearcher.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -6,7 +6,6 @@
use KinoSearch::base qw( KinoSearch::Search::Searchable );

use KinoSearch::Search::HitCollector;
-use KinoSearch::Util::Native qw( to_kino );

sub new {
my ( $either, %args ) = @_;

Modified: trunk/perl/lib/KinoSearch/Search/PhraseQuery.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Search/PhraseQuery.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Search/PhraseQuery.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -6,7 +6,6 @@
use KinoSearch::base qw( KinoSearch::Search::Query );

use KinoSearch::Search::TermQuery;
-use KinoSearch::Util::Native qw( to_kino );

sub new {
my ( $either, %args ) = @_;

Modified: trunk/perl/lib/KinoSearch/Search/PolyQuery.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Search/PolyQuery.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Search/PolyQuery.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -6,7 +6,6 @@
use KinoSearch::base qw( KinoSearch::Search::Query );

use KinoSearch::Search::PolyCompiler;
-use KinoSearch::Util::Native qw( to_kino );

1;


Modified: trunk/perl/lib/KinoSearch/Search/TopDocs.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Search/TopDocs.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Search/TopDocs.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -7,7 +7,6 @@

use KinoSearch::Util::VArray;
use KinoSearch::Search::RemoteFieldDoc;
-use KinoSearch::Util::Native qw( to_perl to_kino );

sub new {
my ( $either, %args ) = @_;

Modified: trunk/perl/lib/KinoSearch/Test/TestQueryParser.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Test/TestQueryParser.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Test/TestQueryParser.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -4,7 +4,6 @@
package KinoSearch::Test::TestQueryParser;
use KinoSearch::Util::ToolSet;
use KinoSearch::base qw( KinoSearch::Obj Exporter );
-use KinoSearch::Util::Native qw( to_perl );
our @EXPORT_OK = qw( doc_set );

sub doc_set { return to_perl( _doc_set() ) }

Modified: trunk/perl/lib/KinoSearch/Test/TestQueryParserLogic.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Test/TestQueryParserLogic.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Test/TestQueryParserLogic.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -4,7 +4,6 @@
package KinoSearch::Test::TestQueryParserLogic;
use KinoSearch::Util::ToolSet;
use KinoSearch::base qw( KinoSearch::Obj Exporter );
-use KinoSearch::Util::Native qw( to_perl );
our @EXPORT_OK = qw( logical_tests prune_tests );

sub logical_tests { to_perl( _logical_tests(shift) ) }

Modified: trunk/perl/lib/KinoSearch/Test/TestQueryParserSyntax.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Test/TestQueryParserSyntax.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Test/TestQueryParserSyntax.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -4,7 +4,6 @@
package KinoSearch::Test::TestQueryParserSyntax;
use KinoSearch::Util::ToolSet;
use KinoSearch::base qw( KinoSearch::Obj Exporter );
-use KinoSearch::Util::Native qw( to_perl );
our @EXPORT_OK = qw( leaf_tests syntax_tests );

sub leaf_tests { to_perl( _leaf_tests() ) }

Modified: trunk/perl/lib/KinoSearch/Test/Util/TestCharBuf.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Test/Util/TestCharBuf.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Test/Util/TestCharBuf.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -4,7 +4,6 @@
package KinoSearch::Test::Util::TestCharBuf;
use KinoSearch::Util::ToolSet;
use KinoSearch::base qw( KinoSearch::Obj Exporter );
-use KinoSearch::Util::Native qw( to_perl );
our @EXPORT_OK = qw( vcatf_tests );

sub vcatf_tests { to_perl( _vcatf_tests() ) }

Modified: trunk/perl/lib/KinoSearch/Util/CharBuf.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Util/CharBuf.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Util/CharBuf.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -2,7 +2,6 @@
use warnings;

package KinoSearch::Util::CharBuf;
-use KinoSearch::Util::ToolSet;
use KinoSearch::base qw( KinoSearch::Obj::FastObj Exporter );
our @EXPORT_OK = qw( cb_compare );


Modified: trunk/perl/lib/KinoSearch/Util/Compat/DirManip.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Util/Compat/DirManip.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Util/Compat/DirManip.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -5,7 +5,6 @@
use KinoSearch::Util::ToolSet;
use KinoSearch::base qw( KinoSearch::Obj );
use File::Spec::Functions qw( rel2abs no_upwards );
-use KinoSearch::Util::Native qw( to_kino );

sub absolutify { return rel2abs( $_[1] ) }


Modified: trunk/perl/lib/KinoSearch/Util/Json.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Util/Json.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Util/Json.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -3,6 +3,7 @@

package KinoSearch::Util::Json;
use KinoSearch::base qw( Exporter );
+use KinoSearch::Util::ToolSet;

BEGIN {
our @EXPORT_OK = qw(
@@ -12,7 +13,6 @@
}

use JSON::XS qw();
-use KinoSearch::Util::Native qw( to_kino to_perl );

my $json_encoder = JSON::XS->new->pretty(1)->canonical(1);


Modified: trunk/perl/lib/KinoSearch/Util/Native.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Util/Native.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Util/Native.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -5,55 +5,11 @@
use KinoSearch::Util::ToolSet;
use KinoSearch::base qw( KinoSearch::Obj Exporter );

-our @EXPORT_OK = qw( to_kino to_perl );
-
use KinoSearch::Util::Hash;
use KinoSearch::Util::ByteBuf;
use KinoSearch::Util::CharBuf;
use KinoSearch::Util::VArray;

-# Translate a complex data structure in Perl to the equivalent in KinoSearch C
-# structures. Undefined elements will trigger a warning and be turned to
-# empty strings.
-sub to_kino {
- my $input = shift;
- my $reftype = reftype($input);
-
- if ( !$reftype ) {
- return KinoSearch::Util::CharBuf->new($input);
- }
- elsif ( $reftype eq 'HASH' ) {
- my $capacity = scalar keys %$input;
- my $hash = KinoSearch::Util::Hash->new( capacity => $capacity );
- while ( my ( $k, $v ) = each %$input ) {
- my $val = to_kino($v);
- $hash->store( $k, $val );
- }
- return $hash;
- }
- elsif ( $reftype eq 'ARRAY' ) {
- my $varray
- = KinoSearch::Util::VArray->new( capacity => scalar @$input );
- $varray->push( to_kino($_) ) for @$input;
- return $varray;
- }
- elsif ( a_isa_b( $input, 'KinoSearch::Obj' ) ) {
- return $input;
- }
-}
-
-# Transform what may or may not be a KinoSearch object into a Perl complex
-# data structure if possible.
-sub to_perl {
- my $input = shift;
- if ( blessed($input) and $input->can('to_perl') ) {
- return $input->to_perl;
- }
- else {
- return $input;
- }
-}
-
sub _test { return scalar @_ }

sub _test_obj {

Modified: trunk/perl/lib/KinoSearch/Util/PriorityQueue.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Util/PriorityQueue.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Util/PriorityQueue.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -4,7 +4,6 @@
package KinoSearch::Util::PriorityQueue;
use KinoSearch::Util::ToolSet;
use KinoSearch::base qw( KinoSearch::Obj );
-use KinoSearch::Util::Native qw( to_perl );

sub pop_all { to_perl( shift->_pop_all ) }


Modified: trunk/perl/lib/KinoSearch/Util/ToolSet.pm
===================================================================
--- trunk/perl/lib/KinoSearch/Util/ToolSet.pm 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/lib/KinoSearch/Util/ToolSet.pm 2008-07-27 17:41:24 UTC (rev 3636)
@@ -47,14 +47,55 @@
K_DEBUG
kdump

+ to_kino
+ to_perl
verify_args
a_isa_b
kerror
);

+# Translate a complex data structure in Perl to the equivalent in KinoSearch C
+# structures. Undefined elements will trigger a warning and be turned to
+# empty strings.
+sub to_kino {
+ my $input = shift;
+ my $reftype = reftype($input);

-our @EXPORT_OK = qw( verify_args kerror a_isa_b );
+ if ( !$reftype ) {
+ return KinoSearch::Util::CharBuf->new($input);
+ }
+ elsif ( $reftype eq 'HASH' ) {
+ my $capacity = scalar keys %$input;
+ my $hash = KinoSearch::Util::Hash->new( capacity => $capacity );
+ while ( my ( $k, $v ) = each %$input ) {
+ my $val = to_kino($v);
+ $hash->store( $k, $val );
+ }
+ return $hash;
+ }
+ elsif ( $reftype eq 'ARRAY' ) {
+ my $varray
+ = KinoSearch::Util::VArray->new( capacity => scalar @$input );
+ $varray->push( to_kino($_) ) for @$input;
+ return $varray;
+ }
+ elsif ( a_isa_b( $input, 'KinoSearch::Obj' ) ) {
+ return $input;
+ }
+}

+# Transform what may or may not be a KinoSearch object into a Perl complex
+# data structure if possible.
+sub to_perl {
+ my $input = shift;
+ if ( blessed($input) and $input->can('to_pobj') ) {
+ return $input->to_pobj;
+ }
+ else {
+ return $input;
+ }
+}
+
my $kerror;

sub kerror {$kerror}

Modified: trunk/perl/t/015-sort_external.t
===================================================================
--- trunk/perl/t/015-sort_external.t 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/t/015-sort_external.t 2008-07-27 17:41:24 UTC (rev 3636)
@@ -5,7 +5,7 @@
use List::Util qw( shuffle );
use KinoSearch::Test::Util::BBSortEx;
use KinoSearch::Index::Snapshot;
-use KinoSearch::Util::Native qw( to_perl to_kino );
+use KinoSearch::Util::ToolSet qw( to_perl to_kino );

my ( $sortex, $cache, @orig, @sort_output );


Modified: trunk/perl/t/018-native.t
===================================================================
--- trunk/perl/t/018-native.t 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/t/018-native.t 2008-07-27 17:41:24 UTC (rev 3636)
@@ -3,9 +3,10 @@

use Test::More tests => 7;

-use KinoSearch::Util::Native qw( to_perl to_kino );
+use KinoSearch::Util::Native;
use KinoSearch::Util::Hash;
use KinoSearch::Util::ByteBuf;
+use KinoSearch::Util::ToolSet;

my $object = KinoSearch::Util::Native->new();
isa_ok( $object, "KinoSearch::Util::Native" );

Modified: trunk/perl/t/028-sortexrun.t
===================================================================
--- trunk/perl/t/028-sortexrun.t 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/t/028-sortexrun.t 2008-07-27 17:41:24 UTC (rev 3636)
@@ -4,7 +4,7 @@

use KinoSearch::Test::Util::BBSortEx;
use Test::More tests => 5;
-use KinoSearch::Util::Native qw( to_kino to_perl );
+use KinoSearch::Util::ToolSet;

my $letters = KinoSearch::Util::VArray->new( capacity => 26 );
$letters->push( to_kino($_) ) for 'a' .. 'z';

Modified: trunk/perl/t/207-seg_lexicon.t
===================================================================
--- trunk/perl/t/207-seg_lexicon.t 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/t/207-seg_lexicon.t 2008-07-27 17:41:24 UTC (rev 3636)
@@ -27,7 +27,7 @@
use KinoSearch::Index::SegLexicon;
use KinoSearch::Index::LexReader;
use KinoSearch::Index::Snapshot;
-use KinoSearch::Util::Native qw( to_kino );
+use KinoSearch::Util::ToolSet;

my $folder = KinoSearch::Store::RAMFolder->new;
my $schema = MySchema->new;

Modified: trunk/perl/t/521-remote_field_doc.t
===================================================================
--- trunk/perl/t/521-remote_field_doc.t 2008-07-27 17:08:47 UTC (rev 3635)
+++ trunk/perl/t/521-remote_field_doc.t 2008-07-27 17:41:24 UTC (rev 3636)
@@ -10,7 +10,7 @@

use KinoSearch::Util::VArray;
use KinoSearch::Util::ByteBuf;
-use KinoSearch::Util::Native qw( to_perl );
+use KinoSearch::Util::ToolSet;
use Storable qw( freeze thaw );

my $field_vals = KinoSearch::Util::VArray->new( capacity => 4 );


_______________________________________________
kinosearch-commits mailing list
kinosearch-commits@rectangular.com
http://www.rectangular.com/mailman/listinfo/kinosearch-commits