public static List<FieldSchema> getFieldsFromDeserializerForMsStorage(
      Table tbl, Deserializer deserializer, Configuration conf) throws SerDeException, MetaException {
    List<FieldSchema> schema = HiveMetaStoreUtils.getFieldsFromDeserializer(tbl.getTableName(), deserializer, conf);
    for (FieldSchema field : schema) {
      field.setType(MetaStoreUtils.TYPE_FROM_DESERIALIZER);
    }
    return schema;
  }
Creates the table with the given objects. It takes additional arguments for
primary keys and foreign keys associated with the table.

@param tbl
         a table object
@param ifNotExists
         if true, ignore AlreadyExistsException
@param primaryKeys
         primary key columns associated with the table
@param foreignKeys
         foreign key columns associated with the table
@param uniqueConstraints
         UNIQUE constraints associated with the table
@param notNullConstraints
         NOT NULL constraints associated with the table
@param defaultConstraints
         DEFAULT constraints associated with the table
@param checkConstraints
         CHECK constraints associated with the table
@throws HiveException
ql/src/java/org/apache/hadoop/hive/ql/metadata/Hive.java