incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From cr...@apache.org
Subject [24/50] [abbrv] Adding a batch fetch call.
Date Wed, 13 Nov 2013 03:30:43 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/f95fc703/distribution/src/main/scripts/interface/gen-js/Blur.js
----------------------------------------------------------------------
diff --git a/distribution/src/main/scripts/interface/gen-js/Blur.js b/distribution/src/main/scripts/interface/gen-js/Blur.js
index 80bb959..d105b22 100644
--- a/distribution/src/main/scripts/interface/gen-js/Blur.js
+++ b/distribution/src/main/scripts/interface/gen-js/Blur.js
@@ -2211,6 +2211,189 @@ Blur_fetchRow_result.prototype.write = function(output) {
   return;
 };
 
+Blur_fetchRowBatch_args = function(args) {
+  this.table = null;
+  this.selectors = null;
+  if (args) {
+    if (args.table !== undefined) {
+      this.table = args.table;
+    }
+    if (args.selectors !== undefined) {
+      this.selectors = args.selectors;
+    }
+  }
+};
+Blur_fetchRowBatch_args.prototype = {};
+Blur_fetchRowBatch_args.prototype.read = function(input) {
+  input.readStructBegin();
+  while (true)
+  {
+    var ret = input.readFieldBegin();
+    var fname = ret.fname;
+    var ftype = ret.ftype;
+    var fid = ret.fid;
+    if (ftype == Thrift.Type.STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 1:
+      if (ftype == Thrift.Type.STRING) {
+        this.table = input.readString().value;
+      } else {
+        input.skip(ftype);
+      }
+      break;
+      case 2:
+      if (ftype == Thrift.Type.LIST) {
+        var _size232 = 0;
+        var _rtmp3236;
+        this.selectors = [];
+        var _etype235 = 0;
+        _rtmp3236 = input.readListBegin();
+        _etype235 = _rtmp3236.etype;
+        _size232 = _rtmp3236.size;
+        for (var _i237 = 0; _i237 < _size232; ++_i237)
+        {
+          var elem238 = null;
+          elem238 = new Selector();
+          elem238.read(input);
+          this.selectors.push(elem238);
+        }
+        input.readListEnd();
+      } else {
+        input.skip(ftype);
+      }
+      break;
+      default:
+        input.skip(ftype);
+    }
+    input.readFieldEnd();
+  }
+  input.readStructEnd();
+  return;
+};
+
+Blur_fetchRowBatch_args.prototype.write = function(output) {
+  output.writeStructBegin('Blur_fetchRowBatch_args');
+  if (this.table !== null && this.table !== undefined) {
+    output.writeFieldBegin('table', Thrift.Type.STRING, 1);
+    output.writeString(this.table);
+    output.writeFieldEnd();
+  }
+  if (this.selectors !== null && this.selectors !== undefined) {
+    output.writeFieldBegin('selectors', Thrift.Type.LIST, 2);
+    output.writeListBegin(Thrift.Type.STRUCT, this.selectors.length);
+    for (var iter239 in this.selectors)
+    {
+      if (this.selectors.hasOwnProperty(iter239))
+      {
+        iter239 = this.selectors[iter239];
+        iter239.write(output);
+      }
+    }
+    output.writeListEnd();
+    output.writeFieldEnd();
+  }
+  output.writeFieldStop();
+  output.writeStructEnd();
+  return;
+};
+
+Blur_fetchRowBatch_result = function(args) {
+  this.success = null;
+  this.ex = null;
+  if (args instanceof BlurException) {
+    this.ex = args;
+    return;
+  }
+  if (args) {
+    if (args.success !== undefined) {
+      this.success = args.success;
+    }
+    if (args.ex !== undefined) {
+      this.ex = args.ex;
+    }
+  }
+};
+Blur_fetchRowBatch_result.prototype = {};
+Blur_fetchRowBatch_result.prototype.read = function(input) {
+  input.readStructBegin();
+  while (true)
+  {
+    var ret = input.readFieldBegin();
+    var fname = ret.fname;
+    var ftype = ret.ftype;
+    var fid = ret.fid;
+    if (ftype == Thrift.Type.STOP) {
+      break;
+    }
+    switch (fid)
+    {
+      case 0:
+      if (ftype == Thrift.Type.LIST) {
+        var _size240 = 0;
+        var _rtmp3244;
+        this.success = [];
+        var _etype243 = 0;
+        _rtmp3244 = input.readListBegin();
+        _etype243 = _rtmp3244.etype;
+        _size240 = _rtmp3244.size;
+        for (var _i245 = 0; _i245 < _size240; ++_i245)
+        {
+          var elem246 = null;
+          elem246 = new FetchResult();
+          elem246.read(input);
+          this.success.push(elem246);
+        }
+        input.readListEnd();
+      } else {
+        input.skip(ftype);
+      }
+      break;
+      case 1:
+      if (ftype == Thrift.Type.STRUCT) {
+        this.ex = new BlurException();
+        this.ex.read(input);
+      } else {
+        input.skip(ftype);
+      }
+      break;
+      default:
+        input.skip(ftype);
+    }
+    input.readFieldEnd();
+  }
+  input.readStructEnd();
+  return;
+};
+
+Blur_fetchRowBatch_result.prototype.write = function(output) {
+  output.writeStructBegin('Blur_fetchRowBatch_result');
+  if (this.success !== null && this.success !== undefined) {
+    output.writeFieldBegin('success', Thrift.Type.LIST, 0);
+    output.writeListBegin(Thrift.Type.STRUCT, this.success.length);
+    for (var iter247 in this.success)
+    {
+      if (this.success.hasOwnProperty(iter247))
+      {
+        iter247 = this.success[iter247];
+        iter247.write(output);
+      }
+    }
+    output.writeListEnd();
+    output.writeFieldEnd();
+  }
+  if (this.ex !== null && this.ex !== undefined) {
+    output.writeFieldBegin('ex', Thrift.Type.STRUCT, 1);
+    this.ex.write(output);
+    output.writeFieldEnd();
+  }
+  output.writeFieldStop();
+  output.writeStructEnd();
+  return;
+};
+
 Blur_mutate_args = function(args) {
   this.mutation = null;
   if (args) {
@@ -2347,19 +2530,19 @@ Blur_mutateBatch_args.prototype.read = function(input) {
     {
       case 1:
       if (ftype == Thrift.Type.LIST) {
-        var _size232 = 0;
-        var _rtmp3236;
+        var _size248 = 0;
+        var _rtmp3252;
         this.mutations = [];
-        var _etype235 = 0;
-        _rtmp3236 = input.readListBegin();
-        _etype235 = _rtmp3236.etype;
-        _size232 = _rtmp3236.size;
-        for (var _i237 = 0; _i237 < _size232; ++_i237)
+        var _etype251 = 0;
+        _rtmp3252 = input.readListBegin();
+        _etype251 = _rtmp3252.etype;
+        _size248 = _rtmp3252.size;
+        for (var _i253 = 0; _i253 < _size248; ++_i253)
         {
-          var elem238 = null;
-          elem238 = new RowMutation();
-          elem238.read(input);
-          this.mutations.push(elem238);
+          var elem254 = null;
+          elem254 = new RowMutation();
+          elem254.read(input);
+          this.mutations.push(elem254);
         }
         input.readListEnd();
       } else {
@@ -2383,12 +2566,12 @@ Blur_mutateBatch_args.prototype.write = function(output) {
   if (this.mutations !== null && this.mutations !== undefined) {
     output.writeFieldBegin('mutations', Thrift.Type.LIST, 1);
     output.writeListBegin(Thrift.Type.STRUCT, this.mutations.length);
-    for (var iter239 in this.mutations)
+    for (var iter255 in this.mutations)
     {
-      if (this.mutations.hasOwnProperty(iter239))
+      if (this.mutations.hasOwnProperty(iter255))
       {
-        iter239 = this.mutations[iter239];
-        iter239.write(output);
+        iter255 = this.mutations[iter255];
+        iter255.write(output);
       }
     }
     output.writeListEnd();
@@ -2666,18 +2849,18 @@ Blur_queryStatusIdList_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.LIST) {
-        var _size240 = 0;
-        var _rtmp3244;
+        var _size256 = 0;
+        var _rtmp3260;
         this.success = [];
-        var _etype243 = 0;
-        _rtmp3244 = input.readListBegin();
-        _etype243 = _rtmp3244.etype;
-        _size240 = _rtmp3244.size;
-        for (var _i245 = 0; _i245 < _size240; ++_i245)
+        var _etype259 = 0;
+        _rtmp3260 = input.readListBegin();
+        _etype259 = _rtmp3260.etype;
+        _size256 = _rtmp3260.size;
+        for (var _i261 = 0; _i261 < _size256; ++_i261)
         {
-          var elem246 = null;
-          elem246 = input.readString().value;
-          this.success.push(elem246);
+          var elem262 = null;
+          elem262 = input.readString().value;
+          this.success.push(elem262);
         }
         input.readListEnd();
       } else {
@@ -2706,12 +2889,12 @@ Blur_queryStatusIdList_result.prototype.write = function(output) {
   if (this.success !== null && this.success !== undefined) {
     output.writeFieldBegin('success', Thrift.Type.LIST, 0);
     output.writeListBegin(Thrift.Type.STRING, this.success.length);
-    for (var iter247 in this.success)
+    for (var iter263 in this.success)
     {
-      if (this.success.hasOwnProperty(iter247))
+      if (this.success.hasOwnProperty(iter263))
       {
-        iter247 = this.success[iter247];
-        output.writeString(iter247);
+        iter263 = this.success[iter263];
+        output.writeString(iter263);
       }
     }
     output.writeListEnd();
@@ -3011,18 +3194,18 @@ Blur_terms_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.LIST) {
-        var _size248 = 0;
-        var _rtmp3252;
+        var _size264 = 0;
+        var _rtmp3268;
         this.success = [];
-        var _etype251 = 0;
-        _rtmp3252 = input.readListBegin();
-        _etype251 = _rtmp3252.etype;
-        _size248 = _rtmp3252.size;
-        for (var _i253 = 0; _i253 < _size248; ++_i253)
+        var _etype267 = 0;
+        _rtmp3268 = input.readListBegin();
+        _etype267 = _rtmp3268.etype;
+        _size264 = _rtmp3268.size;
+        for (var _i269 = 0; _i269 < _size264; ++_i269)
         {
-          var elem254 = null;
-          elem254 = input.readString().value;
-          this.success.push(elem254);
+          var elem270 = null;
+          elem270 = input.readString().value;
+          this.success.push(elem270);
         }
         input.readListEnd();
       } else {
@@ -3051,12 +3234,12 @@ Blur_terms_result.prototype.write = function(output) {
   if (this.success !== null && this.success !== undefined) {
     output.writeFieldBegin('success', Thrift.Type.LIST, 0);
     output.writeListBegin(Thrift.Type.STRING, this.success.length);
-    for (var iter255 in this.success)
+    for (var iter271 in this.success)
     {
-      if (this.success.hasOwnProperty(iter255))
+      if (this.success.hasOwnProperty(iter271))
       {
-        iter255 = this.success[iter255];
-        output.writeString(iter255);
+        iter271 = this.success[iter271];
+        output.writeString(iter271);
       }
     }
     output.writeListEnd();
@@ -3301,18 +3484,18 @@ Blur_shardClusterList_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.LIST) {
-        var _size256 = 0;
-        var _rtmp3260;
+        var _size272 = 0;
+        var _rtmp3276;
         this.success = [];
-        var _etype259 = 0;
-        _rtmp3260 = input.readListBegin();
-        _etype259 = _rtmp3260.etype;
-        _size256 = _rtmp3260.size;
-        for (var _i261 = 0; _i261 < _size256; ++_i261)
+        var _etype275 = 0;
+        _rtmp3276 = input.readListBegin();
+        _etype275 = _rtmp3276.etype;
+        _size272 = _rtmp3276.size;
+        for (var _i277 = 0; _i277 < _size272; ++_i277)
         {
-          var elem262 = null;
-          elem262 = input.readString().value;
-          this.success.push(elem262);
+          var elem278 = null;
+          elem278 = input.readString().value;
+          this.success.push(elem278);
         }
         input.readListEnd();
       } else {
@@ -3341,12 +3524,12 @@ Blur_shardClusterList_result.prototype.write = function(output) {
   if (this.success !== null && this.success !== undefined) {
     output.writeFieldBegin('success', Thrift.Type.LIST, 0);
     output.writeListBegin(Thrift.Type.STRING, this.success.length);
-    for (var iter263 in this.success)
+    for (var iter279 in this.success)
     {
-      if (this.success.hasOwnProperty(iter263))
+      if (this.success.hasOwnProperty(iter279))
       {
-        iter263 = this.success[iter263];
-        output.writeString(iter263);
+        iter279 = this.success[iter279];
+        output.writeString(iter279);
       }
     }
     output.writeListEnd();
@@ -3447,18 +3630,18 @@ Blur_shardServerList_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.LIST) {
-        var _size264 = 0;
-        var _rtmp3268;
+        var _size280 = 0;
+        var _rtmp3284;
         this.success = [];
-        var _etype267 = 0;
-        _rtmp3268 = input.readListBegin();
-        _etype267 = _rtmp3268.etype;
-        _size264 = _rtmp3268.size;
-        for (var _i269 = 0; _i269 < _size264; ++_i269)
+        var _etype283 = 0;
+        _rtmp3284 = input.readListBegin();
+        _etype283 = _rtmp3284.etype;
+        _size280 = _rtmp3284.size;
+        for (var _i285 = 0; _i285 < _size280; ++_i285)
         {
-          var elem270 = null;
-          elem270 = input.readString().value;
-          this.success.push(elem270);
+          var elem286 = null;
+          elem286 = input.readString().value;
+          this.success.push(elem286);
         }
         input.readListEnd();
       } else {
@@ -3487,12 +3670,12 @@ Blur_shardServerList_result.prototype.write = function(output) {
   if (this.success !== null && this.success !== undefined) {
     output.writeFieldBegin('success', Thrift.Type.LIST, 0);
     output.writeListBegin(Thrift.Type.STRING, this.success.length);
-    for (var iter271 in this.success)
+    for (var iter287 in this.success)
     {
-      if (this.success.hasOwnProperty(iter271))
+      if (this.success.hasOwnProperty(iter287))
       {
-        iter271 = this.success[iter271];
-        output.writeString(iter271);
+        iter287 = this.success[iter287];
+        output.writeString(iter287);
       }
     }
     output.writeListEnd();
@@ -3568,18 +3751,18 @@ Blur_controllerServerList_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.LIST) {
-        var _size272 = 0;
-        var _rtmp3276;
+        var _size288 = 0;
+        var _rtmp3292;
         this.success = [];
-        var _etype275 = 0;
-        _rtmp3276 = input.readListBegin();
-        _etype275 = _rtmp3276.etype;
-        _size272 = _rtmp3276.size;
-        for (var _i277 = 0; _i277 < _size272; ++_i277)
+        var _etype291 = 0;
+        _rtmp3292 = input.readListBegin();
+        _etype291 = _rtmp3292.etype;
+        _size288 = _rtmp3292.size;
+        for (var _i293 = 0; _i293 < _size288; ++_i293)
         {
-          var elem278 = null;
-          elem278 = input.readString().value;
-          this.success.push(elem278);
+          var elem294 = null;
+          elem294 = input.readString().value;
+          this.success.push(elem294);
         }
         input.readListEnd();
       } else {
@@ -3608,12 +3791,12 @@ Blur_controllerServerList_result.prototype.write = function(output) {
   if (this.success !== null && this.success !== undefined) {
     output.writeFieldBegin('success', Thrift.Type.LIST, 0);
     output.writeListBegin(Thrift.Type.STRING, this.success.length);
-    for (var iter279 in this.success)
+    for (var iter295 in this.success)
     {
-      if (this.success.hasOwnProperty(iter279))
+      if (this.success.hasOwnProperty(iter295))
       {
-        iter279 = this.success[iter279];
-        output.writeString(iter279);
+        iter295 = this.success[iter295];
+        output.writeString(iter295);
       }
     }
     output.writeListEnd();
@@ -3714,27 +3897,27 @@ Blur_shardServerLayout_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.MAP) {
-        var _size280 = 0;
-        var _rtmp3284;
+        var _size296 = 0;
+        var _rtmp3300;
         this.success = {};
-        var _ktype281 = 0;
-        var _vtype282 = 0;
-        _rtmp3284 = input.readMapBegin();
-        _ktype281 = _rtmp3284.ktype;
-        _vtype282 = _rtmp3284.vtype;
-        _size280 = _rtmp3284.size;
-        for (var _i285 = 0; _i285 < _size280; ++_i285)
+        var _ktype297 = 0;
+        var _vtype298 = 0;
+        _rtmp3300 = input.readMapBegin();
+        _ktype297 = _rtmp3300.ktype;
+        _vtype298 = _rtmp3300.vtype;
+        _size296 = _rtmp3300.size;
+        for (var _i301 = 0; _i301 < _size296; ++_i301)
         {
-          if (_i285 > 0 ) {
+          if (_i301 > 0 ) {
             if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
               input.rstack.pop();
             }
           }
-          var key286 = null;
-          var val287 = null;
-          key286 = input.readString().value;
-          val287 = input.readString().value;
-          this.success[key286] = val287;
+          var key302 = null;
+          var val303 = null;
+          key302 = input.readString().value;
+          val303 = input.readString().value;
+          this.success[key302] = val303;
         }
         input.readMapEnd();
       } else {
@@ -3763,13 +3946,13 @@ Blur_shardServerLayout_result.prototype.write = function(output) {
   if (this.success !== null && this.success !== undefined) {
     output.writeFieldBegin('success', Thrift.Type.MAP, 0);
     output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.STRING, Thrift.objectLength(this.success));
-    for (var kiter288 in this.success)
+    for (var kiter304 in this.success)
     {
-      if (this.success.hasOwnProperty(kiter288))
+      if (this.success.hasOwnProperty(kiter304))
       {
-        var viter289 = this.success[kiter288];
-        output.writeString(kiter288);
-        output.writeString(viter289);
+        var viter305 = this.success[kiter304];
+        output.writeString(kiter304);
+        output.writeString(viter305);
       }
     }
     output.writeMapEnd();
@@ -3870,49 +4053,49 @@ Blur_shardServerLayoutState_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.MAP) {
-        var _size290 = 0;
-        var _rtmp3294;
+        var _size306 = 0;
+        var _rtmp3310;
         this.success = {};
-        var _ktype291 = 0;
-        var _vtype292 = 0;
-        _rtmp3294 = input.readMapBegin();
-        _ktype291 = _rtmp3294.ktype;
-        _vtype292 = _rtmp3294.vtype;
-        _size290 = _rtmp3294.size;
-        for (var _i295 = 0; _i295 < _size290; ++_i295)
+        var _ktype307 = 0;
+        var _vtype308 = 0;
+        _rtmp3310 = input.readMapBegin();
+        _ktype307 = _rtmp3310.ktype;
+        _vtype308 = _rtmp3310.vtype;
+        _size306 = _rtmp3310.size;
+        for (var _i311 = 0; _i311 < _size306; ++_i311)
         {
-          if (_i295 > 0 ) {
+          if (_i311 > 0 ) {
             if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
               input.rstack.pop();
             }
           }
-          var key296 = null;
-          var val297 = null;
-          key296 = input.readString().value;
-          var _size298 = 0;
-          var _rtmp3302;
-          val297 = {};
-          var _ktype299 = 0;
-          var _vtype300 = 0;
-          _rtmp3302 = input.readMapBegin();
-          _ktype299 = _rtmp3302.ktype;
-          _vtype300 = _rtmp3302.vtype;
-          _size298 = _rtmp3302.size;
-          for (var _i303 = 0; _i303 < _size298; ++_i303)
+          var key312 = null;
+          var val313 = null;
+          key312 = input.readString().value;
+          var _size314 = 0;
+          var _rtmp3318;
+          val313 = {};
+          var _ktype315 = 0;
+          var _vtype316 = 0;
+          _rtmp3318 = input.readMapBegin();
+          _ktype315 = _rtmp3318.ktype;
+          _vtype316 = _rtmp3318.vtype;
+          _size314 = _rtmp3318.size;
+          for (var _i319 = 0; _i319 < _size314; ++_i319)
           {
-            if (_i303 > 0 ) {
+            if (_i319 > 0 ) {
               if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
                 input.rstack.pop();
               }
             }
-            var key304 = null;
-            var val305 = null;
-            key304 = input.readString().value;
-            val305 = input.readI32().value;
-            val297[key304] = val305;
+            var key320 = null;
+            var val321 = null;
+            key320 = input.readString().value;
+            val321 = input.readI32().value;
+            val313[key320] = val321;
           }
           input.readMapEnd();
-          this.success[key296] = val297;
+          this.success[key312] = val313;
         }
         input.readMapEnd();
       } else {
@@ -3941,20 +4124,20 @@ Blur_shardServerLayoutState_result.prototype.write = function(output) {
   if (this.success !== null && this.success !== undefined) {
     output.writeFieldBegin('success', Thrift.Type.MAP, 0);
     output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.MAP, Thrift.objectLength(this.success));
-    for (var kiter306 in this.success)
+    for (var kiter322 in this.success)
     {
-      if (this.success.hasOwnProperty(kiter306))
+      if (this.success.hasOwnProperty(kiter322))
       {
-        var viter307 = this.success[kiter306];
-        output.writeString(kiter306);
-        output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.I32, Thrift.objectLength(viter307));
-        for (var kiter308 in viter307)
+        var viter323 = this.success[kiter322];
+        output.writeString(kiter322);
+        output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.I32, Thrift.objectLength(viter323));
+        for (var kiter324 in viter323)
         {
-          if (viter307.hasOwnProperty(kiter308))
+          if (viter323.hasOwnProperty(kiter324))
           {
-            var viter309 = viter307[kiter308];
-            output.writeString(kiter308);
-            output.writeI32(viter309);
+            var viter325 = viter323[kiter324];
+            output.writeString(kiter324);
+            output.writeI32(viter325);
           }
         }
         output.writeMapEnd();
@@ -4157,27 +4340,27 @@ Blur_configuration_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.MAP) {
-        var _size310 = 0;
-        var _rtmp3314;
+        var _size326 = 0;
+        var _rtmp3330;
         this.success = {};
-        var _ktype311 = 0;
-        var _vtype312 = 0;
-        _rtmp3314 = input.readMapBegin();
-        _ktype311 = _rtmp3314.ktype;
-        _vtype312 = _rtmp3314.vtype;
-        _size310 = _rtmp3314.size;
-        for (var _i315 = 0; _i315 < _size310; ++_i315)
+        var _ktype327 = 0;
+        var _vtype328 = 0;
+        _rtmp3330 = input.readMapBegin();
+        _ktype327 = _rtmp3330.ktype;
+        _vtype328 = _rtmp3330.vtype;
+        _size326 = _rtmp3330.size;
+        for (var _i331 = 0; _i331 < _size326; ++_i331)
         {
-          if (_i315 > 0 ) {
+          if (_i331 > 0 ) {
             if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
               input.rstack.pop();
             }
           }
-          var key316 = null;
-          var val317 = null;
-          key316 = input.readString().value;
-          val317 = input.readString().value;
-          this.success[key316] = val317;
+          var key332 = null;
+          var val333 = null;
+          key332 = input.readString().value;
+          val333 = input.readString().value;
+          this.success[key332] = val333;
         }
         input.readMapEnd();
       } else {
@@ -4206,13 +4389,13 @@ Blur_configuration_result.prototype.write = function(output) {
   if (this.success !== null && this.success !== undefined) {
     output.writeFieldBegin('success', Thrift.Type.MAP, 0);
     output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.STRING, Thrift.objectLength(this.success));
-    for (var kiter318 in this.success)
+    for (var kiter334 in this.success)
     {
-      if (this.success.hasOwnProperty(kiter318))
+      if (this.success.hasOwnProperty(kiter334))
       {
-        var viter319 = this.success[kiter318];
-        output.writeString(kiter318);
-        output.writeString(viter319);
+        var viter335 = this.success[kiter334];
+        output.writeString(kiter334);
+        output.writeString(viter335);
       }
     }
     output.writeMapEnd();
@@ -4252,18 +4435,18 @@ Blur_metrics_args.prototype.read = function(input) {
     {
       case 1:
       if (ftype == Thrift.Type.SET) {
-        var _size320 = 0;
-        var _rtmp3324;
+        var _size336 = 0;
+        var _rtmp3340;
         this.metrics = [];
-        var _etype323 = 0;
-        _rtmp3324 = input.readSetBegin();
-        _etype323 = _rtmp3324.etype;
-        _size320 = _rtmp3324.size;
-        for (var _i325 = 0; _i325 < _size320; ++_i325)
+        var _etype339 = 0;
+        _rtmp3340 = input.readSetBegin();
+        _etype339 = _rtmp3340.etype;
+        _size336 = _rtmp3340.size;
+        for (var _i341 = 0; _i341 < _size336; ++_i341)
         {
-          var elem326 = null;
-          elem326 = input.readString().value;
-          this.metrics.push(elem326);
+          var elem342 = null;
+          elem342 = input.readString().value;
+          this.metrics.push(elem342);
         }
         input.readSetEnd();
       } else {
@@ -4287,12 +4470,12 @@ Blur_metrics_args.prototype.write = function(output) {
   if (this.metrics !== null && this.metrics !== undefined) {
     output.writeFieldBegin('metrics', Thrift.Type.SET, 1);
     output.writeSetBegin(Thrift.Type.STRING, this.metrics.length);
-    for (var iter327 in this.metrics)
+    for (var iter343 in this.metrics)
     {
-      if (this.metrics.hasOwnProperty(iter327))
+      if (this.metrics.hasOwnProperty(iter343))
       {
-        iter327 = this.metrics[iter327];
-        output.writeString(iter327);
+        iter343 = this.metrics[iter343];
+        output.writeString(iter343);
       }
     }
     output.writeSetEnd();
@@ -4335,28 +4518,28 @@ Blur_metrics_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.MAP) {
-        var _size328 = 0;
-        var _rtmp3332;
+        var _size344 = 0;
+        var _rtmp3348;
         this.success = {};
-        var _ktype329 = 0;
-        var _vtype330 = 0;
-        _rtmp3332 = input.readMapBegin();
-        _ktype329 = _rtmp3332.ktype;
-        _vtype330 = _rtmp3332.vtype;
-        _size328 = _rtmp3332.size;
-        for (var _i333 = 0; _i333 < _size328; ++_i333)
+        var _ktype345 = 0;
+        var _vtype346 = 0;
+        _rtmp3348 = input.readMapBegin();
+        _ktype345 = _rtmp3348.ktype;
+        _vtype346 = _rtmp3348.vtype;
+        _size344 = _rtmp3348.size;
+        for (var _i349 = 0; _i349 < _size344; ++_i349)
         {
-          if (_i333 > 0 ) {
+          if (_i349 > 0 ) {
             if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
               input.rstack.pop();
             }
           }
-          var key334 = null;
-          var val335 = null;
-          key334 = input.readString().value;
-          val335 = new Metric();
-          val335.read(input);
-          this.success[key334] = val335;
+          var key350 = null;
+          var val351 = null;
+          key350 = input.readString().value;
+          val351 = new Metric();
+          val351.read(input);
+          this.success[key350] = val351;
         }
         input.readMapEnd();
       } else {
@@ -4385,13 +4568,13 @@ Blur_metrics_result.prototype.write = function(output) {
   if (this.success !== null && this.success !== undefined) {
     output.writeFieldBegin('success', Thrift.Type.MAP, 0);
     output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.STRUCT, Thrift.objectLength(this.success));
-    for (var kiter336 in this.success)
+    for (var kiter352 in this.success)
     {
-      if (this.success.hasOwnProperty(kiter336))
+      if (this.success.hasOwnProperty(kiter352))
       {
-        var viter337 = this.success[kiter336];
-        output.writeString(kiter336);
-        viter337.write(output);
+        var viter353 = this.success[kiter352];
+        output.writeString(kiter352);
+        viter353.write(output);
       }
     }
     output.writeMapEnd();
@@ -5028,6 +5211,44 @@ BlurClient.prototype.recv_fetchRow = function() {
   }
   throw 'fetchRow failed: unknown result';
 };
+BlurClient.prototype.fetchRowBatch = function(table, selectors) {
+  this.send_fetchRowBatch(table, selectors);
+  return this.recv_fetchRowBatch();
+};
+
+BlurClient.prototype.send_fetchRowBatch = function(table, selectors) {
+  this.output.writeMessageBegin('fetchRowBatch', Thrift.MessageType.CALL, this.seqid);
+  var args = new Blur_fetchRowBatch_args();
+  args.table = table;
+  args.selectors = selectors;
+  args.write(this.output);
+  this.output.writeMessageEnd();
+  return this.output.getTransport().flush();
+};
+
+BlurClient.prototype.recv_fetchRowBatch = function() {
+  var ret = this.input.readMessageBegin();
+  var fname = ret.fname;
+  var mtype = ret.mtype;
+  var rseqid = ret.rseqid;
+  if (mtype == Thrift.MessageType.EXCEPTION) {
+    var x = new Thrift.TApplicationException();
+    x.read(this.input);
+    this.input.readMessageEnd();
+    throw x;
+  }
+  var result = new Blur_fetchRowBatch_result();
+  result.read(this.input);
+  this.input.readMessageEnd();
+
+  if (null !== result.ex) {
+    throw result.ex;
+  }
+  if (null !== result.success) {
+    return result.success;
+  }
+  throw 'fetchRowBatch failed: unknown result';
+};
 BlurClient.prototype.mutate = function(mutation) {
   this.send_mutate(mutation);
   this.recv_mutate();

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/f95fc703/distribution/src/main/scripts/interface/gen-perl/Blur/Blur.pm
----------------------------------------------------------------------
diff --git a/distribution/src/main/scripts/interface/gen-perl/Blur/Blur.pm b/distribution/src/main/scripts/interface/gen-perl/Blur/Blur.pm
index c48255c..7866a40 100644
--- a/distribution/src/main/scripts/interface/gen-perl/Blur/Blur.pm
+++ b/distribution/src/main/scripts/interface/gen-perl/Blur/Blur.pm
@@ -2555,6 +2555,209 @@ sub write {
   return $xfer;
 }
 
+package Blur::Blur_fetchRowBatch_args;
+use base qw(Class::Accessor);
+Blur::Blur_fetchRowBatch_args->mk_accessors( qw( table selectors ) );
+
+sub new {
+  my $classname = shift;
+  my $self      = {};
+  my $vals      = shift || {};
+  $self->{table} = undef;
+  $self->{selectors} = undef;
+  if (UNIVERSAL::isa($vals,'HASH')) {
+    if (defined $vals->{table}) {
+      $self->{table} = $vals->{table};
+    }
+    if (defined $vals->{selectors}) {
+      $self->{selectors} = $vals->{selectors};
+    }
+  }
+  return bless ($self, $classname);
+}
+
+sub getName {
+  return 'Blur_fetchRowBatch_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; };
+      /^2$/ && do{      if ($ftype == TType::LIST) {
+        {
+          my $_size206 = 0;
+          $self->{selectors} = [];
+          my $_etype209 = 0;
+          $xfer += $input->readListBegin(\$_etype209, \$_size206);
+          for (my $_i210 = 0; $_i210 < $_size206; ++$_i210)
+          {
+            my $elem211 = undef;
+            $elem211 = new Blur::Selector();
+            $xfer += $elem211->read($input);
+            push(@{$self->{selectors}},$elem211);
+          }
+          $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('Blur_fetchRowBatch_args');
+  if (defined $self->{table}) {
+    $xfer += $output->writeFieldBegin('table', TType::STRING, 1);
+    $xfer += $output->writeString($self->{table});
+    $xfer += $output->writeFieldEnd();
+  }
+  if (defined $self->{selectors}) {
+    $xfer += $output->writeFieldBegin('selectors', TType::LIST, 2);
+    {
+      $xfer += $output->writeListBegin(TType::STRUCT, scalar(@{$self->{selectors}}));
+      {
+        foreach my $iter212 (@{$self->{selectors}}) 
+        {
+          $xfer += ${iter212}->write($output);
+        }
+      }
+      $xfer += $output->writeListEnd();
+    }
+    $xfer += $output->writeFieldEnd();
+  }
+  $xfer += $output->writeFieldStop();
+  $xfer += $output->writeStructEnd();
+  return $xfer;
+}
+
+package Blur::Blur_fetchRowBatch_result;
+use base qw(Class::Accessor);
+Blur::Blur_fetchRowBatch_result->mk_accessors( qw( success ) );
+
+sub new {
+  my $classname = shift;
+  my $self      = {};
+  my $vals      = shift || {};
+  $self->{success} = undef;
+  $self->{ex} = undef;
+  if (UNIVERSAL::isa($vals,'HASH')) {
+    if (defined $vals->{success}) {
+      $self->{success} = $vals->{success};
+    }
+    if (defined $vals->{ex}) {
+      $self->{ex} = $vals->{ex};
+    }
+  }
+  return bless ($self, $classname);
+}
+
+sub getName {
+  return 'Blur_fetchRowBatch_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 $_size213 = 0;
+          $self->{success} = [];
+          my $_etype216 = 0;
+          $xfer += $input->readListBegin(\$_etype216, \$_size213);
+          for (my $_i217 = 0; $_i217 < $_size213; ++$_i217)
+          {
+            my $elem218 = undef;
+            $elem218 = new Blur::FetchResult();
+            $xfer += $elem218->read($input);
+            push(@{$self->{success}},$elem218);
+          }
+          $xfer += $input->readListEnd();
+        }
+      } else {
+        $xfer += $input->skip($ftype);
+      }
+      last; };
+      /^1$/ && do{      if ($ftype == TType::STRUCT) {
+        $self->{ex} = new Blur::BlurException();
+        $xfer += $self->{ex}->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('Blur_fetchRowBatch_result');
+  if (defined $self->{success}) {
+    $xfer += $output->writeFieldBegin('success', TType::LIST, 0);
+    {
+      $xfer += $output->writeListBegin(TType::STRUCT, scalar(@{$self->{success}}));
+      {
+        foreach my $iter219 (@{$self->{success}}) 
+        {
+          $xfer += ${iter219}->write($output);
+        }
+      }
+      $xfer += $output->writeListEnd();
+    }
+    $xfer += $output->writeFieldEnd();
+  }
+  if (defined $self->{ex}) {
+    $xfer += $output->writeFieldBegin('ex', TType::STRUCT, 1);
+    $xfer += $self->{ex}->write($output);
+    $xfer += $output->writeFieldEnd();
+  }
+  $xfer += $output->writeFieldStop();
+  $xfer += $output->writeStructEnd();
+  return $xfer;
+}
+
 package Blur::Blur_mutate_args;
 use base qw(Class::Accessor);
 Blur::Blur_mutate_args->mk_accessors( qw( mutation ) );
@@ -2723,16 +2926,16 @@ sub read {
     {
       /^1$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size206 = 0;
+          my $_size220 = 0;
           $self->{mutations} = [];
-          my $_etype209 = 0;
-          $xfer += $input->readListBegin(\$_etype209, \$_size206);
-          for (my $_i210 = 0; $_i210 < $_size206; ++$_i210)
+          my $_etype223 = 0;
+          $xfer += $input->readListBegin(\$_etype223, \$_size220);
+          for (my $_i224 = 0; $_i224 < $_size220; ++$_i224)
           {
-            my $elem211 = undef;
-            $elem211 = new Blur::RowMutation();
-            $xfer += $elem211->read($input);
-            push(@{$self->{mutations}},$elem211);
+            my $elem225 = undef;
+            $elem225 = new Blur::RowMutation();
+            $xfer += $elem225->read($input);
+            push(@{$self->{mutations}},$elem225);
           }
           $xfer += $input->readListEnd();
         }
@@ -2757,9 +2960,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRUCT, scalar(@{$self->{mutations}}));
       {
-        foreach my $iter212 (@{$self->{mutations}}) 
+        foreach my $iter226 (@{$self->{mutations}}) 
         {
-          $xfer += ${iter212}->write($output);
+          $xfer += ${iter226}->write($output);
         }
       }
       $xfer += $output->writeListEnd();
@@ -3086,15 +3289,15 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size213 = 0;
+          my $_size227 = 0;
           $self->{success} = [];
-          my $_etype216 = 0;
-          $xfer += $input->readListBegin(\$_etype216, \$_size213);
-          for (my $_i217 = 0; $_i217 < $_size213; ++$_i217)
+          my $_etype230 = 0;
+          $xfer += $input->readListBegin(\$_etype230, \$_size227);
+          for (my $_i231 = 0; $_i231 < $_size227; ++$_i231)
           {
-            my $elem218 = undef;
-            $xfer += $input->readString(\$elem218);
-            push(@{$self->{success}},$elem218);
+            my $elem232 = undef;
+            $xfer += $input->readString(\$elem232);
+            push(@{$self->{success}},$elem232);
           }
           $xfer += $input->readListEnd();
         }
@@ -3126,9 +3329,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRING, scalar(@{$self->{success}}));
       {
-        foreach my $iter219 (@{$self->{success}}) 
+        foreach my $iter233 (@{$self->{success}}) 
         {
-          $xfer += $output->writeString($iter219);
+          $xfer += $output->writeString($iter233);
         }
       }
       $xfer += $output->writeListEnd();
@@ -3471,15 +3674,15 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size220 = 0;
+          my $_size234 = 0;
           $self->{success} = [];
-          my $_etype223 = 0;
-          $xfer += $input->readListBegin(\$_etype223, \$_size220);
-          for (my $_i224 = 0; $_i224 < $_size220; ++$_i224)
+          my $_etype237 = 0;
+          $xfer += $input->readListBegin(\$_etype237, \$_size234);
+          for (my $_i238 = 0; $_i238 < $_size234; ++$_i238)
           {
-            my $elem225 = undef;
-            $xfer += $input->readString(\$elem225);
-            push(@{$self->{success}},$elem225);
+            my $elem239 = undef;
+            $xfer += $input->readString(\$elem239);
+            push(@{$self->{success}},$elem239);
           }
           $xfer += $input->readListEnd();
         }
@@ -3511,9 +3714,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRING, scalar(@{$self->{success}}));
       {
-        foreach my $iter226 (@{$self->{success}}) 
+        foreach my $iter240 (@{$self->{success}}) 
         {
-          $xfer += $output->writeString($iter226);
+          $xfer += $output->writeString($iter240);
         }
       }
       $xfer += $output->writeListEnd();
@@ -3807,15 +4010,15 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size227 = 0;
+          my $_size241 = 0;
           $self->{success} = [];
-          my $_etype230 = 0;
-          $xfer += $input->readListBegin(\$_etype230, \$_size227);
-          for (my $_i231 = 0; $_i231 < $_size227; ++$_i231)
+          my $_etype244 = 0;
+          $xfer += $input->readListBegin(\$_etype244, \$_size241);
+          for (my $_i245 = 0; $_i245 < $_size241; ++$_i245)
           {
-            my $elem232 = undef;
-            $xfer += $input->readString(\$elem232);
-            push(@{$self->{success}},$elem232);
+            my $elem246 = undef;
+            $xfer += $input->readString(\$elem246);
+            push(@{$self->{success}},$elem246);
           }
           $xfer += $input->readListEnd();
         }
@@ -3847,9 +4050,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRING, scalar(@{$self->{success}}));
       {
-        foreach my $iter233 (@{$self->{success}}) 
+        foreach my $iter247 (@{$self->{success}}) 
         {
-          $xfer += $output->writeString($iter233);
+          $xfer += $output->writeString($iter247);
         }
       }
       $xfer += $output->writeListEnd();
@@ -3972,15 +4175,15 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size234 = 0;
+          my $_size248 = 0;
           $self->{success} = [];
-          my $_etype237 = 0;
-          $xfer += $input->readListBegin(\$_etype237, \$_size234);
-          for (my $_i238 = 0; $_i238 < $_size234; ++$_i238)
+          my $_etype251 = 0;
+          $xfer += $input->readListBegin(\$_etype251, \$_size248);
+          for (my $_i252 = 0; $_i252 < $_size248; ++$_i252)
           {
-            my $elem239 = undef;
-            $xfer += $input->readString(\$elem239);
-            push(@{$self->{success}},$elem239);
+            my $elem253 = undef;
+            $xfer += $input->readString(\$elem253);
+            push(@{$self->{success}},$elem253);
           }
           $xfer += $input->readListEnd();
         }
@@ -4012,9 +4215,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRING, scalar(@{$self->{success}}));
       {
-        foreach my $iter240 (@{$self->{success}}) 
+        foreach my $iter254 (@{$self->{success}}) 
         {
-          $xfer += $output->writeString($iter240);
+          $xfer += $output->writeString($iter254);
         }
       }
       $xfer += $output->writeListEnd();
@@ -4119,15 +4322,15 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::LIST) {
         {
-          my $_size241 = 0;
+          my $_size255 = 0;
           $self->{success} = [];
-          my $_etype244 = 0;
-          $xfer += $input->readListBegin(\$_etype244, \$_size241);
-          for (my $_i245 = 0; $_i245 < $_size241; ++$_i245)
+          my $_etype258 = 0;
+          $xfer += $input->readListBegin(\$_etype258, \$_size255);
+          for (my $_i259 = 0; $_i259 < $_size255; ++$_i259)
           {
-            my $elem246 = undef;
-            $xfer += $input->readString(\$elem246);
-            push(@{$self->{success}},$elem246);
+            my $elem260 = undef;
+            $xfer += $input->readString(\$elem260);
+            push(@{$self->{success}},$elem260);
           }
           $xfer += $input->readListEnd();
         }
@@ -4159,9 +4362,9 @@ sub write {
     {
       $xfer += $output->writeListBegin(TType::STRING, scalar(@{$self->{success}}));
       {
-        foreach my $iter247 (@{$self->{success}}) 
+        foreach my $iter261 (@{$self->{success}}) 
         {
-          $xfer += $output->writeString($iter247);
+          $xfer += $output->writeString($iter261);
         }
       }
       $xfer += $output->writeListEnd();
@@ -4284,18 +4487,18 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::MAP) {
         {
-          my $_size248 = 0;
+          my $_size262 = 0;
           $self->{success} = {};
-          my $_ktype249 = 0;
-          my $_vtype250 = 0;
-          $xfer += $input->readMapBegin(\$_ktype249, \$_vtype250, \$_size248);
-          for (my $_i252 = 0; $_i252 < $_size248; ++$_i252)
+          my $_ktype263 = 0;
+          my $_vtype264 = 0;
+          $xfer += $input->readMapBegin(\$_ktype263, \$_vtype264, \$_size262);
+          for (my $_i266 = 0; $_i266 < $_size262; ++$_i266)
           {
-            my $key253 = '';
-            my $val254 = '';
-            $xfer += $input->readString(\$key253);
-            $xfer += $input->readString(\$val254);
-            $self->{success}->{$key253} = $val254;
+            my $key267 = '';
+            my $val268 = '';
+            $xfer += $input->readString(\$key267);
+            $xfer += $input->readString(\$val268);
+            $self->{success}->{$key267} = $val268;
           }
           $xfer += $input->readMapEnd();
         }
@@ -4327,10 +4530,10 @@ sub write {
     {
       $xfer += $output->writeMapBegin(TType::STRING, TType::STRING, scalar(keys %{$self->{success}}));
       {
-        while( my ($kiter255,$viter256) = each %{$self->{success}}) 
+        while( my ($kiter269,$viter270) = each %{$self->{success}}) 
         {
-          $xfer += $output->writeString($kiter255);
-          $xfer += $output->writeString($viter256);
+          $xfer += $output->writeString($kiter269);
+          $xfer += $output->writeString($viter270);
         }
       }
       $xfer += $output->writeMapEnd();
@@ -4453,33 +4656,33 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::MAP) {
         {
-          my $_size257 = 0;
+          my $_size271 = 0;
           $self->{success} = {};
-          my $_ktype258 = 0;
-          my $_vtype259 = 0;
-          $xfer += $input->readMapBegin(\$_ktype258, \$_vtype259, \$_size257);
-          for (my $_i261 = 0; $_i261 < $_size257; ++$_i261)
+          my $_ktype272 = 0;
+          my $_vtype273 = 0;
+          $xfer += $input->readMapBegin(\$_ktype272, \$_vtype273, \$_size271);
+          for (my $_i275 = 0; $_i275 < $_size271; ++$_i275)
           {
-            my $key262 = '';
-            my $val263 = [];
-            $xfer += $input->readString(\$key262);
+            my $key276 = '';
+            my $val277 = [];
+            $xfer += $input->readString(\$key276);
             {
-              my $_size264 = 0;
-              $val263 = {};
-              my $_ktype265 = 0;
-              my $_vtype266 = 0;
-              $xfer += $input->readMapBegin(\$_ktype265, \$_vtype266, \$_size264);
-              for (my $_i268 = 0; $_i268 < $_size264; ++$_i268)
+              my $_size278 = 0;
+              $val277 = {};
+              my $_ktype279 = 0;
+              my $_vtype280 = 0;
+              $xfer += $input->readMapBegin(\$_ktype279, \$_vtype280, \$_size278);
+              for (my $_i282 = 0; $_i282 < $_size278; ++$_i282)
               {
-                my $key269 = '';
-                my $val270 = 0;
-                $xfer += $input->readString(\$key269);
-                $xfer += $input->readI32(\$val270);
-                $val263->{$key269} = $val270;
+                my $key283 = '';
+                my $val284 = 0;
+                $xfer += $input->readString(\$key283);
+                $xfer += $input->readI32(\$val284);
+                $val277->{$key283} = $val284;
               }
               $xfer += $input->readMapEnd();
             }
-            $self->{success}->{$key262} = $val263;
+            $self->{success}->{$key276} = $val277;
           }
           $xfer += $input->readMapEnd();
         }
@@ -4511,16 +4714,16 @@ sub write {
     {
       $xfer += $output->writeMapBegin(TType::STRING, TType::MAP, scalar(keys %{$self->{success}}));
       {
-        while( my ($kiter271,$viter272) = each %{$self->{success}}) 
+        while( my ($kiter285,$viter286) = each %{$self->{success}}) 
         {
-          $xfer += $output->writeString($kiter271);
+          $xfer += $output->writeString($kiter285);
           {
-            $xfer += $output->writeMapBegin(TType::STRING, TType::I32, scalar(keys %{${viter272}}));
+            $xfer += $output->writeMapBegin(TType::STRING, TType::I32, scalar(keys %{${viter286}}));
             {
-              while( my ($kiter273,$viter274) = each %{${viter272}}) 
+              while( my ($kiter287,$viter288) = each %{${viter286}}) 
               {
-                $xfer += $output->writeString($kiter273);
-                $xfer += $output->writeI32($viter274);
+                $xfer += $output->writeString($kiter287);
+                $xfer += $output->writeI32($viter288);
               }
             }
             $xfer += $output->writeMapEnd();
@@ -4773,18 +4976,18 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::MAP) {
         {
-          my $_size275 = 0;
+          my $_size289 = 0;
           $self->{success} = {};
-          my $_ktype276 = 0;
-          my $_vtype277 = 0;
-          $xfer += $input->readMapBegin(\$_ktype276, \$_vtype277, \$_size275);
-          for (my $_i279 = 0; $_i279 < $_size275; ++$_i279)
+          my $_ktype290 = 0;
+          my $_vtype291 = 0;
+          $xfer += $input->readMapBegin(\$_ktype290, \$_vtype291, \$_size289);
+          for (my $_i293 = 0; $_i293 < $_size289; ++$_i293)
           {
-            my $key280 = '';
-            my $val281 = '';
-            $xfer += $input->readString(\$key280);
-            $xfer += $input->readString(\$val281);
-            $self->{success}->{$key280} = $val281;
+            my $key294 = '';
+            my $val295 = '';
+            $xfer += $input->readString(\$key294);
+            $xfer += $input->readString(\$val295);
+            $self->{success}->{$key294} = $val295;
           }
           $xfer += $input->readMapEnd();
         }
@@ -4816,10 +5019,10 @@ sub write {
     {
       $xfer += $output->writeMapBegin(TType::STRING, TType::STRING, scalar(keys %{$self->{success}}));
       {
-        while( my ($kiter282,$viter283) = each %{$self->{success}}) 
+        while( my ($kiter296,$viter297) = each %{$self->{success}}) 
         {
-          $xfer += $output->writeString($kiter282);
-          $xfer += $output->writeString($viter283);
+          $xfer += $output->writeString($kiter296);
+          $xfer += $output->writeString($viter297);
         }
       }
       $xfer += $output->writeMapEnd();
@@ -4874,15 +5077,15 @@ sub read {
     {
       /^1$/ && do{      if ($ftype == TType::SET) {
         {
-          my $_size284 = 0;
+          my $_size298 = 0;
           $self->{metrics} = {};
-          my $_etype287 = 0;
-          $xfer += $input->readSetBegin(\$_etype287, \$_size284);
-          for (my $_i288 = 0; $_i288 < $_size284; ++$_i288)
+          my $_etype301 = 0;
+          $xfer += $input->readSetBegin(\$_etype301, \$_size298);
+          for (my $_i302 = 0; $_i302 < $_size298; ++$_i302)
           {
-            my $elem289 = undef;
-            $xfer += $input->readString(\$elem289);
-            $self->{metrics}->{$elem289} = 1;
+            my $elem303 = undef;
+            $xfer += $input->readString(\$elem303);
+            $self->{metrics}->{$elem303} = 1;
           }
           $xfer += $input->readSetEnd();
         }
@@ -4907,9 +5110,9 @@ sub write {
     {
       $xfer += $output->writeSetBegin(TType::STRING, scalar(@{$self->{metrics}}));
       {
-        foreach my $iter290 (@{$self->{metrics}})
+        foreach my $iter304 (@{$self->{metrics}})
         {
-          $xfer += $output->writeString($iter290);
+          $xfer += $output->writeString($iter304);
         }
       }
       $xfer += $output->writeSetEnd();
@@ -4963,19 +5166,19 @@ sub read {
     {
       /^0$/ && do{      if ($ftype == TType::MAP) {
         {
-          my $_size291 = 0;
+          my $_size305 = 0;
           $self->{success} = {};
-          my $_ktype292 = 0;
-          my $_vtype293 = 0;
-          $xfer += $input->readMapBegin(\$_ktype292, \$_vtype293, \$_size291);
-          for (my $_i295 = 0; $_i295 < $_size291; ++$_i295)
+          my $_ktype306 = 0;
+          my $_vtype307 = 0;
+          $xfer += $input->readMapBegin(\$_ktype306, \$_vtype307, \$_size305);
+          for (my $_i309 = 0; $_i309 < $_size305; ++$_i309)
           {
-            my $key296 = '';
-            my $val297 = new Blur::Metric();
-            $xfer += $input->readString(\$key296);
-            $val297 = new Blur::Metric();
-            $xfer += $val297->read($input);
-            $self->{success}->{$key296} = $val297;
+            my $key310 = '';
+            my $val311 = new Blur::Metric();
+            $xfer += $input->readString(\$key310);
+            $val311 = new Blur::Metric();
+            $xfer += $val311->read($input);
+            $self->{success}->{$key310} = $val311;
           }
           $xfer += $input->readMapEnd();
         }
@@ -5007,10 +5210,10 @@ sub write {
     {
       $xfer += $output->writeMapBegin(TType::STRING, TType::STRUCT, scalar(keys %{$self->{success}}));
       {
-        while( my ($kiter298,$viter299) = each %{$self->{success}}) 
+        while( my ($kiter312,$viter313) = each %{$self->{success}}) 
         {
-          $xfer += $output->writeString($kiter298);
-          $xfer += ${viter299}->write($output);
+          $xfer += $output->writeString($kiter312);
+          $xfer += ${viter313}->write($output);
         }
       }
       $xfer += $output->writeMapEnd();
@@ -5158,6 +5361,14 @@ sub fetchRow{
   die 'implement interface';
 }
 
+sub fetchRowBatch{
+  my $self = shift;
+  my $table = shift;
+  my $selectors = shift;
+
+  die 'implement interface';
+}
+
 sub mutate{
   my $self = shift;
   my $mutation = shift;
@@ -5407,6 +5618,14 @@ sub fetchRow{
   return $self->{impl}->fetchRow($table, $selector);
 }
 
+sub fetchRowBatch{
+  my ($self, $request) = @_;
+
+  my $table = ($request->{'table'}) ? $request->{'table'} : undef;
+  my $selectors = ($request->{'selectors'}) ? $request->{'selectors'} : undef;
+  return $self->{impl}->fetchRowBatch($table, $selectors);
+}
+
 sub mutate{
   my ($self, $request) = @_;
 
@@ -6313,6 +6532,55 @@ sub recv_fetchRow{
   }
   die "fetchRow failed: unknown result";
 }
+sub fetchRowBatch{
+  my $self = shift;
+  my $table = shift;
+  my $selectors = shift;
+
+    $self->send_fetchRowBatch($table, $selectors);
+  return $self->recv_fetchRowBatch();
+}
+
+sub send_fetchRowBatch{
+  my $self = shift;
+  my $table = shift;
+  my $selectors = shift;
+
+  $self->{output}->writeMessageBegin('fetchRowBatch', TMessageType::CALL, $self->{seqid});
+  my $args = new Blur::Blur_fetchRowBatch_args();
+  $args->{table} = $table;
+  $args->{selectors} = $selectors;
+  $args->write($self->{output});
+  $self->{output}->writeMessageEnd();
+  $self->{output}->getTransport()->flush();
+}
+
+sub recv_fetchRowBatch{
+  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::Blur_fetchRowBatch_result();
+  $result->read($self->{input});
+  $self->{input}->readMessageEnd();
+
+  if (defined $result->{success} ) {
+    return $result->{success};
+  }
+  if (defined $result->{ex}) {
+    die $result->{ex};
+  }
+  die "fetchRowBatch failed: unknown result";
+}
 sub mutate{
   my $self = shift;
   my $mutation = shift;
@@ -7335,6 +7603,23 @@ sub process_fetchRow {
     $output->getTransport()->flush();
 }
 
+sub process_fetchRowBatch {
+    my ($self, $seqid, $input, $output) = @_;
+    my $args = new Blur::Blur_fetchRowBatch_args();
+    $args->read($input);
+    $input->readMessageEnd();
+    my $result = new Blur::Blur_fetchRowBatch_result();
+    eval {
+      $result->{success} = $self->{handler}->fetchRowBatch($args->table, $args->selectors);
+    }; if( UNIVERSAL::isa($@,'Blur::BlurException') ){ 
+      $result->{ex} = $@;
+    }
+    $output->writeMessageBegin('fetchRowBatch', TMessageType::REPLY, $seqid);
+    $result->write($output);
+    $output->writeMessageEnd();
+    $output->getTransport()->flush();
+}
+
 sub process_mutate {
     my ($self, $seqid, $input, $output) = @_;
     my $args = new Blur::Blur_mutate_args();

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/f95fc703/distribution/src/main/scripts/interface/gen-rb/blur.rb
----------------------------------------------------------------------
diff --git a/distribution/src/main/scripts/interface/gen-rb/blur.rb b/distribution/src/main/scripts/interface/gen-rb/blur.rb
index 5f45512..ac3fa57 100644
--- a/distribution/src/main/scripts/interface/gen-rb/blur.rb
+++ b/distribution/src/main/scripts/interface/gen-rb/blur.rb
@@ -277,6 +277,22 @@ module Blur
         raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'fetchRow failed: unknown result')
       end
 
+      def fetchRowBatch(table, selectors)
+        send_fetchRowBatch(table, selectors)
+        return recv_fetchRowBatch()
+      end
+
+      def send_fetchRowBatch(table, selectors)
+        send_message('fetchRowBatch', FetchRowBatch_args, :table => table, :selectors => selectors)
+      end
+
+      def recv_fetchRowBatch()
+        result = receive_message(FetchRowBatch_result)
+        return result.success unless result.success.nil?
+        raise result.ex unless result.ex.nil?
+        raise ::Thrift::ApplicationException.new(::Thrift::ApplicationException::MISSING_RESULT, 'fetchRowBatch failed: unknown result')
+      end
+
       def mutate(mutation)
         send_mutate(mutation)
         recv_mutate()
@@ -706,6 +722,17 @@ module Blur
         write_result(result, oprot, 'fetchRow', seqid)
       end
 
+      def process_fetchRowBatch(seqid, iprot, oprot)
+        args = read_args(iprot, FetchRowBatch_args)
+        result = FetchRowBatch_result.new()
+        begin
+          result.success = @handler.fetchRowBatch(args.table, args.selectors)
+        rescue ::Blur::BlurException => ex
+          result.ex = ex
+        end
+        write_result(result, oprot, 'fetchRowBatch', seqid)
+      end
+
       def process_mutate(seqid, iprot, oprot)
         args = read_args(iprot, Mutate_args)
         result = Mutate_result.new()
@@ -1473,6 +1500,44 @@ module Blur
       ::Thrift::Struct.generate_accessors self
     end
 
+    class FetchRowBatch_args
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      TABLE = 1
+      SELECTORS = 2
+
+      FIELDS = {
+        # the table name.
+        TABLE => {:type => ::Thrift::Types::STRING, :name => 'table'},
+        # the Selector to use to fetch the Row or Record.
+        SELECTORS => {:type => ::Thrift::Types::LIST, :name => 'selectors', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Blur::Selector}}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
+    class FetchRowBatch_result
+      include ::Thrift::Struct, ::Thrift::Struct_Union
+      SUCCESS = 0
+      EX = 1
+
+      FIELDS = {
+        SUCCESS => {:type => ::Thrift::Types::LIST, :name => 'success', :element => {:type => ::Thrift::Types::STRUCT, :class => ::Blur::FetchResult}},
+        EX => {:type => ::Thrift::Types::STRUCT, :name => 'ex', :class => ::Blur::BlurException}
+      }
+
+      def struct_fields; FIELDS; end
+
+      def validate
+      end
+
+      ::Thrift::Struct.generate_accessors self
+    end
+
     class Mutate_args
       include ::Thrift::Struct, ::Thrift::Struct_Union
       MUTATION = 1

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/f95fc703/docs/Blur.html
----------------------------------------------------------------------
diff --git a/docs/Blur.html b/docs/Blur.html
index c89ef01..bcddec1 100644
--- a/docs/Blur.html
+++ b/docs/Blur.html
@@ -113,6 +113,7 @@ limitations under the License.
 <li><a href="#Fn_Blur_query">Data Methods</a><ul class="nav">
 <li><a href="#Fn_Blur_query">&nbsp;&nbsp;query</a></li>
 <li><a href="#Fn_Blur_fetchRow">&nbsp;&nbsp;fetchRow</a></li>
+<li><a href="#Fn_Blur_fetchRowBatch">&nbsp;&nbsp;fetchRowBatch</a></li>
 <li><a href="#Fn_Blur_mutate">&nbsp;&nbsp;mutate</a></li>
 <li><a href="#Fn_Blur_mutateBatch">&nbsp;&nbsp;mutateBatch</a></li>
 <li><a href="#Fn_Blur_cancelQuery">&nbsp;&nbsp;cancelQuery</a></li>
@@ -707,6 +708,17 @@ throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
 </td></tr>
 <tr><td>selector</td><td>the Selector to use to fetch the Row or Record.
 </td></tr>
+</table></p></section><section><div class="page-header"><h4 id="Fn_Blur_fetchRowBatch">Function: Blur.fetchRowBatch</h4></div><p class="lead">
+<pre><code>list&lt;<code><a href="Blur.html#Struct_FetchResult">FetchResult</a></code>&gt;</code> fetchRowBatch(<code>string</code> table,
+<code>list&lt;<code><a href="Blur.html#Struct_Selector">Selector</a></code>&gt;</code> selectors)
+throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>
+</pre>Fetches a batch of Rows or Records in the given table with the given Selector list.
+@return the FetchResult.
+<br/><br/><h4 id="Parameters_Blur_fetchRowBatch">Parameters</h4>
+<table class="table-bordered table-striped table-condensed"><thead><th>Name</th><th>Description</th></thead><tr><td>table</td><td>the table name.
+</td></tr>
+<tr><td>selectors</td><td>the Selector to use to fetch the Row or Record.
+</td></tr>
 </table></p></section><section><div class="page-header"><h4 id="Fn_Blur_mutate">Function: Blur.mutate</h4></div><p class="lead">
 <pre><code>void</code> mutate(<code><a href="Blur.html#Struct_RowMutation">RowMutation</a></code> mutation)
 throws <code><a href="Blur.html#Struct_BlurException">BlurException</a></code>


Mime
View raw message