incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject [6/13] Fixed compiler errors.
Date Fri, 09 Nov 2012 02:16:01 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a1df5435/interface/gen-perl/Blur/ShardServer.pm
----------------------------------------------------------------------
diff --git a/interface/gen-perl/Blur/ShardServer.pm b/interface/gen-perl/Blur/ShardServer.pm
new file mode 100644
index 0000000..67fae11
--- /dev/null
+++ b/interface/gen-perl/Blur/ShardServer.pm
@@ -0,0 +1,2065 @@
+#
+# Autogenerated by Thrift Compiler (0.9.0)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+require 5.6.0;
+use strict;
+use warnings;
+use Thrift;
+
+use Blur::Types;
+use Blur::Blur;
+
+# HELPER FUNCTIONS AND STRUCTURES
+
+package Blur::ShardServer_openReadSession_args;
+use base qw(Class::Accessor);
+Blur::ShardServer_openReadSession_args->mk_accessors( qw( table ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{table} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{table}) {
+        $self->{table} = $vals->{table};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_openReadSession_args';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^1$/ && do{        if ($ftype == TType::STRING) {
+          $xfer += $input->readString(\$self->{table});
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_openReadSession_args');
+    if (defined $self->{table}) {
+      $xfer += $output->writeFieldBegin('table', TType::STRING, 1);
+      $xfer += $output->writeString($self->{table});
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_openReadSession_result;
+use base qw(Class::Accessor);
+Blur::ShardServer_openReadSession_result->mk_accessors( qw( success ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{success} = undef;
+    $self->{e} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{success}) {
+        $self->{success} = $vals->{success};
+      }
+      if (defined $vals->{e}) {
+        $self->{e} = $vals->{e};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_openReadSession_result';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^0$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{success} = new Blur::Session();
+          $xfer += $self->{success}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{e} = new Blur::BlurException();
+          $xfer += $self->{e}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_openReadSession_result');
+    if (defined $self->{success}) {
+      $xfer += $output->writeFieldBegin('success', TType::STRUCT, 0);
+      $xfer += $self->{success}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if (defined $self->{e}) {
+      $xfer += $output->writeFieldBegin('e', TType::STRUCT, 1);
+      $xfer += $self->{e}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_search_args;
+use base qw(Class::Accessor);
+Blur::ShardServer_search_args->mk_accessors( qw( session queryArgs ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{session} = undef;
+    $self->{queryArgs} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{session}) {
+        $self->{session} = $vals->{session};
+      }
+      if (defined $vals->{queryArgs}) {
+        $self->{queryArgs} = $vals->{queryArgs};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_search_args';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{session} = new Blur::Session();
+          $xfer += $self->{session}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+        /^2$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{queryArgs} = new Blur::QueryArgs();
+          $xfer += $self->{queryArgs}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_search_args');
+    if (defined $self->{session}) {
+      $xfer += $output->writeFieldBegin('session', TType::STRUCT, 1);
+      $xfer += $self->{session}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if (defined $self->{queryArgs}) {
+      $xfer += $output->writeFieldBegin('queryArgs', TType::STRUCT, 2);
+      $xfer += $self->{queryArgs}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_search_result;
+use base qw(Class::Accessor);
+Blur::ShardServer_search_result->mk_accessors( qw( success ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{success} = undef;
+    $self->{e} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{success}) {
+        $self->{success} = $vals->{success};
+      }
+      if (defined $vals->{e}) {
+        $self->{e} = $vals->{e};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_search_result';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^0$/ && do{        if ($ftype == TType::LIST) {
+          {
+            my $_size286 = 0;
+            $self->{success} = [];
+            my $_etype289 = 0;
+            $xfer += $input->readListBegin(\$_etype289, \$_size286);
+            for (my $_i290 = 0; $_i290 < $_size286; ++$_i290)
+            {
+              my $elem291 = undef;
+              $elem291 = new Blur::TopFieldDocs();
+              $xfer += $elem291->read($input);
+              push(@{$self->{success}},$elem291);
+            }
+            $xfer += $input->readListEnd();
+          }
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{e} = new Blur::BlurException();
+          $xfer += $self->{e}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_search_result');
+    if (defined $self->{success}) {
+      $xfer += $output->writeFieldBegin('success', TType::LIST, 0);
+      {
+        $xfer += $output->writeListBegin(TType::STRUCT, scalar(@{$self->{success}}));
+        {
+          foreach my $iter292 (@{$self->{success}}) 
+          {
+            $xfer += ${iter292}->write($output);
+          }
+        }
+        $xfer += $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if (defined $self->{e}) {
+      $xfer += $output->writeFieldBegin('e', TType::STRUCT, 1);
+      $xfer += $self->{e}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_doc_args;
+use base qw(Class::Accessor);
+Blur::ShardServer_doc_args->mk_accessors( qw( session docLocations fields ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{session} = undef;
+    $self->{docLocations} = undef;
+    $self->{fields} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{session}) {
+        $self->{session} = $vals->{session};
+      }
+      if (defined $vals->{docLocations}) {
+        $self->{docLocations} = $vals->{docLocations};
+      }
+      if (defined $vals->{fields}) {
+        $self->{fields} = $vals->{fields};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_doc_args';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{session} = new Blur::Session();
+          $xfer += $self->{session}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+        /^2$/ && do{        if ($ftype == TType::LIST) {
+          {
+            my $_size293 = 0;
+            $self->{docLocations} = [];
+            my $_etype296 = 0;
+            $xfer += $input->readListBegin(\$_etype296, \$_size293);
+            for (my $_i297 = 0; $_i297 < $_size293; ++$_i297)
+            {
+              my $elem298 = undef;
+              $elem298 = new Blur::DocLocation();
+              $xfer += $elem298->read($input);
+              push(@{$self->{docLocations}},$elem298);
+            }
+            $xfer += $input->readListEnd();
+          }
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+        /^4$/ && do{        if ($ftype == TType::SET) {
+          {
+            my $_size299 = 0;
+            $self->{fields} = {};
+            my $_etype302 = 0;
+            $xfer += $input->readSetBegin(\$_etype302, \$_size299);
+            for (my $_i303 = 0; $_i303 < $_size299; ++$_i303)
+            {
+              my $elem304 = undef;
+              $xfer += $input->readString(\$elem304);
+              $self->{fields}->{$elem304} = 1;
+            }
+            $xfer += $input->readSetEnd();
+          }
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_doc_args');
+    if (defined $self->{session}) {
+      $xfer += $output->writeFieldBegin('session', TType::STRUCT, 1);
+      $xfer += $self->{session}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if (defined $self->{docLocations}) {
+      $xfer += $output->writeFieldBegin('docLocations', TType::LIST, 2);
+      {
+        $xfer += $output->writeListBegin(TType::STRUCT, scalar(@{$self->{docLocations}}));
+        {
+          foreach my $iter305 (@{$self->{docLocations}}) 
+          {
+            $xfer += ${iter305}->write($output);
+          }
+        }
+        $xfer += $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if (defined $self->{fields}) {
+      $xfer += $output->writeFieldBegin('fields', TType::SET, 4);
+      {
+        $xfer += $output->writeSetBegin(TType::STRING, scalar(@{$self->{fields}}));
+        {
+          foreach my $iter306 (@{$self->{fields}})
+          {
+            $xfer += $output->writeString($iter306);
+          }
+        }
+        $xfer += $output->writeSetEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_doc_result;
+use base qw(Class::Accessor);
+Blur::ShardServer_doc_result->mk_accessors( qw( success ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{success} = undef;
+    $self->{e} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{success}) {
+        $self->{success} = $vals->{success};
+      }
+      if (defined $vals->{e}) {
+        $self->{e} = $vals->{e};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_doc_result';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^0$/ && do{        if ($ftype == TType::LIST) {
+          {
+            my $_size307 = 0;
+            $self->{success} = [];
+            my $_etype310 = 0;
+            $xfer += $input->readListBegin(\$_etype310, \$_size307);
+            for (my $_i311 = 0; $_i311 < $_size307; ++$_i311)
+            {
+              my $elem312 = undef;
+              $elem312 = new Blur::Document();
+              $xfer += $elem312->read($input);
+              push(@{$self->{success}},$elem312);
+            }
+            $xfer += $input->readListEnd();
+          }
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{e} = new Blur::BlurException();
+          $xfer += $self->{e}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_doc_result');
+    if (defined $self->{success}) {
+      $xfer += $output->writeFieldBegin('success', TType::LIST, 0);
+      {
+        $xfer += $output->writeListBegin(TType::STRUCT, scalar(@{$self->{success}}));
+        {
+          foreach my $iter313 (@{$self->{success}}) 
+          {
+            $xfer += ${iter313}->write($output);
+          }
+        }
+        $xfer += $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    if (defined $self->{e}) {
+      $xfer += $output->writeFieldBegin('e', TType::STRUCT, 1);
+      $xfer += $self->{e}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_closeReadSession_args;
+use base qw(Class::Accessor);
+Blur::ShardServer_closeReadSession_args->mk_accessors( qw( session ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{session} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{session}) {
+        $self->{session} = $vals->{session};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_closeReadSession_args';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{session} = new Blur::Session();
+          $xfer += $self->{session}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_closeReadSession_args');
+    if (defined $self->{session}) {
+      $xfer += $output->writeFieldBegin('session', TType::STRUCT, 1);
+      $xfer += $self->{session}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_closeReadSession_result;
+use base qw(Class::Accessor);
+Blur::ShardServer_closeReadSession_result->mk_accessors( qw( ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{e} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{e}) {
+        $self->{e} = $vals->{e};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_closeReadSession_result';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{e} = new Blur::BlurException();
+          $xfer += $self->{e}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_closeReadSession_result');
+    if (defined $self->{e}) {
+      $xfer += $output->writeFieldBegin('e', TType::STRUCT, 1);
+      $xfer += $self->{e}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_addDocuments_args;
+use base qw(Class::Accessor);
+Blur::ShardServer_addDocuments_args->mk_accessors( qw( options documents ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{options} = undef;
+    $self->{documents} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{options}) {
+        $self->{options} = $vals->{options};
+      }
+      if (defined $vals->{documents}) {
+        $self->{documents} = $vals->{documents};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_addDocuments_args';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{options} = new Blur::MutateOptions();
+          $xfer += $self->{options}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+        /^2$/ && do{        if ($ftype == TType::LIST) {
+          {
+            my $_size314 = 0;
+            $self->{documents} = [];
+            my $_etype317 = 0;
+            $xfer += $input->readListBegin(\$_etype317, \$_size314);
+            for (my $_i318 = 0; $_i318 < $_size314; ++$_i318)
+            {
+              my $elem319 = undef;
+              $elem319 = new Blur::Document();
+              $xfer += $elem319->read($input);
+              push(@{$self->{documents}},$elem319);
+            }
+            $xfer += $input->readListEnd();
+          }
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_addDocuments_args');
+    if (defined $self->{options}) {
+      $xfer += $output->writeFieldBegin('options', TType::STRUCT, 1);
+      $xfer += $self->{options}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if (defined $self->{documents}) {
+      $xfer += $output->writeFieldBegin('documents', TType::LIST, 2);
+      {
+        $xfer += $output->writeListBegin(TType::STRUCT, scalar(@{$self->{documents}}));
+        {
+          foreach my $iter320 (@{$self->{documents}}) 
+          {
+            $xfer += ${iter320}->write($output);
+          }
+        }
+        $xfer += $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_addDocuments_result;
+use base qw(Class::Accessor);
+Blur::ShardServer_addDocuments_result->mk_accessors( qw( ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{e} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{e}) {
+        $self->{e} = $vals->{e};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_addDocuments_result';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{e} = new Blur::BlurException();
+          $xfer += $self->{e}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_addDocuments_result');
+    if (defined $self->{e}) {
+      $xfer += $output->writeFieldBegin('e', TType::STRUCT, 1);
+      $xfer += $self->{e}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_deleteDocumentsByQueries_args;
+use base qw(Class::Accessor);
+Blur::ShardServer_deleteDocumentsByQueries_args->mk_accessors( qw( options queries ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{options} = undef;
+    $self->{queries} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{options}) {
+        $self->{options} = $vals->{options};
+      }
+      if (defined $vals->{queries}) {
+        $self->{queries} = $vals->{queries};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_deleteDocumentsByQueries_args';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{options} = new Blur::MutateOptions();
+          $xfer += $self->{options}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+        /^2$/ && do{        if ($ftype == TType::LIST) {
+          {
+            my $_size321 = 0;
+            $self->{queries} = [];
+            my $_etype324 = 0;
+            $xfer += $input->readListBegin(\$_etype324, \$_size321);
+            for (my $_i325 = 0; $_i325 < $_size321; ++$_i325)
+            {
+              my $elem326 = undef;
+              $xfer += $input->readString(\$elem326);
+              push(@{$self->{queries}},$elem326);
+            }
+            $xfer += $input->readListEnd();
+          }
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_deleteDocumentsByQueries_args');
+    if (defined $self->{options}) {
+      $xfer += $output->writeFieldBegin('options', TType::STRUCT, 1);
+      $xfer += $self->{options}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if (defined $self->{queries}) {
+      $xfer += $output->writeFieldBegin('queries', TType::LIST, 2);
+      {
+        $xfer += $output->writeListBegin(TType::STRING, scalar(@{$self->{queries}}));
+        {
+          foreach my $iter327 (@{$self->{queries}}) 
+          {
+            $xfer += $output->writeString($iter327);
+          }
+        }
+        $xfer += $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_deleteDocumentsByQueries_result;
+use base qw(Class::Accessor);
+Blur::ShardServer_deleteDocumentsByQueries_result->mk_accessors( qw( ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{e} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{e}) {
+        $self->{e} = $vals->{e};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_deleteDocumentsByQueries_result';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{e} = new Blur::BlurException();
+          $xfer += $self->{e}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_deleteDocumentsByQueries_result');
+    if (defined $self->{e}) {
+      $xfer += $output->writeFieldBegin('e', TType::STRUCT, 1);
+      $xfer += $self->{e}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_deleteDocuments_args;
+use base qw(Class::Accessor);
+Blur::ShardServer_deleteDocuments_args->mk_accessors( qw( options terms ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{options} = undef;
+    $self->{terms} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{options}) {
+        $self->{options} = $vals->{options};
+      }
+      if (defined $vals->{terms}) {
+        $self->{terms} = $vals->{terms};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_deleteDocuments_args';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{options} = new Blur::MutateOptions();
+          $xfer += $self->{options}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+        /^2$/ && do{        if ($ftype == TType::LIST) {
+          {
+            my $_size328 = 0;
+            $self->{terms} = [];
+            my $_etype331 = 0;
+            $xfer += $input->readListBegin(\$_etype331, \$_size328);
+            for (my $_i332 = 0; $_i332 < $_size328; ++$_i332)
+            {
+              my $elem333 = undef;
+              $elem333 = new Blur::Term();
+              $xfer += $elem333->read($input);
+              push(@{$self->{terms}},$elem333);
+            }
+            $xfer += $input->readListEnd();
+          }
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_deleteDocuments_args');
+    if (defined $self->{options}) {
+      $xfer += $output->writeFieldBegin('options', TType::STRUCT, 1);
+      $xfer += $self->{options}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if (defined $self->{terms}) {
+      $xfer += $output->writeFieldBegin('terms', TType::LIST, 2);
+      {
+        $xfer += $output->writeListBegin(TType::STRUCT, scalar(@{$self->{terms}}));
+        {
+          foreach my $iter334 (@{$self->{terms}}) 
+          {
+            $xfer += ${iter334}->write($output);
+          }
+        }
+        $xfer += $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_deleteDocuments_result;
+use base qw(Class::Accessor);
+Blur::ShardServer_deleteDocuments_result->mk_accessors( qw( ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{e} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{e}) {
+        $self->{e} = $vals->{e};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_deleteDocuments_result';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{e} = new Blur::BlurException();
+          $xfer += $self->{e}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_deleteDocuments_result');
+    if (defined $self->{e}) {
+      $xfer += $output->writeFieldBegin('e', TType::STRUCT, 1);
+      $xfer += $self->{e}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_updateDocuments_args;
+use base qw(Class::Accessor);
+Blur::ShardServer_updateDocuments_args->mk_accessors( qw( options updatePackages ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{options} = undef;
+    $self->{updatePackages} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{options}) {
+        $self->{options} = $vals->{options};
+      }
+      if (defined $vals->{updatePackages}) {
+        $self->{updatePackages} = $vals->{updatePackages};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_updateDocuments_args';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{options} = new Blur::MutateOptions();
+          $xfer += $self->{options}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+        /^2$/ && do{        if ($ftype == TType::LIST) {
+          {
+            my $_size335 = 0;
+            $self->{updatePackages} = [];
+            my $_etype338 = 0;
+            $xfer += $input->readListBegin(\$_etype338, \$_size335);
+            for (my $_i339 = 0; $_i339 < $_size335; ++$_i339)
+            {
+              my $elem340 = undef;
+              $elem340 = new Blur::UpdatePackage();
+              $xfer += $elem340->read($input);
+              push(@{$self->{updatePackages}},$elem340);
+            }
+            $xfer += $input->readListEnd();
+          }
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_updateDocuments_args');
+    if (defined $self->{options}) {
+      $xfer += $output->writeFieldBegin('options', TType::STRUCT, 1);
+      $xfer += $self->{options}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    if (defined $self->{updatePackages}) {
+      $xfer += $output->writeFieldBegin('updatePackages', TType::LIST, 2);
+      {
+        $xfer += $output->writeListBegin(TType::STRUCT, scalar(@{$self->{updatePackages}}));
+        {
+          foreach my $iter341 (@{$self->{updatePackages}}) 
+          {
+            $xfer += ${iter341}->write($output);
+          }
+        }
+        $xfer += $output->writeListEnd();
+      }
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServer_updateDocuments_result;
+use base qw(Class::Accessor);
+Blur::ShardServer_updateDocuments_result->mk_accessors( qw( ) );
+
+sub new {
+    my $classname = shift;
+    my $self      = {};
+    my $vals      = shift || {};
+    $self->{e} = undef;
+    if (UNIVERSAL::isa($vals,'HASH')) {
+      if (defined $vals->{e}) {
+        $self->{e} = $vals->{e};
+      }
+    }
+    return bless ($self, $classname);
+}
+
+sub getName {
+    return 'ShardServer_updateDocuments_result';
+  }
+
+sub read {
+    my ($self, $input) = @_;
+    my $xfer  = 0;
+    my $fname;
+    my $ftype = 0;
+    my $fid   = 0;
+    $xfer += $input->readStructBegin(\$fname);
+    while (1) 
+    {
+      $xfer += $input->readFieldBegin(\$fname, \$ftype, \$fid);
+      if ($ftype == TType::STOP) {
+        last;
+      }
+      SWITCH: for($fid)
+      {
+        /^1$/ && do{        if ($ftype == TType::STRUCT) {
+          $self->{e} = new Blur::BlurException();
+          $xfer += $self->{e}->read($input);
+        } else {
+          $xfer += $input->skip($ftype);
+        }
+        last; };
+          $xfer += $input->skip($ftype);
+      }
+      $xfer += $input->readFieldEnd();
+    }
+    $xfer += $input->readStructEnd();
+    return $xfer;
+  }
+
+sub write {
+    my ($self, $output) = @_;
+    my $xfer   = 0;
+    $xfer += $output->writeStructBegin('ShardServer_updateDocuments_result');
+    if (defined $self->{e}) {
+      $xfer += $output->writeFieldBegin('e', TType::STRUCT, 1);
+      $xfer += $self->{e}->write($output);
+      $xfer += $output->writeFieldEnd();
+    }
+    $xfer += $output->writeFieldStop();
+    $xfer += $output->writeStructEnd();
+    return $xfer;
+  }
+
+package Blur::ShardServerIf;
+
+use strict;
+use base qw(Blur::BlurIf);
+
+sub openReadSession{
+  my $self = shift;
+  my $table = shift;
+
+  die 'implement interface';
+}
+
+sub search{
+  my $self = shift;
+  my $session = shift;
+  my $queryArgs = shift;
+
+  die 'implement interface';
+}
+
+sub doc{
+  my $self = shift;
+  my $session = shift;
+  my $docLocations = shift;
+  my $fields = shift;
+
+  die 'implement interface';
+}
+
+sub closeReadSession{
+  my $self = shift;
+  my $session = shift;
+
+  die 'implement interface';
+}
+
+sub addDocuments{
+  my $self = shift;
+  my $options = shift;
+  my $documents = shift;
+
+  die 'implement interface';
+}
+
+sub deleteDocumentsByQueries{
+  my $self = shift;
+  my $options = shift;
+  my $queries = shift;
+
+  die 'implement interface';
+}
+
+sub deleteDocuments{
+  my $self = shift;
+  my $options = shift;
+  my $terms = shift;
+
+  die 'implement interface';
+}
+
+sub updateDocuments{
+  my $self = shift;
+  my $options = shift;
+  my $updatePackages = shift;
+
+  die 'implement interface';
+}
+
+package Blur::ShardServerRest;
+
+use strict;
+use base qw(Blur::BlurRest);
+
+sub openReadSession{
+    my ($self, $request) = @_;
+
+    my $table = ($request->{'table'}) ? $request->{'table'} : undef;
+    return $self->{impl}->openReadSession($table);
+  }
+
+sub search{
+    my ($self, $request) = @_;
+
+    my $session = ($request->{'session'}) ? $request->{'session'} : undef;
+    my $queryArgs = ($request->{'queryArgs'}) ? $request->{'queryArgs'} : undef;
+    return $self->{impl}->search($session, $queryArgs);
+  }
+
+sub doc{
+    my ($self, $request) = @_;
+
+    my $session = ($request->{'session'}) ? $request->{'session'} : undef;
+    my $docLocations = ($request->{'docLocations'}) ? $request->{'docLocations'} : undef;
+    my $fields = ($request->{'fields'}) ? $request->{'fields'} : undef;
+    return $self->{impl}->doc($session, $docLocations, $fields);
+  }
+
+sub closeReadSession{
+    my ($self, $request) = @_;
+
+    my $session = ($request->{'session'}) ? $request->{'session'} : undef;
+    return $self->{impl}->closeReadSession($session);
+  }
+
+sub addDocuments{
+    my ($self, $request) = @_;
+
+    my $options = ($request->{'options'}) ? $request->{'options'} : undef;
+    my $documents = ($request->{'documents'}) ? $request->{'documents'} : undef;
+    return $self->{impl}->addDocuments($options, $documents);
+  }
+
+sub deleteDocumentsByQueries{
+    my ($self, $request) = @_;
+
+    my $options = ($request->{'options'}) ? $request->{'options'} : undef;
+    my $queries = ($request->{'queries'}) ? $request->{'queries'} : undef;
+    return $self->{impl}->deleteDocumentsByQueries($options, $queries);
+  }
+
+sub deleteDocuments{
+    my ($self, $request) = @_;
+
+    my $options = ($request->{'options'}) ? $request->{'options'} : undef;
+    my $terms = ($request->{'terms'}) ? $request->{'terms'} : undef;
+    return $self->{impl}->deleteDocuments($options, $terms);
+  }
+
+sub updateDocuments{
+    my ($self, $request) = @_;
+
+    my $options = ($request->{'options'}) ? $request->{'options'} : undef;
+    my $updatePackages = ($request->{'updatePackages'}) ? $request->{'updatePackages'} : undef;
+    return $self->{impl}->updateDocuments($options, $updatePackages);
+  }
+
+package Blur::ShardServerClient;
+
+use base qw(Blur::BlurClient);
+use base qw(Blur::ShardServerIf);
+sub new {
+    my ($classname, $input, $output) = @_;
+    my $self      = {};
+    $self = $classname->SUPER::new($input, $output);
+    return bless($self,$classname);
+}
+
+sub openReadSession{
+  my $self = shift;
+  my $table = shift;
+
+        $self->send_openReadSession($table);
+    return $self->recv_openReadSession();
+}
+
+sub send_openReadSession{
+  my $self = shift;
+  my $table = shift;
+
+    $self->{output}->writeMessageBegin('openReadSession', TMessageType::CALL, $self->{seqid});
+    my $args = new Blur::ShardServer_openReadSession_args();
+    $args->{table} = $table;
+    $args->write($self->{output});
+    $self->{output}->writeMessageEnd();
+    $self->{output}->getTransport()->flush();
+}
+
+sub recv_openReadSession{
+  my $self = shift;
+
+    my $rseqid = 0;
+    my $fname;
+    my $mtype = 0;
+
+    $self->{input}->readMessageBegin(\$fname, \$mtype, \$rseqid);
+    if ($mtype == TMessageType::EXCEPTION) {
+      my $x = new TApplicationException();
+      $x->read($self->{input});
+      $self->{input}->readMessageEnd();
+      die $x;
+    }
+    my $result = new Blur::ShardServer_openReadSession_result();
+    $result->read($self->{input});
+    $self->{input}->readMessageEnd();
+
+    if (defined $result->{success} ) {
+      return $result->{success};
+    }
+    if (defined $result->{e}) {
+      die $result->{e};
+    }
+    die "openReadSession failed: unknown result";
+}
+sub search{
+  my $self = shift;
+  my $session = shift;
+  my $queryArgs = shift;
+
+        $self->send_search($session, $queryArgs);
+    return $self->recv_search();
+}
+
+sub send_search{
+  my $self = shift;
+  my $session = shift;
+  my $queryArgs = shift;
+
+    $self->{output}->writeMessageBegin('search', TMessageType::CALL, $self->{seqid});
+    my $args = new Blur::ShardServer_search_args();
+    $args->{session} = $session;
+    $args->{queryArgs} = $queryArgs;
+    $args->write($self->{output});
+    $self->{output}->writeMessageEnd();
+    $self->{output}->getTransport()->flush();
+}
+
+sub recv_search{
+  my $self = shift;
+
+    my $rseqid = 0;
+    my $fname;
+    my $mtype = 0;
+
+    $self->{input}->readMessageBegin(\$fname, \$mtype, \$rseqid);
+    if ($mtype == TMessageType::EXCEPTION) {
+      my $x = new TApplicationException();
+      $x->read($self->{input});
+      $self->{input}->readMessageEnd();
+      die $x;
+    }
+    my $result = new Blur::ShardServer_search_result();
+    $result->read($self->{input});
+    $self->{input}->readMessageEnd();
+
+    if (defined $result->{success} ) {
+      return $result->{success};
+    }
+    if (defined $result->{e}) {
+      die $result->{e};
+    }
+    die "search failed: unknown result";
+}
+sub doc{
+  my $self = shift;
+  my $session = shift;
+  my $docLocations = shift;
+  my $fields = shift;
+
+        $self->send_doc($session, $docLocations, $fields);
+    return $self->recv_doc();
+}
+
+sub send_doc{
+  my $self = shift;
+  my $session = shift;
+  my $docLocations = shift;
+  my $fields = shift;
+
+    $self->{output}->writeMessageBegin('doc', TMessageType::CALL, $self->{seqid});
+    my $args = new Blur::ShardServer_doc_args();
+    $args->{session} = $session;
+    $args->{docLocations} = $docLocations;
+    $args->{fields} = $fields;
+    $args->write($self->{output});
+    $self->{output}->writeMessageEnd();
+    $self->{output}->getTransport()->flush();
+}
+
+sub recv_doc{
+  my $self = shift;
+
+    my $rseqid = 0;
+    my $fname;
+    my $mtype = 0;
+
+    $self->{input}->readMessageBegin(\$fname, \$mtype, \$rseqid);
+    if ($mtype == TMessageType::EXCEPTION) {
+      my $x = new TApplicationException();
+      $x->read($self->{input});
+      $self->{input}->readMessageEnd();
+      die $x;
+    }
+    my $result = new Blur::ShardServer_doc_result();
+    $result->read($self->{input});
+    $self->{input}->readMessageEnd();
+
+    if (defined $result->{success} ) {
+      return $result->{success};
+    }
+    if (defined $result->{e}) {
+      die $result->{e};
+    }
+    die "doc failed: unknown result";
+}
+sub closeReadSession{
+  my $self = shift;
+  my $session = shift;
+
+        $self->send_closeReadSession($session);
+    $self->recv_closeReadSession();
+}
+
+sub send_closeReadSession{
+  my $self = shift;
+  my $session = shift;
+
+    $self->{output}->writeMessageBegin('closeReadSession', TMessageType::CALL, $self->{seqid});
+    my $args = new Blur::ShardServer_closeReadSession_args();
+    $args->{session} = $session;
+    $args->write($self->{output});
+    $self->{output}->writeMessageEnd();
+    $self->{output}->getTransport()->flush();
+}
+
+sub recv_closeReadSession{
+  my $self = shift;
+
+    my $rseqid = 0;
+    my $fname;
+    my $mtype = 0;
+
+    $self->{input}->readMessageBegin(\$fname, \$mtype, \$rseqid);
+    if ($mtype == TMessageType::EXCEPTION) {
+      my $x = new TApplicationException();
+      $x->read($self->{input});
+      $self->{input}->readMessageEnd();
+      die $x;
+    }
+    my $result = new Blur::ShardServer_closeReadSession_result();
+    $result->read($self->{input});
+    $self->{input}->readMessageEnd();
+
+    if (defined $result->{e}) {
+      die $result->{e};
+    }
+    return;
+}
+sub addDocuments{
+  my $self = shift;
+  my $options = shift;
+  my $documents = shift;
+
+        $self->send_addDocuments($options, $documents);
+    $self->recv_addDocuments();
+}
+
+sub send_addDocuments{
+  my $self = shift;
+  my $options = shift;
+  my $documents = shift;
+
+    $self->{output}->writeMessageBegin('addDocuments', TMessageType::CALL, $self->{seqid});
+    my $args = new Blur::ShardServer_addDocuments_args();
+    $args->{options} = $options;
+    $args->{documents} = $documents;
+    $args->write($self->{output});
+    $self->{output}->writeMessageEnd();
+    $self->{output}->getTransport()->flush();
+}
+
+sub recv_addDocuments{
+  my $self = shift;
+
+    my $rseqid = 0;
+    my $fname;
+    my $mtype = 0;
+
+    $self->{input}->readMessageBegin(\$fname, \$mtype, \$rseqid);
+    if ($mtype == TMessageType::EXCEPTION) {
+      my $x = new TApplicationException();
+      $x->read($self->{input});
+      $self->{input}->readMessageEnd();
+      die $x;
+    }
+    my $result = new Blur::ShardServer_addDocuments_result();
+    $result->read($self->{input});
+    $self->{input}->readMessageEnd();
+
+    if (defined $result->{e}) {
+      die $result->{e};
+    }
+    return;
+}
+sub deleteDocumentsByQueries{
+  my $self = shift;
+  my $options = shift;
+  my $queries = shift;
+
+        $self->send_deleteDocumentsByQueries($options, $queries);
+    $self->recv_deleteDocumentsByQueries();
+}
+
+sub send_deleteDocumentsByQueries{
+  my $self = shift;
+  my $options = shift;
+  my $queries = shift;
+
+    $self->{output}->writeMessageBegin('deleteDocumentsByQueries', TMessageType::CALL, $self->{seqid});
+    my $args = new Blur::ShardServer_deleteDocumentsByQueries_args();
+    $args->{options} = $options;
+    $args->{queries} = $queries;
+    $args->write($self->{output});
+    $self->{output}->writeMessageEnd();
+    $self->{output}->getTransport()->flush();
+}
+
+sub recv_deleteDocumentsByQueries{
+  my $self = shift;
+
+    my $rseqid = 0;
+    my $fname;
+    my $mtype = 0;
+
+    $self->{input}->readMessageBegin(\$fname, \$mtype, \$rseqid);
+    if ($mtype == TMessageType::EXCEPTION) {
+      my $x = new TApplicationException();
+      $x->read($self->{input});
+      $self->{input}->readMessageEnd();
+      die $x;
+    }
+    my $result = new Blur::ShardServer_deleteDocumentsByQueries_result();
+    $result->read($self->{input});
+    $self->{input}->readMessageEnd();
+
+    if (defined $result->{e}) {
+      die $result->{e};
+    }
+    return;
+}
+sub deleteDocuments{
+  my $self = shift;
+  my $options = shift;
+  my $terms = shift;
+
+        $self->send_deleteDocuments($options, $terms);
+    $self->recv_deleteDocuments();
+}
+
+sub send_deleteDocuments{
+  my $self = shift;
+  my $options = shift;
+  my $terms = shift;
+
+    $self->{output}->writeMessageBegin('deleteDocuments', TMessageType::CALL, $self->{seqid});
+    my $args = new Blur::ShardServer_deleteDocuments_args();
+    $args->{options} = $options;
+    $args->{terms} = $terms;
+    $args->write($self->{output});
+    $self->{output}->writeMessageEnd();
+    $self->{output}->getTransport()->flush();
+}
+
+sub recv_deleteDocuments{
+  my $self = shift;
+
+    my $rseqid = 0;
+    my $fname;
+    my $mtype = 0;
+
+    $self->{input}->readMessageBegin(\$fname, \$mtype, \$rseqid);
+    if ($mtype == TMessageType::EXCEPTION) {
+      my $x = new TApplicationException();
+      $x->read($self->{input});
+      $self->{input}->readMessageEnd();
+      die $x;
+    }
+    my $result = new Blur::ShardServer_deleteDocuments_result();
+    $result->read($self->{input});
+    $self->{input}->readMessageEnd();
+
+    if (defined $result->{e}) {
+      die $result->{e};
+    }
+    return;
+}
+sub updateDocuments{
+  my $self = shift;
+  my $options = shift;
+  my $updatePackages = shift;
+
+        $self->send_updateDocuments($options, $updatePackages);
+    $self->recv_updateDocuments();
+}
+
+sub send_updateDocuments{
+  my $self = shift;
+  my $options = shift;
+  my $updatePackages = shift;
+
+    $self->{output}->writeMessageBegin('updateDocuments', TMessageType::CALL, $self->{seqid});
+    my $args = new Blur::ShardServer_updateDocuments_args();
+    $args->{options} = $options;
+    $args->{updatePackages} = $updatePackages;
+    $args->write($self->{output});
+    $self->{output}->writeMessageEnd();
+    $self->{output}->getTransport()->flush();
+}
+
+sub recv_updateDocuments{
+  my $self = shift;
+
+    my $rseqid = 0;
+    my $fname;
+    my $mtype = 0;
+
+    $self->{input}->readMessageBegin(\$fname, \$mtype, \$rseqid);
+    if ($mtype == TMessageType::EXCEPTION) {
+      my $x = new TApplicationException();
+      $x->read($self->{input});
+      $self->{input}->readMessageEnd();
+      die $x;
+    }
+    my $result = new Blur::ShardServer_updateDocuments_result();
+    $result->read($self->{input});
+    $self->{input}->readMessageEnd();
+
+    if (defined $result->{e}) {
+      die $result->{e};
+    }
+    return;
+}
+package Blur::ShardServerProcessor;
+
+use strict;
+use base qw(Blur::BlurProcessor);
+
+sub process {
+      my ($self, $input, $output) = @_;
+      my $rseqid = 0;
+      my $fname  = undef;
+      my $mtype  = 0;
+
+      $input->readMessageBegin(\$fname, \$mtype, \$rseqid);
+      my $methodname = 'process_'.$fname;
+      if (!$self->can($methodname)) {
+        $input->skip(TType::STRUCT);
+        $input->readMessageEnd();
+        my $x = new TApplicationException('Function '.$fname.' not implemented.', TApplicationException::UNKNOWN_METHOD);
+        $output->writeMessageBegin($fname, TMessageType::EXCEPTION, $rseqid);
+        $x->write($output);
+        $output->writeMessageEnd();
+        $output->getTransport()->flush();
+        return;
+      }
+      $self->$methodname($rseqid, $input, $output);
+      return 1;
+}
+
+sub process_openReadSession {
+      my ($self, $seqid, $input, $output) = @_;
+      my $args = new Blur::ShardServer_openReadSession_args();
+      $args->read($input);
+      $input->readMessageEnd();
+      my $result = new Blur::ShardServer_openReadSession_result();
+      eval {
+        $result->{success} = $self->{handler}->openReadSession($args->table);
+      }; if( UNIVERSAL::isa($@,'Blur::BlurException') ){ 
+        $result->{e} = $@;
+      }
+      $output->writeMessageBegin('openReadSession', TMessageType::REPLY, $seqid);
+      $result->write($output);
+      $output->writeMessageEnd();
+      $output->getTransport()->flush();
+}
+
+sub process_search {
+      my ($self, $seqid, $input, $output) = @_;
+      my $args = new Blur::ShardServer_search_args();
+      $args->read($input);
+      $input->readMessageEnd();
+      my $result = new Blur::ShardServer_search_result();
+      eval {
+        $result->{success} = $self->{handler}->search($args->session, $args->queryArgs);
+      }; if( UNIVERSAL::isa($@,'Blur::BlurException') ){ 
+        $result->{e} = $@;
+      }
+      $output->writeMessageBegin('search', TMessageType::REPLY, $seqid);
+      $result->write($output);
+      $output->writeMessageEnd();
+      $output->getTransport()->flush();
+}
+
+sub process_doc {
+      my ($self, $seqid, $input, $output) = @_;
+      my $args = new Blur::ShardServer_doc_args();
+      $args->read($input);
+      $input->readMessageEnd();
+      my $result = new Blur::ShardServer_doc_result();
+      eval {
+        $result->{success} = $self->{handler}->doc($args->session, $args->docLocations, $args->fields);
+      }; if( UNIVERSAL::isa($@,'Blur::BlurException') ){ 
+        $result->{e} = $@;
+      }
+      $output->writeMessageBegin('doc', TMessageType::REPLY, $seqid);
+      $result->write($output);
+      $output->writeMessageEnd();
+      $output->getTransport()->flush();
+}
+
+sub process_closeReadSession {
+      my ($self, $seqid, $input, $output) = @_;
+      my $args = new Blur::ShardServer_closeReadSession_args();
+      $args->read($input);
+      $input->readMessageEnd();
+      my $result = new Blur::ShardServer_closeReadSession_result();
+      eval {
+        $self->{handler}->closeReadSession($args->session);
+      }; if( UNIVERSAL::isa($@,'Blur::BlurException') ){ 
+        $result->{e} = $@;
+      }
+      $output->writeMessageBegin('closeReadSession', TMessageType::REPLY, $seqid);
+      $result->write($output);
+      $output->writeMessageEnd();
+      $output->getTransport()->flush();
+}
+
+sub process_addDocuments {
+      my ($self, $seqid, $input, $output) = @_;
+      my $args = new Blur::ShardServer_addDocuments_args();
+      $args->read($input);
+      $input->readMessageEnd();
+      my $result = new Blur::ShardServer_addDocuments_result();
+      eval {
+        $self->{handler}->addDocuments($args->options, $args->documents);
+      }; if( UNIVERSAL::isa($@,'Blur::BlurException') ){ 
+        $result->{e} = $@;
+      }
+      $output->writeMessageBegin('addDocuments', TMessageType::REPLY, $seqid);
+      $result->write($output);
+      $output->writeMessageEnd();
+      $output->getTransport()->flush();
+}
+
+sub process_deleteDocumentsByQueries {
+      my ($self, $seqid, $input, $output) = @_;
+      my $args = new Blur::ShardServer_deleteDocumentsByQueries_args();
+      $args->read($input);
+      $input->readMessageEnd();
+      my $result = new Blur::ShardServer_deleteDocumentsByQueries_result();
+      eval {
+        $self->{handler}->deleteDocumentsByQueries($args->options, $args->queries);
+      }; if( UNIVERSAL::isa($@,'Blur::BlurException') ){ 
+        $result->{e} = $@;
+      }
+      $output->writeMessageBegin('deleteDocumentsByQueries', TMessageType::REPLY, $seqid);
+      $result->write($output);
+      $output->writeMessageEnd();
+      $output->getTransport()->flush();
+}
+
+sub process_deleteDocuments {
+      my ($self, $seqid, $input, $output) = @_;
+      my $args = new Blur::ShardServer_deleteDocuments_args();
+      $args->read($input);
+      $input->readMessageEnd();
+      my $result = new Blur::ShardServer_deleteDocuments_result();
+      eval {
+        $self->{handler}->deleteDocuments($args->options, $args->terms);
+      }; if( UNIVERSAL::isa($@,'Blur::BlurException') ){ 
+        $result->{e} = $@;
+      }
+      $output->writeMessageBegin('deleteDocuments', TMessageType::REPLY, $seqid);
+      $result->write($output);
+      $output->writeMessageEnd();
+      $output->getTransport()->flush();
+}
+
+sub process_updateDocuments {
+      my ($self, $seqid, $input, $output) = @_;
+      my $args = new Blur::ShardServer_updateDocuments_args();
+      $args->read($input);
+      $input->readMessageEnd();
+      my $result = new Blur::ShardServer_updateDocuments_result();
+      eval {
+        $self->{handler}->updateDocuments($args->options, $args->updatePackages);
+      }; if( UNIVERSAL::isa($@,'Blur::BlurException') ){ 
+        $result->{e} = $@;
+      }
+      $output->writeMessageBegin('updateDocuments', TMessageType::REPLY, $seqid);
+      $result->write($output);
+      $output->writeMessageEnd();
+      $output->getTransport()->flush();
+}
+
+1;

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/a1df5435/interface/gen-rb/shard_server.rb
----------------------------------------------------------------------
diff --git a/interface/gen-rb/shard_server.rb b/interface/gen-rb/shard_server.rb
new file mode 100644
index 0000000..6d7c00e
--- /dev/null
+++ b/interface/gen-rb/shard_server.rb
@@ -0,0 +1,514 @@
+#
+# Autogenerated by Thrift Compiler (0.9.0)
+#
+# DO NOT EDIT UNLESS YOU ARE SURE THAT YOU KNOW WHAT YOU ARE DOING
+#
+
+require 'thrift'
+require 'blur'
+require 'blur_types'
+
+module Blur
+  module ShardServer
+    class Client < ::Blur::Blur::Client 
+      include ::Thrift::Client
+
+      def openReadSession(table)
+        send_openReadSession(table)
+        return recv_openReadSession()
+      end
+
+      def send_openReadSession(table)
+        send_message('openReadSession', OpenReadSession_args, :table => table)
+      end
+
+      def recv_openReadSession()
+        result = receive_message(OpenReadSession_result)
+        return result.success unless result.success.nil?
+        raise result.e unless result.e.nil?
+        raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'openReadSession failed: unknown result')
+      end
+
+      def search(session, queryArgs)
+        send_search(session, queryArgs)
+        return recv_search()
+      end
+
+      def send_search(session, queryArgs)
+        send_message('search', Search_args, :session => session, :queryArgs => queryArgs)
+      end
+
+      def recv_search()
+        result = receive_message(Search_result)
+        return result.success unless result.success.nil?
+        raise result.e unless result.e.nil?
+        raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'search failed: unknown result')
+      end
+
+      def doc(session, docLocations, fields)
+        send_doc(session, docLocations, fields)
+        return recv_doc()
+      end
+
+      def send_doc(session, docLocations, fields)
+        send_message('doc', Doc_args, :session => session, :docLocations => docLocations, :fields => fields)
+      end
+
+      def recv_doc()
+        result = receive_message(Doc_result)
+        return result.success unless result.success.nil?
+        raise result.e unless result.e.nil?
+        raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'doc failed: unknown result')
+      end
+
+      def closeReadSession(session)
+        send_closeReadSession(session)
+        recv_closeReadSession()
+      end
+
+      def send_closeReadSession(session)
+        send_message('closeReadSession', CloseReadSession_args, :session => session)
+      end
+
+      def recv_closeReadSession()
+        result = receive_message(CloseReadSession_result)
+        raise result.e unless result.e.nil?
+        return
+      end
+
+      def addDocuments(options, documents)
+        send_addDocuments(options, documents)
+        recv_addDocuments()
+      end
+
+      def send_addDocuments(options, documents)
+        send_message('addDocuments', AddDocuments_args, :options => options, :documents => documents)
+      end
+
+      def recv_addDocuments()
+        result = receive_message(AddDocuments_result)
+        raise result.e unless result.e.nil?
+        return
+      end
+
+      def deleteDocumentsByQueries(options, queries)
+        send_deleteDocumentsByQueries(options, queries)
+        recv_deleteDocumentsByQueries()
+      end
+
+      def send_deleteDocumentsByQueries(options, queries)
+        send_message('deleteDocumentsByQueries', DeleteDocumentsByQueries_args, :options => options, :queries => queries)
+      end
+
+      def recv_deleteDocumentsByQueries()
+        result = receive_message(DeleteDocumentsByQueries_result)
+        raise result.e unless result.e.nil?
+        return
+      end
+
+      def deleteDocuments(options, terms)
+        send_deleteDocuments(options, terms)
+        recv_deleteDocuments()
+      end
+
+      def send_deleteDocuments(options, terms)
+        send_message('deleteDocuments', DeleteDocuments_args, :options => options, :terms => terms)
+      end
+
+      def recv_deleteDocuments()
+        result = receive_message(DeleteDocuments_result)
+        raise result.e unless result.e.nil?
+        return
+      end
+
+      def updateDocuments(options, updatePackages)
+        send_updateDocuments(options, updatePackages)
+        recv_updateDocuments()
+      end
+
+      def send_updateDocuments(options, updatePackages)
+        send_message('updateDocuments', UpdateDocuments_args, :options => options, :updatePackages => updatePackages)
+      end
+
+      def recv_updateDocuments()
+        result = receive_message(UpdateDocuments_result)
+        raise result.e unless result.e.nil?
+        return
+      end
+
+    end
+
+    class Processor < ::Blur::Blur::Processor 
+      include ::Thrift::Processor
+
+      def process_openReadSession(seqid, iprot, oprot)
+        args = read_args(iprot, OpenReadSession_args)
+        result = OpenReadSession_result.new()
+        begin
+          result.success = @handler.openReadSession(args.table)
+        rescue ::Blur::BlurException => e
+          result.e = e
+        end
+        write_result(result, oprot, 'openReadSession', seqid)
+      end
+
+      def process_search(seqid, iprot, oprot)
+        args = read_args(iprot, Search_args)
+        result = Search_result.new()
+        begin
+          result.success = @handler.search(args.session, args.queryArgs)
+        rescue ::Blur::BlurException => e
+          result.e = e
+        end
+        write_result(result, oprot, 'search', seqid)
+      end
+
+      def process_doc(seqid, iprot, oprot)
+        args = read_args(iprot, Doc_args)
+        result = Doc_result.new()
+        begin
+          result.success = @handler.doc(args.session, args.docLocations, args.fields)
+        rescue ::Blur::BlurException => e
+          result.e = e
+        end
+        write_result(result, oprot, 'doc', seqid)
+      end
+
+      def process_closeReadSession(seqid, iprot, oprot)
+        args = read_args(iprot, CloseReadSession_args)
+        result = CloseReadSession_result.new()
+        begin
+          @handler.closeReadSession(args.session)
+        rescue ::Blur::BlurException => e
+          result.e = e
+        end
+        write_result(result, oprot, 'closeReadSession', seqid)
+      end
+
+      def process_addDocuments(seqid, iprot, oprot)
+        args = read_args(iprot, AddDocuments_args)
+        result = AddDocuments_result.new()
+        begin
+          @handler.addDocuments(args.options, args.documents)
+        rescue ::Blur::BlurException => e
+          result.e = e
+        end
+        write_result(result, oprot, 'addDocuments', seqid)
+      end
+
+      def process_deleteDocumentsByQueries(seqid, iprot, oprot)
+        args = read_args(iprot, DeleteDocumentsByQueries_args)
+        result = DeleteDocumentsByQueries_result.new()
+        begin
+          @handler.deleteDocumentsByQueries(args.options, args.queries)
+        rescue ::Blur::BlurException => e
+          result.e = e
+        end
+        write_result(result, oprot, 'deleteDocumentsByQueries', seqid)
+      end
+
+      def process_deleteDocuments(seqid, iprot, oprot)
+        args = read_args(iprot, DeleteDocuments_args)
+        result = DeleteDocuments_result.new()
+        begin
+          @handler.deleteDocuments(args.options, args.terms)
+        rescue ::Blur::BlurException => e
+          result.e = e
+        end
+        write_result(result, oprot, 'deleteDocuments', seqid)
+      end
+
+      def process_updateDocuments(seqid, iprot, oprot)
+        args = read_args(iprot, UpdateDocuments_args)
+        result = UpdateDocuments_result.new()
+        begin
+          @handler.updateDocuments(args.options, args.updatePackages)
+        rescue ::Blur::BlurException => e
+          result.e = e
+        end
+        write_result(result, oprot, 'updateDocuments', seqid)
+      end
+
+    end
+
+    # HELPER FUNCTIONS AND STRUCTURES
+
+    class OpenReadSession_args
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      TABLE = 1
+
+      FIELDS = {
+        TABLE => {:type => ::Thrift::Types::STRING, :name => 'table'}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class OpenReadSession_result
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      SUCCESS = 0
+      E = 1
+
+      FIELDS = {
+        SUCCESS => {:type => ::Thrift::Types::STRUCT, :name => 'success', :class => ::Blur::Session},
+        E => {:type => ::Thrift::Types::STRUCT, :name => 'e', :class => ::Blur::BlurException}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class Search_args
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      SESSION = 1
+      QUERYARGS = 2
+
+      FIELDS = {
+        SESSION => {:type => ::Thrift::Types::STRUCT, :name => 'session', :class => ::Blur::Session},
+        QUERYARGS => {:type => ::Thrift::Types::STRUCT, :name => 'queryArgs', :class => ::Blur::QueryArgs}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class Search_result
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      SUCCESS = 0
+      E = 1
+
+      FIELDS = {
+        SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Blur::TopFieldDocs}},
+        E => {:type => ::Thrift::Types::STRUCT, :name => 'e', :class => ::Blur::BlurException}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class Doc_args
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      SESSION = 1
+      DOCLOCATIONS = 2
+      FIELDS = 4
+
+      FIELDS = {
+        SESSION => {:type => ::Thrift::Types::STRUCT, :name => 'session', :class => ::Blur::Session},
+        DOCLOCATIONS => {:type => ::Thrift::Types::LIST, :name => 'docLocations', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Blur::DocLocation}},
+        FIELDS => {:type => ::Thrift::Types::SET, :name => 'fields', :element => {:type => ::Thrift::Types::STRING}}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class Doc_result
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      SUCCESS = 0
+      E = 1
+
+      FIELDS = {
+        SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Blur::Document}},
+        E => {:type => ::Thrift::Types::STRUCT, :name => 'e', :class => ::Blur::BlurException}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class CloseReadSession_args
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      SESSION = 1
+
+      FIELDS = {
+        SESSION => {:type => ::Thrift::Types::STRUCT, :name => 'session', :class => ::Blur::Session}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class CloseReadSession_result
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      E = 1
+
+      FIELDS = {
+        E => {:type => ::Thrift::Types::STRUCT, :name => 'e', :class => ::Blur::BlurException}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class AddDocuments_args
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      OPTIONS = 1
+      DOCUMENTS = 2
+
+      FIELDS = {
+        OPTIONS => {:type => ::Thrift::Types::STRUCT, :name => 'options', :class => ::Blur::MutateOptions},
+        DOCUMENTS => {:type => ::Thrift::Types::LIST, :name => 'documents', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Blur::Document}}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class AddDocuments_result
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      E = 1
+
+      FIELDS = {
+        E => {:type => ::Thrift::Types::STRUCT, :name => 'e', :class => ::Blur::BlurException}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class DeleteDocumentsByQueries_args
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      OPTIONS = 1
+      QUERIES = 2
+
+      FIELDS = {
+        OPTIONS => {:type => ::Thrift::Types::STRUCT, :name => 'options', :class => ::Blur::MutateOptions},
+        QUERIES => {:type => ::Thrift::Types::LIST, :name => 'queries', :element => {:type => ::Thrift::Types::STRING, :binary => true}}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class DeleteDocumentsByQueries_result
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      E = 1
+
+      FIELDS = {
+        E => {:type => ::Thrift::Types::STRUCT, :name => 'e', :class => ::Blur::BlurException}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class DeleteDocuments_args
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      OPTIONS = 1
+      TERMS = 2
+
+      FIELDS = {
+        OPTIONS => {:type => ::Thrift::Types::STRUCT, :name => 'options', :class => ::Blur::MutateOptions},
+        TERMS => {:type => ::Thrift::Types::LIST, :name => 'terms', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Blur::Term}}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class DeleteDocuments_result
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      E = 1
+
+      FIELDS = {
+        E => {:type => ::Thrift::Types::STRUCT, :name => 'e', :class => ::Blur::BlurException}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class UpdateDocuments_args
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      OPTIONS = 1
+      UPDATEPACKAGES = 2
+
+      FIELDS = {
+        OPTIONS => {:type => ::Thrift::Types::STRUCT, :name => 'options', :class => ::Blur::MutateOptions},
+        UPDATEPACKAGES => {:type => ::Thrift::Types::LIST, :name => 'updatePackages', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Blur::UpdatePackage}}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class UpdateDocuments_result
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      E = 1
+
+      FIELDS = {
+        E => {:type => ::Thrift::Types::STRUCT, :name => 'e', :class => ::Blur::BlurException}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+  end
+
+end


Mime
View raw message