incubator-blur-commits mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From amccu...@apache.org
Subject [19/39] Final changes to get the project running again with types. All unit tests pass but I still need to add external type additions and cluster lock on adding fields via ZooKeeper so that read write contention against HDFS is lowered during high fiel
Date Mon, 12 Aug 2013 15:48:58 GMT
http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/2378815f/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/TableDescriptor.java
----------------------------------------------------------------------
diff --git a/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/TableDescriptor.java b/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/TableDescriptor.java
index 161122e..2264b24 100644
--- a/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/TableDescriptor.java
+++ b/distribution/src/main/scripts/interface/gen-java/org/apache/blur/thrift/generated/TableDescriptor.java
@@ -66,6 +66,10 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
   private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField READ_ONLY_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("readOnly", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.BOOL, (short)12);
   private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField COLUMN_PRE_CACHE_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("columnPreCache", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRUCT, (short)13);
   private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField TABLE_PROPERTIES_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("tableProperties", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.MAP, (short)14);
+  private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField STRICT_TYPES_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("strictTypes", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.BOOL, (short)15);
+  private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField DEFAULT_MISSING_FIELD_TYPE_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("defaultMissingFieldType", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, (short)16);
+  private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField DEFAULT_MISSING_FIELD_LESS_INDEXING_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("defaultMissingFieldLessIndexing", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.BOOL, (short)17);
+  private static final org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField DEFAULT_MISSING_FIELD_PROPS_FIELD_DESC = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TField("defaultMissingFieldProps", org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.MAP, (short)18);
 
   private static final Map<Class<? extends IScheme>, SchemeFactory> schemes = new HashMap<Class<? extends IScheme>, SchemeFactory>();
   static {
@@ -114,7 +118,26 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
    * Sets what column families and columns to prefetch into block cache on shard open.
    */
   public ColumnPreCache columnPreCache; // required
+  /**
+   * The table properties that can modify the default behavior of the table.  TODO: Document all options.
+   */
   public Map<String,String> tableProperties; // required
+  /**
+   * Whether strict types are enabled or not (default).  If they are enabled no column can be added without first having it's type defined.
+   */
+  public boolean strictTypes; // required
+  /**
+   * If strict is not enabled, the default field type.
+   */
+  public String defaultMissingFieldType; // required
+  /**
+   * If strict is not enabled, defines whether or not field less indexing is enabled on the newly created fields.
+   */
+  public boolean defaultMissingFieldLessIndexing; // required
+  /**
+   * If strict is not enabled, defines the properties to be used in the new field creation.
+   */
+  public Map<String,String> defaultMissingFieldProps; // required
 
   /** The set of fields this struct contains, along with convenience methods for finding and manipulating them. */
   public enum _Fields implements org.apache.blur.thirdparty.thrift_0_9_0.TFieldIdEnum {
@@ -159,7 +182,26 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
      * Sets what column families and columns to prefetch into block cache on shard open.
      */
     COLUMN_PRE_CACHE((short)13, "columnPreCache"),
-    TABLE_PROPERTIES((short)14, "tableProperties");
+    /**
+     * The table properties that can modify the default behavior of the table.  TODO: Document all options.
+     */
+    TABLE_PROPERTIES((short)14, "tableProperties"),
+    /**
+     * Whether strict types are enabled or not (default).  If they are enabled no column can be added without first having it's type defined.
+     */
+    STRICT_TYPES((short)15, "strictTypes"),
+    /**
+     * If strict is not enabled, the default field type.
+     */
+    DEFAULT_MISSING_FIELD_TYPE((short)16, "defaultMissingFieldType"),
+    /**
+     * If strict is not enabled, defines whether or not field less indexing is enabled on the newly created fields.
+     */
+    DEFAULT_MISSING_FIELD_LESS_INDEXING((short)17, "defaultMissingFieldLessIndexing"),
+    /**
+     * If strict is not enabled, defines the properties to be used in the new field creation.
+     */
+    DEFAULT_MISSING_FIELD_PROPS((short)18, "defaultMissingFieldProps");
 
     private static final Map<String, _Fields> byName = new HashMap<String, _Fields>();
 
@@ -196,6 +238,14 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
           return COLUMN_PRE_CACHE;
         case 14: // TABLE_PROPERTIES
           return TABLE_PROPERTIES;
+        case 15: // STRICT_TYPES
+          return STRICT_TYPES;
+        case 16: // DEFAULT_MISSING_FIELD_TYPE
+          return DEFAULT_MISSING_FIELD_TYPE;
+        case 17: // DEFAULT_MISSING_FIELD_LESS_INDEXING
+          return DEFAULT_MISSING_FIELD_LESS_INDEXING;
+        case 18: // DEFAULT_MISSING_FIELD_PROPS
+          return DEFAULT_MISSING_FIELD_PROPS;
         default:
           return null;
       }
@@ -240,6 +290,8 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
   private static final int __SHARDCOUNT_ISSET_ID = 1;
   private static final int __BLOCKCACHING_ISSET_ID = 2;
   private static final int __READONLY_ISSET_ID = 3;
+  private static final int __STRICTTYPES_ISSET_ID = 4;
+  private static final int __DEFAULTMISSINGFIELDLESSINDEXING_ISSET_ID = 5;
   private byte __isset_bitfield = 0;
   public static final Map<_Fields, org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData> metaDataMap;
   static {
@@ -269,6 +321,16 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
         new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.MapMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.MAP, 
             new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING), 
             new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING))));
+    tmpMap.put(_Fields.STRICT_TYPES, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("strictTypes", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
+        new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.DEFAULT_MISSING_FIELD_TYPE, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("defaultMissingFieldType", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
+        new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING)));
+    tmpMap.put(_Fields.DEFAULT_MISSING_FIELD_LESS_INDEXING, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("defaultMissingFieldLessIndexing", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
+        new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.BOOL)));
+    tmpMap.put(_Fields.DEFAULT_MISSING_FIELD_PROPS, new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData("defaultMissingFieldProps", org.apache.blur.thirdparty.thrift_0_9_0.TFieldRequirementType.DEFAULT, 
+        new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.MapMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.MAP, 
+            new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING), 
+            new org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldValueMetaData(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING))));
     metaDataMap = Collections.unmodifiableMap(tmpMap);
     org.apache.blur.thirdparty.thrift_0_9_0.meta_data.FieldMetaData.addStructMetaDataMap(TableDescriptor.class, metaDataMap);
   }
@@ -284,6 +346,12 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
 
     this.readOnly = false;
 
+    this.strictTypes = false;
+
+    this.defaultMissingFieldType = "text";
+
+    this.defaultMissingFieldLessIndexing = true;
+
   }
 
   public TableDescriptor(
@@ -297,7 +365,11 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
     Set<String> blockCachingFileTypes,
     boolean readOnly,
     ColumnPreCache columnPreCache,
-    Map<String,String> tableProperties)
+    Map<String,String> tableProperties,
+    boolean strictTypes,
+    String defaultMissingFieldType,
+    boolean defaultMissingFieldLessIndexing,
+    Map<String,String> defaultMissingFieldProps)
   {
     this();
     this.isEnabled = isEnabled;
@@ -315,6 +387,12 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
     setReadOnlyIsSet(true);
     this.columnPreCache = columnPreCache;
     this.tableProperties = tableProperties;
+    this.strictTypes = strictTypes;
+    setStrictTypesIsSet(true);
+    this.defaultMissingFieldType = defaultMissingFieldType;
+    this.defaultMissingFieldLessIndexing = defaultMissingFieldLessIndexing;
+    setDefaultMissingFieldLessIndexingIsSet(true);
+    this.defaultMissingFieldProps = defaultMissingFieldProps;
   }
 
   /**
@@ -363,6 +441,26 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
       }
       this.tableProperties = __this__tableProperties;
     }
+    this.strictTypes = other.strictTypes;
+    if (other.isSetDefaultMissingFieldType()) {
+      this.defaultMissingFieldType = other.defaultMissingFieldType;
+    }
+    this.defaultMissingFieldLessIndexing = other.defaultMissingFieldLessIndexing;
+    if (other.isSetDefaultMissingFieldProps()) {
+      Map<String,String> __this__defaultMissingFieldProps = new HashMap<String,String>();
+      for (Map.Entry<String, String> other_element : other.defaultMissingFieldProps.entrySet()) {
+
+        String other_element_key = other_element.getKey();
+        String other_element_value = other_element.getValue();
+
+        String __this__defaultMissingFieldProps_copy_key = other_element_key;
+
+        String __this__defaultMissingFieldProps_copy_value = other_element_value;
+
+        __this__defaultMissingFieldProps.put(__this__defaultMissingFieldProps_copy_key, __this__defaultMissingFieldProps_copy_value);
+      }
+      this.defaultMissingFieldProps = __this__defaultMissingFieldProps;
+    }
   }
 
   public TableDescriptor deepCopy() {
@@ -387,6 +485,13 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
 
     this.columnPreCache = null;
     this.tableProperties = null;
+    this.strictTypes = false;
+
+    this.defaultMissingFieldType = "text";
+
+    this.defaultMissingFieldLessIndexing = true;
+
+    this.defaultMissingFieldProps = null;
   }
 
   /**
@@ -713,10 +818,16 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
     this.tableProperties.put(key, val);
   }
 
+  /**
+   * The table properties that can modify the default behavior of the table.  TODO: Document all options.
+   */
   public Map<String,String> getTableProperties() {
     return this.tableProperties;
   }
 
+  /**
+   * The table properties that can modify the default behavior of the table.  TODO: Document all options.
+   */
   public TableDescriptor setTableProperties(Map<String,String> tableProperties) {
     this.tableProperties = tableProperties;
     return this;
@@ -737,6 +848,135 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
     }
   }
 
+  /**
+   * Whether strict types are enabled or not (default).  If they are enabled no column can be added without first having it's type defined.
+   */
+  public boolean isStrictTypes() {
+    return this.strictTypes;
+  }
+
+  /**
+   * Whether strict types are enabled or not (default).  If they are enabled no column can be added without first having it's type defined.
+   */
+  public TableDescriptor setStrictTypes(boolean strictTypes) {
+    this.strictTypes = strictTypes;
+    setStrictTypesIsSet(true);
+    return this;
+  }
+
+  public void unsetStrictTypes() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __STRICTTYPES_ISSET_ID);
+  }
+
+  /** Returns true if field strictTypes is set (has been assigned a value) and false otherwise */
+  public boolean isSetStrictTypes() {
+    return EncodingUtils.testBit(__isset_bitfield, __STRICTTYPES_ISSET_ID);
+  }
+
+  public void setStrictTypesIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __STRICTTYPES_ISSET_ID, value);
+  }
+
+  /**
+   * If strict is not enabled, the default field type.
+   */
+  public String getDefaultMissingFieldType() {
+    return this.defaultMissingFieldType;
+  }
+
+  /**
+   * If strict is not enabled, the default field type.
+   */
+  public TableDescriptor setDefaultMissingFieldType(String defaultMissingFieldType) {
+    this.defaultMissingFieldType = defaultMissingFieldType;
+    return this;
+  }
+
+  public void unsetDefaultMissingFieldType() {
+    this.defaultMissingFieldType = null;
+  }
+
+  /** Returns true if field defaultMissingFieldType is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultMissingFieldType() {
+    return this.defaultMissingFieldType != null;
+  }
+
+  public void setDefaultMissingFieldTypeIsSet(boolean value) {
+    if (!value) {
+      this.defaultMissingFieldType = null;
+    }
+  }
+
+  /**
+   * If strict is not enabled, defines whether or not field less indexing is enabled on the newly created fields.
+   */
+  public boolean isDefaultMissingFieldLessIndexing() {
+    return this.defaultMissingFieldLessIndexing;
+  }
+
+  /**
+   * If strict is not enabled, defines whether or not field less indexing is enabled on the newly created fields.
+   */
+  public TableDescriptor setDefaultMissingFieldLessIndexing(boolean defaultMissingFieldLessIndexing) {
+    this.defaultMissingFieldLessIndexing = defaultMissingFieldLessIndexing;
+    setDefaultMissingFieldLessIndexingIsSet(true);
+    return this;
+  }
+
+  public void unsetDefaultMissingFieldLessIndexing() {
+    __isset_bitfield = EncodingUtils.clearBit(__isset_bitfield, __DEFAULTMISSINGFIELDLESSINDEXING_ISSET_ID);
+  }
+
+  /** Returns true if field defaultMissingFieldLessIndexing is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultMissingFieldLessIndexing() {
+    return EncodingUtils.testBit(__isset_bitfield, __DEFAULTMISSINGFIELDLESSINDEXING_ISSET_ID);
+  }
+
+  public void setDefaultMissingFieldLessIndexingIsSet(boolean value) {
+    __isset_bitfield = EncodingUtils.setBit(__isset_bitfield, __DEFAULTMISSINGFIELDLESSINDEXING_ISSET_ID, value);
+  }
+
+  public int getDefaultMissingFieldPropsSize() {
+    return (this.defaultMissingFieldProps == null) ? 0 : this.defaultMissingFieldProps.size();
+  }
+
+  public void putToDefaultMissingFieldProps(String key, String val) {
+    if (this.defaultMissingFieldProps == null) {
+      this.defaultMissingFieldProps = new HashMap<String,String>();
+    }
+    this.defaultMissingFieldProps.put(key, val);
+  }
+
+  /**
+   * If strict is not enabled, defines the properties to be used in the new field creation.
+   */
+  public Map<String,String> getDefaultMissingFieldProps() {
+    return this.defaultMissingFieldProps;
+  }
+
+  /**
+   * If strict is not enabled, defines the properties to be used in the new field creation.
+   */
+  public TableDescriptor setDefaultMissingFieldProps(Map<String,String> defaultMissingFieldProps) {
+    this.defaultMissingFieldProps = defaultMissingFieldProps;
+    return this;
+  }
+
+  public void unsetDefaultMissingFieldProps() {
+    this.defaultMissingFieldProps = null;
+  }
+
+  /** Returns true if field defaultMissingFieldProps is set (has been assigned a value) and false otherwise */
+  public boolean isSetDefaultMissingFieldProps() {
+    return this.defaultMissingFieldProps != null;
+  }
+
+  public void setDefaultMissingFieldPropsIsSet(boolean value) {
+    if (!value) {
+      this.defaultMissingFieldProps = null;
+    }
+  }
+
   public void setFieldValue(_Fields field, Object value) {
     switch (field) {
     case IS_ENABLED:
@@ -827,6 +1067,38 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
       }
       break;
 
+    case STRICT_TYPES:
+      if (value == null) {
+        unsetStrictTypes();
+      } else {
+        setStrictTypes((Boolean)value);
+      }
+      break;
+
+    case DEFAULT_MISSING_FIELD_TYPE:
+      if (value == null) {
+        unsetDefaultMissingFieldType();
+      } else {
+        setDefaultMissingFieldType((String)value);
+      }
+      break;
+
+    case DEFAULT_MISSING_FIELD_LESS_INDEXING:
+      if (value == null) {
+        unsetDefaultMissingFieldLessIndexing();
+      } else {
+        setDefaultMissingFieldLessIndexing((Boolean)value);
+      }
+      break;
+
+    case DEFAULT_MISSING_FIELD_PROPS:
+      if (value == null) {
+        unsetDefaultMissingFieldProps();
+      } else {
+        setDefaultMissingFieldProps((Map<String,String>)value);
+      }
+      break;
+
     }
   }
 
@@ -865,6 +1137,18 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
     case TABLE_PROPERTIES:
       return getTableProperties();
 
+    case STRICT_TYPES:
+      return Boolean.valueOf(isStrictTypes());
+
+    case DEFAULT_MISSING_FIELD_TYPE:
+      return getDefaultMissingFieldType();
+
+    case DEFAULT_MISSING_FIELD_LESS_INDEXING:
+      return Boolean.valueOf(isDefaultMissingFieldLessIndexing());
+
+    case DEFAULT_MISSING_FIELD_PROPS:
+      return getDefaultMissingFieldProps();
+
     }
     throw new IllegalStateException();
   }
@@ -898,6 +1182,14 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
       return isSetColumnPreCache();
     case TABLE_PROPERTIES:
       return isSetTableProperties();
+    case STRICT_TYPES:
+      return isSetStrictTypes();
+    case DEFAULT_MISSING_FIELD_TYPE:
+      return isSetDefaultMissingFieldType();
+    case DEFAULT_MISSING_FIELD_LESS_INDEXING:
+      return isSetDefaultMissingFieldLessIndexing();
+    case DEFAULT_MISSING_FIELD_PROPS:
+      return isSetDefaultMissingFieldProps();
     }
     throw new IllegalStateException();
   }
@@ -1014,6 +1306,42 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
         return false;
     }
 
+    boolean this_present_strictTypes = true;
+    boolean that_present_strictTypes = true;
+    if (this_present_strictTypes || that_present_strictTypes) {
+      if (!(this_present_strictTypes && that_present_strictTypes))
+        return false;
+      if (this.strictTypes != that.strictTypes)
+        return false;
+    }
+
+    boolean this_present_defaultMissingFieldType = true && this.isSetDefaultMissingFieldType();
+    boolean that_present_defaultMissingFieldType = true && that.isSetDefaultMissingFieldType();
+    if (this_present_defaultMissingFieldType || that_present_defaultMissingFieldType) {
+      if (!(this_present_defaultMissingFieldType && that_present_defaultMissingFieldType))
+        return false;
+      if (!this.defaultMissingFieldType.equals(that.defaultMissingFieldType))
+        return false;
+    }
+
+    boolean this_present_defaultMissingFieldLessIndexing = true;
+    boolean that_present_defaultMissingFieldLessIndexing = true;
+    if (this_present_defaultMissingFieldLessIndexing || that_present_defaultMissingFieldLessIndexing) {
+      if (!(this_present_defaultMissingFieldLessIndexing && that_present_defaultMissingFieldLessIndexing))
+        return false;
+      if (this.defaultMissingFieldLessIndexing != that.defaultMissingFieldLessIndexing)
+        return false;
+    }
+
+    boolean this_present_defaultMissingFieldProps = true && this.isSetDefaultMissingFieldProps();
+    boolean that_present_defaultMissingFieldProps = true && that.isSetDefaultMissingFieldProps();
+    if (this_present_defaultMissingFieldProps || that_present_defaultMissingFieldProps) {
+      if (!(this_present_defaultMissingFieldProps && that_present_defaultMissingFieldProps))
+        return false;
+      if (!this.defaultMissingFieldProps.equals(that.defaultMissingFieldProps))
+        return false;
+    }
+
     return true;
   }
 
@@ -1140,6 +1468,46 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
         return lastComparison;
       }
     }
+    lastComparison = Boolean.valueOf(isSetStrictTypes()).compareTo(typedOther.isSetStrictTypes());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetStrictTypes()) {
+      lastComparison = org.apache.blur.thirdparty.thrift_0_9_0.TBaseHelper.compareTo(this.strictTypes, typedOther.strictTypes);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDefaultMissingFieldType()).compareTo(typedOther.isSetDefaultMissingFieldType());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDefaultMissingFieldType()) {
+      lastComparison = org.apache.blur.thirdparty.thrift_0_9_0.TBaseHelper.compareTo(this.defaultMissingFieldType, typedOther.defaultMissingFieldType);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDefaultMissingFieldLessIndexing()).compareTo(typedOther.isSetDefaultMissingFieldLessIndexing());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDefaultMissingFieldLessIndexing()) {
+      lastComparison = org.apache.blur.thirdparty.thrift_0_9_0.TBaseHelper.compareTo(this.defaultMissingFieldLessIndexing, typedOther.defaultMissingFieldLessIndexing);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
+    lastComparison = Boolean.valueOf(isSetDefaultMissingFieldProps()).compareTo(typedOther.isSetDefaultMissingFieldProps());
+    if (lastComparison != 0) {
+      return lastComparison;
+    }
+    if (isSetDefaultMissingFieldProps()) {
+      lastComparison = org.apache.blur.thirdparty.thrift_0_9_0.TBaseHelper.compareTo(this.defaultMissingFieldProps, typedOther.defaultMissingFieldProps);
+      if (lastComparison != 0) {
+        return lastComparison;
+      }
+    }
     return 0;
   }
 
@@ -1231,6 +1599,30 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
       sb.append(this.tableProperties);
     }
     first = false;
+    if (!first) sb.append(", ");
+    sb.append("strictTypes:");
+    sb.append(this.strictTypes);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("defaultMissingFieldType:");
+    if (this.defaultMissingFieldType == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.defaultMissingFieldType);
+    }
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("defaultMissingFieldLessIndexing:");
+    sb.append(this.defaultMissingFieldLessIndexing);
+    first = false;
+    if (!first) sb.append(", ");
+    sb.append("defaultMissingFieldProps:");
+    if (this.defaultMissingFieldProps == null) {
+      sb.append("null");
+    } else {
+      sb.append(this.defaultMissingFieldProps);
+    }
+    first = false;
     sb.append(")");
     return sb.toString();
   }
@@ -1390,6 +1782,50 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
               org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
             }
             break;
+          case 15: // STRICT_TYPES
+            if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.BOOL) {
+              struct.strictTypes = iprot.readBool();
+              struct.setStrictTypesIsSet(true);
+            } else { 
+              org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 16: // DEFAULT_MISSING_FIELD_TYPE
+            if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING) {
+              struct.defaultMissingFieldType = iprot.readString();
+              struct.setDefaultMissingFieldTypeIsSet(true);
+            } else { 
+              org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 17: // DEFAULT_MISSING_FIELD_LESS_INDEXING
+            if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.BOOL) {
+              struct.defaultMissingFieldLessIndexing = iprot.readBool();
+              struct.setDefaultMissingFieldLessIndexingIsSet(true);
+            } else { 
+              org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
+          case 18: // DEFAULT_MISSING_FIELD_PROPS
+            if (schemeField.type == org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.MAP) {
+              {
+                org.apache.blur.thirdparty.thrift_0_9_0.protocol.TMap _map165 = iprot.readMapBegin();
+                struct.defaultMissingFieldProps = new HashMap<String,String>(2*_map165.size);
+                for (int _i166 = 0; _i166 < _map165.size; ++_i166)
+                {
+                  String _key167; // required
+                  String _val168; // optional
+                  _key167 = iprot.readString();
+                  _val168 = iprot.readString();
+                  struct.defaultMissingFieldProps.put(_key167, _val168);
+                }
+                iprot.readMapEnd();
+              }
+              struct.setDefaultMissingFieldPropsIsSet(true);
+            } else { 
+              org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
+            }
+            break;
           default:
             org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocolUtil.skip(iprot, schemeField.type);
         }
@@ -1438,9 +1874,9 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
         oprot.writeFieldBegin(BLOCK_CACHING_FILE_TYPES_FIELD_DESC);
         {
           oprot.writeSetBegin(new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TSet(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, struct.blockCachingFileTypes.size()));
-          for (String _iter165 : struct.blockCachingFileTypes)
+          for (String _iter169 : struct.blockCachingFileTypes)
           {
-            oprot.writeString(_iter165);
+            oprot.writeString(_iter169);
           }
           oprot.writeSetEnd();
         }
@@ -1458,10 +1894,34 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
         oprot.writeFieldBegin(TABLE_PROPERTIES_FIELD_DESC);
         {
           oprot.writeMapBegin(new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TMap(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, struct.tableProperties.size()));
-          for (Map.Entry<String, String> _iter166 : struct.tableProperties.entrySet())
+          for (Map.Entry<String, String> _iter170 : struct.tableProperties.entrySet())
           {
-            oprot.writeString(_iter166.getKey());
-            oprot.writeString(_iter166.getValue());
+            oprot.writeString(_iter170.getKey());
+            oprot.writeString(_iter170.getValue());
+          }
+          oprot.writeMapEnd();
+        }
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(STRICT_TYPES_FIELD_DESC);
+      oprot.writeBool(struct.strictTypes);
+      oprot.writeFieldEnd();
+      if (struct.defaultMissingFieldType != null) {
+        oprot.writeFieldBegin(DEFAULT_MISSING_FIELD_TYPE_FIELD_DESC);
+        oprot.writeString(struct.defaultMissingFieldType);
+        oprot.writeFieldEnd();
+      }
+      oprot.writeFieldBegin(DEFAULT_MISSING_FIELD_LESS_INDEXING_FIELD_DESC);
+      oprot.writeBool(struct.defaultMissingFieldLessIndexing);
+      oprot.writeFieldEnd();
+      if (struct.defaultMissingFieldProps != null) {
+        oprot.writeFieldBegin(DEFAULT_MISSING_FIELD_PROPS_FIELD_DESC);
+        {
+          oprot.writeMapBegin(new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TMap(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, struct.defaultMissingFieldProps.size()));
+          for (Map.Entry<String, String> _iter171 : struct.defaultMissingFieldProps.entrySet())
+          {
+            oprot.writeString(_iter171.getKey());
+            oprot.writeString(_iter171.getValue());
           }
           oprot.writeMapEnd();
         }
@@ -1518,7 +1978,19 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
       if (struct.isSetTableProperties()) {
         optionals.set(10);
       }
-      oprot.writeBitSet(optionals, 11);
+      if (struct.isSetStrictTypes()) {
+        optionals.set(11);
+      }
+      if (struct.isSetDefaultMissingFieldType()) {
+        optionals.set(12);
+      }
+      if (struct.isSetDefaultMissingFieldLessIndexing()) {
+        optionals.set(13);
+      }
+      if (struct.isSetDefaultMissingFieldProps()) {
+        optionals.set(14);
+      }
+      oprot.writeBitSet(optionals, 15);
       if (struct.isSetIsEnabled()) {
         oprot.writeBool(struct.isEnabled);
       }
@@ -1543,9 +2015,9 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
       if (struct.isSetBlockCachingFileTypes()) {
         {
           oprot.writeI32(struct.blockCachingFileTypes.size());
-          for (String _iter167 : struct.blockCachingFileTypes)
+          for (String _iter172 : struct.blockCachingFileTypes)
           {
-            oprot.writeString(_iter167);
+            oprot.writeString(_iter172);
           }
         }
       }
@@ -1558,10 +2030,29 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
       if (struct.isSetTableProperties()) {
         {
           oprot.writeI32(struct.tableProperties.size());
-          for (Map.Entry<String, String> _iter168 : struct.tableProperties.entrySet())
+          for (Map.Entry<String, String> _iter173 : struct.tableProperties.entrySet())
           {
-            oprot.writeString(_iter168.getKey());
-            oprot.writeString(_iter168.getValue());
+            oprot.writeString(_iter173.getKey());
+            oprot.writeString(_iter173.getValue());
+          }
+        }
+      }
+      if (struct.isSetStrictTypes()) {
+        oprot.writeBool(struct.strictTypes);
+      }
+      if (struct.isSetDefaultMissingFieldType()) {
+        oprot.writeString(struct.defaultMissingFieldType);
+      }
+      if (struct.isSetDefaultMissingFieldLessIndexing()) {
+        oprot.writeBool(struct.defaultMissingFieldLessIndexing);
+      }
+      if (struct.isSetDefaultMissingFieldProps()) {
+        {
+          oprot.writeI32(struct.defaultMissingFieldProps.size());
+          for (Map.Entry<String, String> _iter174 : struct.defaultMissingFieldProps.entrySet())
+          {
+            oprot.writeString(_iter174.getKey());
+            oprot.writeString(_iter174.getValue());
           }
         }
       }
@@ -1570,7 +2061,7 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
     @Override
     public void read(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TProtocol prot, TableDescriptor struct) throws org.apache.blur.thirdparty.thrift_0_9_0.TException {
       TTupleProtocol iprot = (TTupleProtocol) prot;
-      BitSet incoming = iprot.readBitSet(11);
+      BitSet incoming = iprot.readBitSet(15);
       if (incoming.get(0)) {
         struct.isEnabled = iprot.readBool();
         struct.setIsEnabledIsSet(true);
@@ -1601,13 +2092,13 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
       }
       if (incoming.get(7)) {
         {
-          org.apache.blur.thirdparty.thrift_0_9_0.protocol.TSet _set169 = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TSet(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, iprot.readI32());
-          struct.blockCachingFileTypes = new HashSet<String>(2*_set169.size);
-          for (int _i170 = 0; _i170 < _set169.size; ++_i170)
+          org.apache.blur.thirdparty.thrift_0_9_0.protocol.TSet _set175 = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TSet(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, iprot.readI32());
+          struct.blockCachingFileTypes = new HashSet<String>(2*_set175.size);
+          for (int _i176 = 0; _i176 < _set175.size; ++_i176)
           {
-            String _elem171; // required
-            _elem171 = iprot.readString();
-            struct.blockCachingFileTypes.add(_elem171);
+            String _elem177; // required
+            _elem177 = iprot.readString();
+            struct.blockCachingFileTypes.add(_elem177);
           }
         }
         struct.setBlockCachingFileTypesIsSet(true);
@@ -1623,19 +2114,46 @@ public class TableDescriptor implements org.apache.blur.thirdparty.thrift_0_9_0.
       }
       if (incoming.get(10)) {
         {
-          org.apache.blur.thirdparty.thrift_0_9_0.protocol.TMap _map172 = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TMap(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, iprot.readI32());
-          struct.tableProperties = new HashMap<String,String>(2*_map172.size);
-          for (int _i173 = 0; _i173 < _map172.size; ++_i173)
+          org.apache.blur.thirdparty.thrift_0_9_0.protocol.TMap _map178 = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TMap(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, iprot.readI32());
+          struct.tableProperties = new HashMap<String,String>(2*_map178.size);
+          for (int _i179 = 0; _i179 < _map178.size; ++_i179)
           {
-            String _key174; // required
-            String _val175; // optional
-            _key174 = iprot.readString();
-            _val175 = iprot.readString();
-            struct.tableProperties.put(_key174, _val175);
+            String _key180; // required
+            String _val181; // optional
+            _key180 = iprot.readString();
+            _val181 = iprot.readString();
+            struct.tableProperties.put(_key180, _val181);
           }
         }
         struct.setTablePropertiesIsSet(true);
       }
+      if (incoming.get(11)) {
+        struct.strictTypes = iprot.readBool();
+        struct.setStrictTypesIsSet(true);
+      }
+      if (incoming.get(12)) {
+        struct.defaultMissingFieldType = iprot.readString();
+        struct.setDefaultMissingFieldTypeIsSet(true);
+      }
+      if (incoming.get(13)) {
+        struct.defaultMissingFieldLessIndexing = iprot.readBool();
+        struct.setDefaultMissingFieldLessIndexingIsSet(true);
+      }
+      if (incoming.get(14)) {
+        {
+          org.apache.blur.thirdparty.thrift_0_9_0.protocol.TMap _map182 = new org.apache.blur.thirdparty.thrift_0_9_0.protocol.TMap(org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, org.apache.blur.thirdparty.thrift_0_9_0.protocol.TType.STRING, iprot.readI32());
+          struct.defaultMissingFieldProps = new HashMap<String,String>(2*_map182.size);
+          for (int _i183 = 0; _i183 < _map182.size; ++_i183)
+          {
+            String _key184; // required
+            String _val185; // optional
+            _key184 = iprot.readString();
+            _val185 = iprot.readString();
+            struct.defaultMissingFieldProps.put(_key184, _val185);
+          }
+        }
+        struct.setDefaultMissingFieldPropsIsSet(true);
+      }
     }
   }
 

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/2378815f/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 68b9aa0..7399e36 100644
--- a/distribution/src/main/scripts/interface/gen-js/Blur.js
+++ b/distribution/src/main/scripts/interface/gen-js/Blur.js
@@ -67,18 +67,18 @@ Blur_shardClusterList_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.LIST) {
-        var _size206 = 0;
-        var _rtmp3210;
+        var _size216 = 0;
+        var _rtmp3220;
         this.success = [];
-        var _etype209 = 0;
-        _rtmp3210 = input.readListBegin();
-        _etype209 = _rtmp3210.etype;
-        _size206 = _rtmp3210.size;
-        for (var _i211 = 0; _i211 < _size206; ++_i211)
+        var _etype219 = 0;
+        _rtmp3220 = input.readListBegin();
+        _etype219 = _rtmp3220.etype;
+        _size216 = _rtmp3220.size;
+        for (var _i221 = 0; _i221 < _size216; ++_i221)
         {
-          var elem212 = null;
-          elem212 = input.readString().value;
-          this.success.push(elem212);
+          var elem222 = null;
+          elem222 = input.readString().value;
+          this.success.push(elem222);
         }
         input.readListEnd();
       } else {
@@ -107,12 +107,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 iter213 in this.success)
+    for (var iter223 in this.success)
     {
-      if (this.success.hasOwnProperty(iter213))
+      if (this.success.hasOwnProperty(iter223))
       {
-        iter213 = this.success[iter213];
-        output.writeString(iter213);
+        iter223 = this.success[iter223];
+        output.writeString(iter223);
       }
     }
     output.writeListEnd();
@@ -213,18 +213,18 @@ Blur_shardServerList_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.LIST) {
-        var _size214 = 0;
-        var _rtmp3218;
+        var _size224 = 0;
+        var _rtmp3228;
         this.success = [];
-        var _etype217 = 0;
-        _rtmp3218 = input.readListBegin();
-        _etype217 = _rtmp3218.etype;
-        _size214 = _rtmp3218.size;
-        for (var _i219 = 0; _i219 < _size214; ++_i219)
+        var _etype227 = 0;
+        _rtmp3228 = input.readListBegin();
+        _etype227 = _rtmp3228.etype;
+        _size224 = _rtmp3228.size;
+        for (var _i229 = 0; _i229 < _size224; ++_i229)
         {
-          var elem220 = null;
-          elem220 = input.readString().value;
-          this.success.push(elem220);
+          var elem230 = null;
+          elem230 = input.readString().value;
+          this.success.push(elem230);
         }
         input.readListEnd();
       } else {
@@ -253,12 +253,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 iter221 in this.success)
+    for (var iter231 in this.success)
     {
-      if (this.success.hasOwnProperty(iter221))
+      if (this.success.hasOwnProperty(iter231))
       {
-        iter221 = this.success[iter221];
-        output.writeString(iter221);
+        iter231 = this.success[iter231];
+        output.writeString(iter231);
       }
     }
     output.writeListEnd();
@@ -334,18 +334,18 @@ Blur_controllerServerList_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.LIST) {
-        var _size222 = 0;
-        var _rtmp3226;
+        var _size232 = 0;
+        var _rtmp3236;
         this.success = [];
-        var _etype225 = 0;
-        _rtmp3226 = input.readListBegin();
-        _etype225 = _rtmp3226.etype;
-        _size222 = _rtmp3226.size;
-        for (var _i227 = 0; _i227 < _size222; ++_i227)
+        var _etype235 = 0;
+        _rtmp3236 = input.readListBegin();
+        _etype235 = _rtmp3236.etype;
+        _size232 = _rtmp3236.size;
+        for (var _i237 = 0; _i237 < _size232; ++_i237)
         {
-          var elem228 = null;
-          elem228 = input.readString().value;
-          this.success.push(elem228);
+          var elem238 = null;
+          elem238 = input.readString().value;
+          this.success.push(elem238);
         }
         input.readListEnd();
       } else {
@@ -374,12 +374,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 iter229 in this.success)
+    for (var iter239 in this.success)
     {
-      if (this.success.hasOwnProperty(iter229))
+      if (this.success.hasOwnProperty(iter239))
       {
-        iter229 = this.success[iter229];
-        output.writeString(iter229);
+        iter239 = this.success[iter239];
+        output.writeString(iter239);
       }
     }
     output.writeListEnd();
@@ -480,27 +480,27 @@ Blur_shardServerLayout_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.MAP) {
-        var _size230 = 0;
-        var _rtmp3234;
+        var _size240 = 0;
+        var _rtmp3244;
         this.success = {};
-        var _ktype231 = 0;
-        var _vtype232 = 0;
-        _rtmp3234 = input.readMapBegin();
-        _ktype231 = _rtmp3234.ktype;
-        _vtype232 = _rtmp3234.vtype;
-        _size230 = _rtmp3234.size;
-        for (var _i235 = 0; _i235 < _size230; ++_i235)
+        var _ktype241 = 0;
+        var _vtype242 = 0;
+        _rtmp3244 = input.readMapBegin();
+        _ktype241 = _rtmp3244.ktype;
+        _vtype242 = _rtmp3244.vtype;
+        _size240 = _rtmp3244.size;
+        for (var _i245 = 0; _i245 < _size240; ++_i245)
         {
-          if (_i235 > 0 ) {
+          if (_i245 > 0 ) {
             if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
               input.rstack.pop();
             }
           }
-          var key236 = null;
-          var val237 = null;
-          key236 = input.readString().value;
-          val237 = input.readString().value;
-          this.success[key236] = val237;
+          var key246 = null;
+          var val247 = null;
+          key246 = input.readString().value;
+          val247 = input.readString().value;
+          this.success[key246] = val247;
         }
         input.readMapEnd();
       } else {
@@ -529,13 +529,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 kiter238 in this.success)
+    for (var kiter248 in this.success)
     {
-      if (this.success.hasOwnProperty(kiter238))
+      if (this.success.hasOwnProperty(kiter248))
       {
-        var viter239 = this.success[kiter238];
-        output.writeString(kiter238);
-        output.writeString(viter239);
+        var viter249 = this.success[kiter248];
+        output.writeString(kiter248);
+        output.writeString(viter249);
       }
     }
     output.writeMapEnd();
@@ -636,49 +636,49 @@ Blur_shardServerLayoutState_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.MAP) {
-        var _size240 = 0;
-        var _rtmp3244;
+        var _size250 = 0;
+        var _rtmp3254;
         this.success = {};
-        var _ktype241 = 0;
-        var _vtype242 = 0;
-        _rtmp3244 = input.readMapBegin();
-        _ktype241 = _rtmp3244.ktype;
-        _vtype242 = _rtmp3244.vtype;
-        _size240 = _rtmp3244.size;
-        for (var _i245 = 0; _i245 < _size240; ++_i245)
+        var _ktype251 = 0;
+        var _vtype252 = 0;
+        _rtmp3254 = input.readMapBegin();
+        _ktype251 = _rtmp3254.ktype;
+        _vtype252 = _rtmp3254.vtype;
+        _size250 = _rtmp3254.size;
+        for (var _i255 = 0; _i255 < _size250; ++_i255)
         {
-          if (_i245 > 0 ) {
+          if (_i255 > 0 ) {
             if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
               input.rstack.pop();
             }
           }
-          var key246 = null;
-          var val247 = null;
-          key246 = input.readString().value;
-          var _size248 = 0;
-          var _rtmp3252;
-          val247 = {};
-          var _ktype249 = 0;
-          var _vtype250 = 0;
-          _rtmp3252 = input.readMapBegin();
-          _ktype249 = _rtmp3252.ktype;
-          _vtype250 = _rtmp3252.vtype;
-          _size248 = _rtmp3252.size;
-          for (var _i253 = 0; _i253 < _size248; ++_i253)
+          var key256 = null;
+          var val257 = null;
+          key256 = input.readString().value;
+          var _size258 = 0;
+          var _rtmp3262;
+          val257 = {};
+          var _ktype259 = 0;
+          var _vtype260 = 0;
+          _rtmp3262 = input.readMapBegin();
+          _ktype259 = _rtmp3262.ktype;
+          _vtype260 = _rtmp3262.vtype;
+          _size258 = _rtmp3262.size;
+          for (var _i263 = 0; _i263 < _size258; ++_i263)
           {
-            if (_i253 > 0 ) {
+            if (_i263 > 0 ) {
               if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
                 input.rstack.pop();
               }
             }
-            var key254 = null;
-            var val255 = null;
-            key254 = input.readString().value;
-            val255 = input.readI32().value;
-            val247[key254] = val255;
+            var key264 = null;
+            var val265 = null;
+            key264 = input.readString().value;
+            val265 = input.readI32().value;
+            val257[key264] = val265;
           }
           input.readMapEnd();
-          this.success[key246] = val247;
+          this.success[key256] = val257;
         }
         input.readMapEnd();
       } else {
@@ -707,20 +707,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 kiter256 in this.success)
+    for (var kiter266 in this.success)
     {
-      if (this.success.hasOwnProperty(kiter256))
+      if (this.success.hasOwnProperty(kiter266))
       {
-        var viter257 = this.success[kiter256];
-        output.writeString(kiter256);
-        output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.I32, Thrift.objectLength(viter257));
-        for (var kiter258 in viter257)
+        var viter267 = this.success[kiter266];
+        output.writeString(kiter266);
+        output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.I32, Thrift.objectLength(viter267));
+        for (var kiter268 in viter267)
         {
-          if (viter257.hasOwnProperty(kiter258))
+          if (viter267.hasOwnProperty(kiter268))
           {
-            var viter259 = viter257[kiter258];
-            output.writeString(kiter258);
-            output.writeI32(viter259);
+            var viter269 = viter267[kiter268];
+            output.writeString(kiter268);
+            output.writeI32(viter269);
           }
         }
         output.writeMapEnd();
@@ -799,18 +799,18 @@ Blur_tableList_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.LIST) {
-        var _size260 = 0;
-        var _rtmp3264;
+        var _size270 = 0;
+        var _rtmp3274;
         this.success = [];
-        var _etype263 = 0;
-        _rtmp3264 = input.readListBegin();
-        _etype263 = _rtmp3264.etype;
-        _size260 = _rtmp3264.size;
-        for (var _i265 = 0; _i265 < _size260; ++_i265)
+        var _etype273 = 0;
+        _rtmp3274 = input.readListBegin();
+        _etype273 = _rtmp3274.etype;
+        _size270 = _rtmp3274.size;
+        for (var _i275 = 0; _i275 < _size270; ++_i275)
         {
-          var elem266 = null;
-          elem266 = input.readString().value;
-          this.success.push(elem266);
+          var elem276 = null;
+          elem276 = input.readString().value;
+          this.success.push(elem276);
         }
         input.readListEnd();
       } else {
@@ -839,12 +839,12 @@ Blur_tableList_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 iter267 in this.success)
+    for (var iter277 in this.success)
     {
-      if (this.success.hasOwnProperty(iter267))
+      if (this.success.hasOwnProperty(iter277))
       {
-        iter267 = this.success[iter267];
-        output.writeString(iter267);
+        iter277 = this.success[iter277];
+        output.writeString(iter277);
       }
     }
     output.writeListEnd();
@@ -945,18 +945,18 @@ Blur_tableListByCluster_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.LIST) {
-        var _size268 = 0;
-        var _rtmp3272;
+        var _size278 = 0;
+        var _rtmp3282;
         this.success = [];
-        var _etype271 = 0;
-        _rtmp3272 = input.readListBegin();
-        _etype271 = _rtmp3272.etype;
-        _size268 = _rtmp3272.size;
-        for (var _i273 = 0; _i273 < _size268; ++_i273)
+        var _etype281 = 0;
+        _rtmp3282 = input.readListBegin();
+        _etype281 = _rtmp3282.etype;
+        _size278 = _rtmp3282.size;
+        for (var _i283 = 0; _i283 < _size278; ++_i283)
         {
-          var elem274 = null;
-          elem274 = input.readString().value;
-          this.success.push(elem274);
+          var elem284 = null;
+          elem284 = input.readString().value;
+          this.success.push(elem284);
         }
         input.readListEnd();
       } else {
@@ -985,12 +985,12 @@ Blur_tableListByCluster_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 iter275 in this.success)
+    for (var iter285 in this.success)
     {
-      if (this.success.hasOwnProperty(iter275))
+      if (this.success.hasOwnProperty(iter285))
       {
-        iter275 = this.success[iter275];
-        output.writeString(iter275);
+        iter285 = this.success[iter285];
+        output.writeString(iter285);
       }
     }
     output.writeListEnd();
@@ -1617,19 +1617,19 @@ Blur_currentQueries_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.LIST) {
-        var _size276 = 0;
-        var _rtmp3280;
+        var _size286 = 0;
+        var _rtmp3290;
         this.success = [];
-        var _etype279 = 0;
-        _rtmp3280 = input.readListBegin();
-        _etype279 = _rtmp3280.etype;
-        _size276 = _rtmp3280.size;
-        for (var _i281 = 0; _i281 < _size276; ++_i281)
+        var _etype289 = 0;
+        _rtmp3290 = input.readListBegin();
+        _etype289 = _rtmp3290.etype;
+        _size286 = _rtmp3290.size;
+        for (var _i291 = 0; _i291 < _size286; ++_i291)
         {
-          var elem282 = null;
-          elem282 = new BlurQueryStatus();
-          elem282.read(input);
-          this.success.push(elem282);
+          var elem292 = null;
+          elem292 = new BlurQueryStatus();
+          elem292.read(input);
+          this.success.push(elem292);
         }
         input.readListEnd();
       } else {
@@ -1658,12 +1658,12 @@ Blur_currentQueries_result.prototype.write = function(output) {
   if (this.success !== null && this.success !== undefined) {
     output.writeFieldBegin('success', Thrift.Type.LIST, 0);
     output.writeListBegin(Thrift.Type.STRUCT, this.success.length);
-    for (var iter283 in this.success)
+    for (var iter293 in this.success)
     {
-      if (this.success.hasOwnProperty(iter283))
+      if (this.success.hasOwnProperty(iter293))
       {
-        iter283 = this.success[iter283];
-        iter283.write(output);
+        iter293 = this.success[iter293];
+        iter293.write(output);
       }
     }
     output.writeListEnd();
@@ -1764,18 +1764,18 @@ Blur_queryStatusIdList_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.LIST) {
-        var _size284 = 0;
-        var _rtmp3288;
+        var _size294 = 0;
+        var _rtmp3298;
         this.success = [];
-        var _etype287 = 0;
-        _rtmp3288 = input.readListBegin();
-        _etype287 = _rtmp3288.etype;
-        _size284 = _rtmp3288.size;
-        for (var _i289 = 0; _i289 < _size284; ++_i289)
+        var _etype297 = 0;
+        _rtmp3298 = input.readListBegin();
+        _etype297 = _rtmp3298.etype;
+        _size294 = _rtmp3298.size;
+        for (var _i299 = 0; _i299 < _size294; ++_i299)
         {
-          var elem290 = null;
-          elem290 = input.readI64().value;
-          this.success.push(elem290);
+          var elem300 = null;
+          elem300 = input.readI64().value;
+          this.success.push(elem300);
         }
         input.readListEnd();
       } else {
@@ -1804,12 +1804,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.I64, this.success.length);
-    for (var iter291 in this.success)
+    for (var iter301 in this.success)
     {
-      if (this.success.hasOwnProperty(iter291))
+      if (this.success.hasOwnProperty(iter301))
       {
-        iter291 = this.success[iter291];
-        output.writeI64(iter291);
+        iter301 = this.success[iter301];
+        output.writeI64(iter301);
       }
     }
     output.writeListEnd();
@@ -2484,18 +2484,18 @@ Blur_terms_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.LIST) {
-        var _size292 = 0;
-        var _rtmp3296;
+        var _size302 = 0;
+        var _rtmp3306;
         this.success = [];
-        var _etype295 = 0;
-        _rtmp3296 = input.readListBegin();
-        _etype295 = _rtmp3296.etype;
-        _size292 = _rtmp3296.size;
-        for (var _i297 = 0; _i297 < _size292; ++_i297)
+        var _etype305 = 0;
+        _rtmp3306 = input.readListBegin();
+        _etype305 = _rtmp3306.etype;
+        _size302 = _rtmp3306.size;
+        for (var _i307 = 0; _i307 < _size302; ++_i307)
         {
-          var elem298 = null;
-          elem298 = input.readString().value;
-          this.success.push(elem298);
+          var elem308 = null;
+          elem308 = input.readString().value;
+          this.success.push(elem308);
         }
         input.readListEnd();
       } else {
@@ -2524,12 +2524,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 iter299 in this.success)
+    for (var iter309 in this.success)
     {
-      if (this.success.hasOwnProperty(iter299))
+      if (this.success.hasOwnProperty(iter309))
       {
-        iter299 = this.success[iter299];
-        output.writeString(iter299);
+        iter309 = this.success[iter309];
+        output.writeString(iter309);
       }
     }
     output.writeListEnd();
@@ -2989,19 +2989,19 @@ Blur_mutateBatch_args.prototype.read = function(input) {
     {
       case 1:
       if (ftype == Thrift.Type.LIST) {
-        var _size300 = 0;
-        var _rtmp3304;
+        var _size310 = 0;
+        var _rtmp3314;
         this.mutations = [];
-        var _etype303 = 0;
-        _rtmp3304 = input.readListBegin();
-        _etype303 = _rtmp3304.etype;
-        _size300 = _rtmp3304.size;
-        for (var _i305 = 0; _i305 < _size300; ++_i305)
+        var _etype313 = 0;
+        _rtmp3314 = input.readListBegin();
+        _etype313 = _rtmp3314.etype;
+        _size310 = _rtmp3314.size;
+        for (var _i315 = 0; _i315 < _size310; ++_i315)
         {
-          var elem306 = null;
-          elem306 = new RowMutation();
-          elem306.read(input);
-          this.mutations.push(elem306);
+          var elem316 = null;
+          elem316 = new RowMutation();
+          elem316.read(input);
+          this.mutations.push(elem316);
         }
         input.readListEnd();
       } else {
@@ -3025,12 +3025,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 iter307 in this.mutations)
+    for (var iter317 in this.mutations)
     {
-      if (this.mutations.hasOwnProperty(iter307))
+      if (this.mutations.hasOwnProperty(iter317))
       {
-        iter307 = this.mutations[iter307];
-        iter307.write(output);
+        iter317 = this.mutations[iter317];
+        iter317.write(output);
       }
     }
     output.writeListEnd();
@@ -3865,27 +3865,27 @@ Blur_configuration_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.MAP) {
-        var _size308 = 0;
-        var _rtmp3312;
+        var _size318 = 0;
+        var _rtmp3322;
         this.success = {};
-        var _ktype309 = 0;
-        var _vtype310 = 0;
-        _rtmp3312 = input.readMapBegin();
-        _ktype309 = _rtmp3312.ktype;
-        _vtype310 = _rtmp3312.vtype;
-        _size308 = _rtmp3312.size;
-        for (var _i313 = 0; _i313 < _size308; ++_i313)
+        var _ktype319 = 0;
+        var _vtype320 = 0;
+        _rtmp3322 = input.readMapBegin();
+        _ktype319 = _rtmp3322.ktype;
+        _vtype320 = _rtmp3322.vtype;
+        _size318 = _rtmp3322.size;
+        for (var _i323 = 0; _i323 < _size318; ++_i323)
         {
-          if (_i313 > 0 ) {
+          if (_i323 > 0 ) {
             if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
               input.rstack.pop();
             }
           }
-          var key314 = null;
-          var val315 = null;
-          key314 = input.readString().value;
-          val315 = input.readString().value;
-          this.success[key314] = val315;
+          var key324 = null;
+          var val325 = null;
+          key324 = input.readString().value;
+          val325 = input.readString().value;
+          this.success[key324] = val325;
         }
         input.readMapEnd();
       } else {
@@ -3914,13 +3914,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 kiter316 in this.success)
+    for (var kiter326 in this.success)
     {
-      if (this.success.hasOwnProperty(kiter316))
+      if (this.success.hasOwnProperty(kiter326))
       {
-        var viter317 = this.success[kiter316];
-        output.writeString(kiter316);
-        output.writeString(viter317);
+        var viter327 = this.success[kiter326];
+        output.writeString(kiter326);
+        output.writeString(viter327);
       }
     }
     output.writeMapEnd();
@@ -3960,18 +3960,18 @@ Blur_metrics_args.prototype.read = function(input) {
     {
       case 1:
       if (ftype == Thrift.Type.SET) {
-        var _size318 = 0;
-        var _rtmp3322;
+        var _size328 = 0;
+        var _rtmp3332;
         this.metrics = [];
-        var _etype321 = 0;
-        _rtmp3322 = input.readSetBegin();
-        _etype321 = _rtmp3322.etype;
-        _size318 = _rtmp3322.size;
-        for (var _i323 = 0; _i323 < _size318; ++_i323)
+        var _etype331 = 0;
+        _rtmp3332 = input.readSetBegin();
+        _etype331 = _rtmp3332.etype;
+        _size328 = _rtmp3332.size;
+        for (var _i333 = 0; _i333 < _size328; ++_i333)
         {
-          var elem324 = null;
-          elem324 = input.readString().value;
-          this.metrics.push(elem324);
+          var elem334 = null;
+          elem334 = input.readString().value;
+          this.metrics.push(elem334);
         }
         input.readSetEnd();
       } else {
@@ -3995,12 +3995,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 iter325 in this.metrics)
+    for (var iter335 in this.metrics)
     {
-      if (this.metrics.hasOwnProperty(iter325))
+      if (this.metrics.hasOwnProperty(iter335))
       {
-        iter325 = this.metrics[iter325];
-        output.writeString(iter325);
+        iter335 = this.metrics[iter335];
+        output.writeString(iter335);
       }
     }
     output.writeSetEnd();
@@ -4043,28 +4043,28 @@ Blur_metrics_result.prototype.read = function(input) {
     {
       case 0:
       if (ftype == Thrift.Type.MAP) {
-        var _size326 = 0;
-        var _rtmp3330;
+        var _size336 = 0;
+        var _rtmp3340;
         this.success = {};
-        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)
+        var _ktype337 = 0;
+        var _vtype338 = 0;
+        _rtmp3340 = input.readMapBegin();
+        _ktype337 = _rtmp3340.ktype;
+        _vtype338 = _rtmp3340.vtype;
+        _size336 = _rtmp3340.size;
+        for (var _i341 = 0; _i341 < _size336; ++_i341)
         {
-          if (_i331 > 0 ) {
+          if (_i341 > 0 ) {
             if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
               input.rstack.pop();
             }
           }
-          var key332 = null;
-          var val333 = null;
-          key332 = input.readString().value;
-          val333 = new Metric();
-          val333.read(input);
-          this.success[key332] = val333;
+          var key342 = null;
+          var val343 = null;
+          key342 = input.readString().value;
+          val343 = new Metric();
+          val343.read(input);
+          this.success[key342] = val343;
         }
         input.readMapEnd();
       } else {
@@ -4093,13 +4093,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 kiter334 in this.success)
+    for (var kiter344 in this.success)
     {
-      if (this.success.hasOwnProperty(kiter334))
+      if (this.success.hasOwnProperty(kiter344))
       {
-        var viter335 = this.success[kiter334];
-        output.writeString(kiter334);
-        viter335.write(output);
+        var viter345 = this.success[kiter344];
+        output.writeString(kiter344);
+        viter345.write(output);
       }
     }
     output.writeMapEnd();

http://git-wip-us.apache.org/repos/asf/incubator-blur/blob/2378815f/distribution/src/main/scripts/interface/gen-js/Blur_types.js
----------------------------------------------------------------------
diff --git a/distribution/src/main/scripts/interface/gen-js/Blur_types.js b/distribution/src/main/scripts/interface/gen-js/Blur_types.js
index be89f8e..ae259a2 100644
--- a/distribution/src/main/scripts/interface/gen-js/Blur_types.js
+++ b/distribution/src/main/scripts/interface/gen-js/Blur_types.js
@@ -3026,6 +3026,10 @@ TableDescriptor = function(args) {
   this.readOnly = false;
   this.columnPreCache = null;
   this.tableProperties = null;
+  this.strictTypes = false;
+  this.defaultMissingFieldType = 'text';
+  this.defaultMissingFieldLessIndexing = true;
+  this.defaultMissingFieldProps = null;
   if (args) {
     if (args.isEnabled !== undefined) {
       this.isEnabled = args.isEnabled;
@@ -3060,6 +3064,18 @@ TableDescriptor = function(args) {
     if (args.tableProperties !== undefined) {
       this.tableProperties = args.tableProperties;
     }
+    if (args.strictTypes !== undefined) {
+      this.strictTypes = args.strictTypes;
+    }
+    if (args.defaultMissingFieldType !== undefined) {
+      this.defaultMissingFieldType = args.defaultMissingFieldType;
+    }
+    if (args.defaultMissingFieldLessIndexing !== undefined) {
+      this.defaultMissingFieldLessIndexing = args.defaultMissingFieldLessIndexing;
+    }
+    if (args.defaultMissingFieldProps !== undefined) {
+      this.defaultMissingFieldProps = args.defaultMissingFieldProps;
+    }
   }
 };
 TableDescriptor.prototype = {};
@@ -3189,6 +3205,56 @@ TableDescriptor.prototype.read = function(input) {
         input.skip(ftype);
       }
       break;
+      case 15:
+      if (ftype == Thrift.Type.BOOL) {
+        this.strictTypes = input.readBool().value;
+      } else {
+        input.skip(ftype);
+      }
+      break;
+      case 16:
+      if (ftype == Thrift.Type.STRING) {
+        this.defaultMissingFieldType = input.readString().value;
+      } else {
+        input.skip(ftype);
+      }
+      break;
+      case 17:
+      if (ftype == Thrift.Type.BOOL) {
+        this.defaultMissingFieldLessIndexing = input.readBool().value;
+      } else {
+        input.skip(ftype);
+      }
+      break;
+      case 18:
+      if (ftype == Thrift.Type.MAP) {
+        var _size173 = 0;
+        var _rtmp3177;
+        this.defaultMissingFieldProps = {};
+        var _ktype174 = 0;
+        var _vtype175 = 0;
+        _rtmp3177 = input.readMapBegin();
+        _ktype174 = _rtmp3177.ktype;
+        _vtype175 = _rtmp3177.vtype;
+        _size173 = _rtmp3177.size;
+        for (var _i178 = 0; _i178 < _size173; ++_i178)
+        {
+          if (_i178 > 0 ) {
+            if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
+              input.rstack.pop();
+            }
+          }
+          var key179 = null;
+          var val180 = null;
+          key179 = input.readString().value;
+          val180 = input.readString().value;
+          this.defaultMissingFieldProps[key179] = val180;
+        }
+        input.readMapEnd();
+      } else {
+        input.skip(ftype);
+      }
+      break;
       default:
         input.skip(ftype);
     }
@@ -3238,12 +3304,12 @@ TableDescriptor.prototype.write = function(output) {
   if (this.blockCachingFileTypes !== null && this.blockCachingFileTypes !== undefined) {
     output.writeFieldBegin('blockCachingFileTypes', Thrift.Type.SET, 11);
     output.writeSetBegin(Thrift.Type.STRING, this.blockCachingFileTypes.length);
-    for (var iter173 in this.blockCachingFileTypes)
+    for (var iter181 in this.blockCachingFileTypes)
     {
-      if (this.blockCachingFileTypes.hasOwnProperty(iter173))
+      if (this.blockCachingFileTypes.hasOwnProperty(iter181))
       {
-        iter173 = this.blockCachingFileTypes[iter173];
-        output.writeString(iter173);
+        iter181 = this.blockCachingFileTypes[iter181];
+        output.writeString(iter181);
       }
     }
     output.writeSetEnd();
@@ -3262,13 +3328,43 @@ TableDescriptor.prototype.write = function(output) {
   if (this.tableProperties !== null && this.tableProperties !== undefined) {
     output.writeFieldBegin('tableProperties', Thrift.Type.MAP, 14);
     output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.STRING, Thrift.objectLength(this.tableProperties));
-    for (var kiter174 in this.tableProperties)
+    for (var kiter182 in this.tableProperties)
+    {
+      if (this.tableProperties.hasOwnProperty(kiter182))
+      {
+        var viter183 = this.tableProperties[kiter182];
+        output.writeString(kiter182);
+        output.writeString(viter183);
+      }
+    }
+    output.writeMapEnd();
+    output.writeFieldEnd();
+  }
+  if (this.strictTypes !== null && this.strictTypes !== undefined) {
+    output.writeFieldBegin('strictTypes', Thrift.Type.BOOL, 15);
+    output.writeBool(this.strictTypes);
+    output.writeFieldEnd();
+  }
+  if (this.defaultMissingFieldType !== null && this.defaultMissingFieldType !== undefined) {
+    output.writeFieldBegin('defaultMissingFieldType', Thrift.Type.STRING, 16);
+    output.writeString(this.defaultMissingFieldType);
+    output.writeFieldEnd();
+  }
+  if (this.defaultMissingFieldLessIndexing !== null && this.defaultMissingFieldLessIndexing !== undefined) {
+    output.writeFieldBegin('defaultMissingFieldLessIndexing', Thrift.Type.BOOL, 17);
+    output.writeBool(this.defaultMissingFieldLessIndexing);
+    output.writeFieldEnd();
+  }
+  if (this.defaultMissingFieldProps !== null && this.defaultMissingFieldProps !== undefined) {
+    output.writeFieldBegin('defaultMissingFieldProps', Thrift.Type.MAP, 18);
+    output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.STRING, Thrift.objectLength(this.defaultMissingFieldProps));
+    for (var kiter184 in this.defaultMissingFieldProps)
     {
-      if (this.tableProperties.hasOwnProperty(kiter174))
+      if (this.defaultMissingFieldProps.hasOwnProperty(kiter184))
       {
-        var viter175 = this.tableProperties[kiter174];
-        output.writeString(kiter174);
-        output.writeString(viter175);
+        var viter185 = this.defaultMissingFieldProps[kiter184];
+        output.writeString(kiter184);
+        output.writeString(viter185);
       }
     }
     output.writeMapEnd();
@@ -3322,27 +3418,27 @@ Metric.prototype.read = function(input) {
       break;
       case 2:
       if (ftype == Thrift.Type.MAP) {
-        var _size176 = 0;
-        var _rtmp3180;
+        var _size186 = 0;
+        var _rtmp3190;
         this.strMap = {};
-        var _ktype177 = 0;
-        var _vtype178 = 0;
-        _rtmp3180 = input.readMapBegin();
-        _ktype177 = _rtmp3180.ktype;
-        _vtype178 = _rtmp3180.vtype;
-        _size176 = _rtmp3180.size;
-        for (var _i181 = 0; _i181 < _size176; ++_i181)
+        var _ktype187 = 0;
+        var _vtype188 = 0;
+        _rtmp3190 = input.readMapBegin();
+        _ktype187 = _rtmp3190.ktype;
+        _vtype188 = _rtmp3190.vtype;
+        _size186 = _rtmp3190.size;
+        for (var _i191 = 0; _i191 < _size186; ++_i191)
         {
-          if (_i181 > 0 ) {
+          if (_i191 > 0 ) {
             if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
               input.rstack.pop();
             }
           }
-          var key182 = null;
-          var val183 = null;
-          key182 = input.readString().value;
-          val183 = input.readString().value;
-          this.strMap[key182] = val183;
+          var key192 = null;
+          var val193 = null;
+          key192 = input.readString().value;
+          val193 = input.readString().value;
+          this.strMap[key192] = val193;
         }
         input.readMapEnd();
       } else {
@@ -3351,27 +3447,27 @@ Metric.prototype.read = function(input) {
       break;
       case 3:
       if (ftype == Thrift.Type.MAP) {
-        var _size184 = 0;
-        var _rtmp3188;
+        var _size194 = 0;
+        var _rtmp3198;
         this.longMap = {};
-        var _ktype185 = 0;
-        var _vtype186 = 0;
-        _rtmp3188 = input.readMapBegin();
-        _ktype185 = _rtmp3188.ktype;
-        _vtype186 = _rtmp3188.vtype;
-        _size184 = _rtmp3188.size;
-        for (var _i189 = 0; _i189 < _size184; ++_i189)
+        var _ktype195 = 0;
+        var _vtype196 = 0;
+        _rtmp3198 = input.readMapBegin();
+        _ktype195 = _rtmp3198.ktype;
+        _vtype196 = _rtmp3198.vtype;
+        _size194 = _rtmp3198.size;
+        for (var _i199 = 0; _i199 < _size194; ++_i199)
         {
-          if (_i189 > 0 ) {
+          if (_i199 > 0 ) {
             if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
               input.rstack.pop();
             }
           }
-          var key190 = null;
-          var val191 = null;
-          key190 = input.readString().value;
-          val191 = input.readI64().value;
-          this.longMap[key190] = val191;
+          var key200 = null;
+          var val201 = null;
+          key200 = input.readString().value;
+          val201 = input.readI64().value;
+          this.longMap[key200] = val201;
         }
         input.readMapEnd();
       } else {
@@ -3380,27 +3476,27 @@ Metric.prototype.read = function(input) {
       break;
       case 4:
       if (ftype == Thrift.Type.MAP) {
-        var _size192 = 0;
-        var _rtmp3196;
+        var _size202 = 0;
+        var _rtmp3206;
         this.doubleMap = {};
-        var _ktype193 = 0;
-        var _vtype194 = 0;
-        _rtmp3196 = input.readMapBegin();
-        _ktype193 = _rtmp3196.ktype;
-        _vtype194 = _rtmp3196.vtype;
-        _size192 = _rtmp3196.size;
-        for (var _i197 = 0; _i197 < _size192; ++_i197)
+        var _ktype203 = 0;
+        var _vtype204 = 0;
+        _rtmp3206 = input.readMapBegin();
+        _ktype203 = _rtmp3206.ktype;
+        _vtype204 = _rtmp3206.vtype;
+        _size202 = _rtmp3206.size;
+        for (var _i207 = 0; _i207 < _size202; ++_i207)
         {
-          if (_i197 > 0 ) {
+          if (_i207 > 0 ) {
             if (input.rstack.length > input.rpos[input.rpos.length -1] + 1) {
               input.rstack.pop();
             }
           }
-          var key198 = null;
-          var val199 = null;
-          key198 = input.readString().value;
-          val199 = input.readDouble().value;
-          this.doubleMap[key198] = val199;
+          var key208 = null;
+          var val209 = null;
+          key208 = input.readString().value;
+          val209 = input.readDouble().value;
+          this.doubleMap[key208] = val209;
         }
         input.readMapEnd();
       } else {
@@ -3426,13 +3522,13 @@ Metric.prototype.write = function(output) {
   if (this.strMap !== null && this.strMap !== undefined) {
     output.writeFieldBegin('strMap', Thrift.Type.MAP, 2);
     output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.STRING, Thrift.objectLength(this.strMap));
-    for (var kiter200 in this.strMap)
+    for (var kiter210 in this.strMap)
     {
-      if (this.strMap.hasOwnProperty(kiter200))
+      if (this.strMap.hasOwnProperty(kiter210))
       {
-        var viter201 = this.strMap[kiter200];
-        output.writeString(kiter200);
-        output.writeString(viter201);
+        var viter211 = this.strMap[kiter210];
+        output.writeString(kiter210);
+        output.writeString(viter211);
       }
     }
     output.writeMapEnd();
@@ -3441,13 +3537,13 @@ Metric.prototype.write = function(output) {
   if (this.longMap !== null && this.longMap !== undefined) {
     output.writeFieldBegin('longMap', Thrift.Type.MAP, 3);
     output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.I64, Thrift.objectLength(this.longMap));
-    for (var kiter202 in this.longMap)
+    for (var kiter212 in this.longMap)
     {
-      if (this.longMap.hasOwnProperty(kiter202))
+      if (this.longMap.hasOwnProperty(kiter212))
       {
-        var viter203 = this.longMap[kiter202];
-        output.writeString(kiter202);
-        output.writeI64(viter203);
+        var viter213 = this.longMap[kiter212];
+        output.writeString(kiter212);
+        output.writeI64(viter213);
       }
     }
     output.writeMapEnd();
@@ -3456,13 +3552,13 @@ Metric.prototype.write = function(output) {
   if (this.doubleMap !== null && this.doubleMap !== undefined) {
     output.writeFieldBegin('doubleMap', Thrift.Type.MAP, 4);
     output.writeMapBegin(Thrift.Type.STRING, Thrift.Type.DOUBLE, Thrift.objectLength(this.doubleMap));
-    for (var kiter204 in this.doubleMap)
+    for (var kiter214 in this.doubleMap)
     {
-      if (this.doubleMap.hasOwnProperty(kiter204))
+      if (this.doubleMap.hasOwnProperty(kiter214))
       {
-        var viter205 = this.doubleMap[kiter204];
-        output.writeString(kiter204);
-        output.writeDouble(viter205);
+        var viter215 = this.doubleMap[kiter214];
+        output.writeString(kiter214);
+        output.writeDouble(viter215);
       }
     }
     output.writeMapEnd();


Mime
View raw message