http://git-wip-us.apache.org/repos/asf/calcite/blob/0204f286/elasticsearch5/src/test/java/org/apache/calcite/adapter/elasticsearch5/Elasticsearch5AdapterTest.java
----------------------------------------------------------------------
diff --git 
a/elasticsearch5/src/test/java/org/apache/calcite/adapter/elasticsearch5/Elasticsearch5AdapterTest.java
 
b/elasticsearch5/src/test/java/org/apache/calcite/adapter/elasticsearch5/Elasticsearch5AdapterTest.java
deleted file mode 100644
index 9dedbda..0000000
--- 
a/elasticsearch5/src/test/java/org/apache/calcite/adapter/elasticsearch5/Elasticsearch5AdapterTest.java
+++ /dev/null
@@ -1,405 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.calcite.adapter.elasticsearch5;
-
-import org.apache.calcite.jdbc.CalciteConnection;
-import org.apache.calcite.schema.SchemaPlus;
-import org.apache.calcite.schema.impl.ViewTable;
-import org.apache.calcite.schema.impl.ViewTableMacro;
-import org.apache.calcite.test.CalciteAssert;
-import org.apache.calcite.test.ElasticsearchChecker;
-
-import com.google.common.io.LineProcessor;
-import com.google.common.io.Resources;
-
-import org.elasticsearch.action.bulk.BulkItemResponse;
-import org.elasticsearch.action.bulk.BulkRequestBuilder;
-import org.elasticsearch.action.bulk.BulkResponse;
-import org.elasticsearch.action.support.WriteRequest;
-import org.elasticsearch.common.xcontent.XContentBuilder;
-import org.elasticsearch.common.xcontent.XContentFactory;
-import org.elasticsearch.common.xcontent.XContentType;
-
-import org.junit.BeforeClass;
-import org.junit.ClassRule;
-import org.junit.Test;
-
-import java.io.IOException;
-import java.nio.charset.StandardCharsets;
-import java.sql.Connection;
-import java.sql.DriverManager;
-import java.sql.SQLException;
-import java.util.Arrays;
-import java.util.Collections;
-import java.util.Locale;
-
-/**
- * Set of tests for the Elasticsearch 5 adapter.
- *
- * <p>Uses a real instance via {@link EmbeddedElasticsearchPolicy}.
- * The document source is a local {@code zips-mini.json} file
- * (located in the classpath).
- */
-public class Elasticsearch5AdapterTest {
-
-  @ClassRule // init once for all tests
-  public static final EmbeddedElasticsearchPolicy POLICY =
-      EmbeddedElasticsearchPolicy.create();
-
-  private static final String ZIPS = "zips";
-
-  /**
-   * Used to create {@code zips} index and insert some data
-   *
-   * @throws Exception when ES instance setup failed
-   */
-  @BeforeClass
-  public static void setupInstance() throws Exception {
-    // define mapping so fields are searchable (term query)
-    XContentBuilder mapping = XContentFactory.jsonBuilder().startObject()
-        .startObject("properties")
-        .startObject("city").field("type", "string")
-        .field("index", "not_analyzed").endObject()
-        .startObject("state").field("type", "string")
-        .field("index", "not_analyzed").endObject()
-        .startObject("pop").field("type", "long").endObject()
-        .endObject()
-        .endObject();
-
-    // create index
-    POLICY.client().admin().indices()
-        .prepareCreate(ZIPS)
-        .addMapping(ZIPS, mapping)
-        .get();
-
-    BulkRequestBuilder bulk = POLICY.client().prepareBulk()
-        .setRefreshPolicy(WriteRequest.RefreshPolicy.IMMEDIATE);
-
-    // load records from file
-    
Resources.readLines(Elasticsearch5AdapterTest.class.getResource("/zips-mini.json"),
-        StandardCharsets.UTF_8, new LineProcessor<Void>() {
-          @Override public boolean processLine(String line) throws IOException 
{
-            line = line.replaceAll("_id", "id"); // _id is a reserved 
attribute in ES
-            bulk.add(POLICY.client().prepareIndex(ZIPS, ZIPS)
-                .setSource(line.getBytes(StandardCharsets.UTF_8), 
XContentType.JSON));
-            return true;
-          }
-
-          @Override public Void getResult() {
-            return null;
-          }
-        });
-
-    if (bulk.numberOfActions() == 0) {
-      throw new IllegalStateException("No records to be indexed");
-    }
-
-    BulkResponse response = bulk.execute().get();
-
-    if (response.hasFailures()) {
-      throw new IllegalStateException(
-          String.format(Locale.getDefault(), "Failed to populate %s:\n%s", 
POLICY.httpAddress(),
-              
Arrays.stream(response.getItems()).filter(BulkItemResponse::isFailed)
-                  
.map(BulkItemResponse::getFailureMessage).findFirst().orElse("<unknown>")));
-    }
-
-  }
-
-  private CalciteAssert.ConnectionFactory newConnectionFactory() {
-    return new CalciteAssert.ConnectionFactory() {
-      @Override public Connection createConnection() throws SQLException {
-        final Connection connection = 
DriverManager.getConnection("jdbc:calcite:");
-        final SchemaPlus root = 
connection.unwrap(CalciteConnection.class).getRootSchema();
-
-        root.add("elastic", new Elasticsearch5Schema(POLICY.client(), ZIPS));
-
-        // add calcite view programmatically
-        final String viewSql = "select cast(_MAP['city'] AS varchar(20)) AS 
\"city\", "
-            + " cast(_MAP['loc'][0] AS float) AS \"longitude\",\n"
-            + " cast(_MAP['loc'][1] AS float) AS \"latitude\",\n"
-            + " cast(_MAP['pop'] AS integer) AS \"pop\", "
-            +  " cast(_MAP['state'] AS varchar(2)) AS \"state\", "
-            +  " cast(_MAP['id'] AS varchar(5)) AS \"id\" "
-            +  "from \"elastic\".\"zips\"";
-
-        ViewTableMacro macro = ViewTable.viewMacro(root, viewSql,
-            Collections.singletonList("elastic"), Arrays.asList("elastic", 
"view"), false);
-        root.add("ZIPS", macro);
-
-        return connection;
-      }
-    };
-  }
-
-  private CalciteAssert.AssertThat calciteAssert() {
-    return CalciteAssert.that()
-        .with(newConnectionFactory());
-  }
-
-  /**
-   * Tests using calcite view
-   */
-  @Test
-  public void view() {
-    calciteAssert()
-        .query("select * from zips where \"city\" = 'BROOKLYN'")
-        .returns("city=BROOKLYN; longitude=-73.956985; latitude=40.646694; "
-            + "pop=111396; state=NY; id=11226\n")
-        .returnsCount(1);
-  }
-
-  @Test
-  public void emptyResult() {
-    CalciteAssert.that()
-        .with(newConnectionFactory())
-        .query("select * from zips limit 0")
-        .returnsCount(0);
-
-    CalciteAssert.that()
-        .with(newConnectionFactory())
-        .query("select * from \"elastic\".\"zips\" where _MAP['Foo'] = 
'_MISSING_'")
-        .returnsCount(0);
-  }
-
-  @Test
-  public void basic() throws Exception {
-    CalciteAssert.that()
-        .with(newConnectionFactory())
-        .query("select * from \"elastic\".\"zips\" where _MAP['city'] = 
'BROOKLYN'")
-        .returnsCount(1);
-
-    CalciteAssert.that()
-        .with(newConnectionFactory())
-        .query("select * from \"elastic\".\"zips\" where"
-            + " _MAP['city'] in ('BROOKLYN', 'WASHINGTON')")
-        .returnsCount(2);
-
-    // lower-case
-    CalciteAssert.that()
-        .with(newConnectionFactory())
-        .query("select * from \"elastic\".\"zips\" where "
-            + "_MAP['city'] in ('brooklyn', 'Brooklyn', 'BROOK') ")
-        .returnsCount(0);
-
-    // missing field
-    CalciteAssert.that()
-        .with(newConnectionFactory())
-        .query("select * from \"elastic\".\"zips\" where _MAP['CITY'] = 
'BROOKLYN'")
-        .returnsCount(0);
-
-    // limit works
-    CalciteAssert.that()
-        .with(newConnectionFactory())
-        .query("select * from \"elastic\".\"zips\" limit 42")
-        .returnsCount(42);
-
-  }
-
-  @Test public void testSort() {
-    final String explain = "PLAN=ElasticsearchToEnumerableConverter\n"
-        + "  ElasticsearchSort(sort0=[$4], dir0=[ASC])\n"
-        + "    ElasticsearchProject(city=[CAST(ITEM($0, 'city')):VARCHAR(20) 
CHARACTER SET \"ISO-8859-1\" COLLATE \"ISO-8859-1$en_US$primary\"], 
longitude=[CAST(ITEM(ITEM($0, 'loc'), 0)):FLOAT], latitude=[CAST(ITEM(ITEM($0, 
'loc'), 1)):FLOAT], pop=[CAST(ITEM($0, 'pop')):INTEGER], state=[CAST(ITEM($0, 
'state')):VARCHAR(2) CHARACTER SET \"ISO-8859-1\" COLLATE 
\"ISO-8859-1$en_US$primary\"], id=[CAST(ITEM($0, 'id')):VARCHAR(5) CHARACTER 
SET \"ISO-8859-1\" COLLATE \"ISO-8859-1$en_US$primary\"])\n"
-        + "      ElasticsearchTableScan(table=[[elastic, zips]])";
-
-    calciteAssert()
-        .query("select * from zips order by \"state\"")
-        .returnsCount(10)
-        .explainContains(explain);
-  }
-
-  @Test public void testSortLimit() {
-    final String sql = "select \"state\", \"pop\" from zips\n"
-        + "order by \"state\", \"pop\" offset 2 rows fetch next 3 rows only";
-    calciteAssert()
-        .query(sql)
-        .returnsUnordered("state=AK; pop=32383",
-            "state=AL; pop=42124",
-            "state=AL; pop=43862")
-        .queryContains(
-            ElasticsearchChecker.elasticsearchChecker(
-                "\"_source\" : [\"state\", \"pop\"]",
-                "\"sort\": [ {\"state\": \"asc\"}, {\"pop\": \"asc\"}]",
-                "\"from\": 2",
-                "\"size\": 3"));
-  }
-
-
-
-  @Test public void testOffsetLimit() {
-    final String sql = "select \"state\", \"id\" from zips\n"
-        + "offset 2 fetch next 3 rows only";
-    calciteAssert()
-        .query(sql)
-        .runs()
-        .queryContains(
-            ElasticsearchChecker.elasticsearchChecker(
-                "\"from\": 2",
-                "\"size\": 3",
-                "\"_source\" : [\"state\", \"id\"]"));
-  }
-
-  @Test public void testLimit() {
-    final String sql = "select \"state\", \"id\" from zips\n"
-        + "fetch next 3 rows only";
-
-    calciteAssert()
-        .query(sql)
-        .runs()
-        .queryContains(
-            ElasticsearchChecker.elasticsearchChecker(
-                "\"size\": 3",
-                "\"_source\" : [\"state\", \"id\"]"));
-  }
-
-  @Test public void testFilterSort() {
-    final String sql = "select * from zips\n"
-        + "where \"state\" = 'CA' and \"pop\" >= 94000\n"
-        + "order by \"state\", \"pop\"";
-    final String explain = "PLAN=ElasticsearchToEnumerableConverter\n"
-        + "  ElasticsearchSort(sort0=[$4], sort1=[$3], dir0=[ASC], 
dir1=[ASC])\n"
-        + "    ElasticsearchProject(city=[CAST(ITEM($0, 'city')):VARCHAR(20) 
CHARACTER SET \"ISO-8859-1\" COLLATE \"ISO-8859-1$en_US$primary\"], 
longitude=[CAST(ITEM(ITEM($0, 'loc'), 0)):FLOAT], latitude=[CAST(ITEM(ITEM($0, 
'loc'), 1)):FLOAT], pop=[CAST(ITEM($0, 'pop')):INTEGER], state=[CAST(ITEM($0, 
'state')):VARCHAR(2) CHARACTER SET \"ISO-8859-1\" COLLATE 
\"ISO-8859-1$en_US$primary\"], id=[CAST(ITEM($0, 'id')):VARCHAR(5) CHARACTER 
SET \"ISO-8859-1\" COLLATE \"ISO-8859-1$en_US$primary\"])\n"
-        + "      ElasticsearchFilter(condition=[AND(=(CAST(ITEM($0, 
'state')):VARCHAR(2) CHARACTER SET \"ISO-8859-1\" COLLATE 
\"ISO-8859-1$en_US$primary\", 'CA'), >=(CAST(ITEM($0, 'pop')):INTEGER, 
94000))])\n"
-        + "        ElasticsearchTableScan(table=[[elastic, zips]])\n\n";
-    calciteAssert()
-        .query(sql)
-        .returnsOrdered("city=NORWALK; longitude=-118.081767; 
latitude=33.90564;"
-                + " pop=94188; state=CA; id=90650",
-            "city=LOS ANGELES; longitude=-118.258189; latitude=34.007856;"
-                + " pop=96074; state=CA; id=90011",
-            "city=BELL GARDENS; longitude=-118.17205; latitude=33.969177;"
-                + " pop=99568; state=CA; id=90201")
-        .queryContains(
-            ElasticsearchChecker.elasticsearchChecker("\"query\" : "
-                    + "{\"constant_score\":{\"filter\":{\"bool\":"
-                    + "{\"must\":[{\"term\":{\"state\":\"CA\"}},"
-                    + "{\"range\":{\"pop\":{\"gte\":94000}}}]}}}}",
-                "\"script_fields\": 
{\"longitude\":{\"script\":\"params._source.loc[0]\"}, "
-                    + "\"latitude\":{\"script\":\"params._source.loc[1]\"}, "
-                    + "\"city\":{\"script\": \"params._source.city\"}, "
-                    + "\"pop\":{\"script\": \"params._source.pop\"}, "
-                    + "\"state\":{\"script\": \"params._source.state\"}, "
-                    + "\"id\":{\"script\": \"params._source.id\"}}",
-                "\"sort\": [ {\"state\": \"asc\"}, {\"pop\": \"asc\"}]"))
-        .explainContains(explain);
-  }
-
-  @Test public void testFilterSortDesc() {
-    final String sql = "select * from zips\n"
-        + "where \"pop\" BETWEEN 95000 AND 100000\n"
-        + "order by \"state\" desc, \"pop\"";
-    calciteAssert()
-        .query(sql)
-        .limit(4)
-        .returnsOrdered(
-            "city=LOS ANGELES; longitude=-118.258189; latitude=34.007856; 
pop=96074; state=CA; id=90011",
-            "city=BELL GARDENS; longitude=-118.17205; latitude=33.969177; 
pop=99568; state=CA; id=90201");
-  }
-
-  @Test public void testFilterRedundant() {
-    final String sql = "select * from zips\n"
-        + "where \"state\" > 'CA' and \"state\" < 'AZ' and \"state\" = 'OK'";
-    calciteAssert()
-        .query(sql)
-        .runs()
-        .queryContains(
-            ElasticsearchChecker.elasticsearchChecker(""
-                    + "\"query\" : {\"constant_score\":{\"filter\":{\"bool\":"
-                    + "{\"must\":[{\"term\":{\"state\":\"OK\"}}]}}}}",
-                "\"script_fields\": 
{\"longitude\":{\"script\":\"params._source.loc[0]\"}, "
-                    +  "\"latitude\":{\"script\":\"params._source.loc[1]\"}, "
-                    +   "\"city\":{\"script\": \"params._source.city\"}, "
-                    +   "\"pop\":{\"script\": \"params._source.pop\"}, 
\"state\":{\"script\": \"params._source.state\"}, "
-                    +            "\"id\":{\"script\": \"params._source.id\"}}"
-            ));
-  }
-
-  @Test public void testInPlan() {
-    final String[] searches = {
-        "\"query\" : {\"constant_score\":{\"filter\":{\"bool\":{\"should\":"
-            + 
"[{\"bool\":{\"must\":[{\"term\":{\"pop\":96074}}]}},{\"bool\":{\"must\":[{\"term\":"
-            + "{\"pop\":99568}}]}}]}}}}",
-        "\"script_fields\": 
{\"longitude\":{\"script\":\"params._source.loc[0]\"}, "
-            +  "\"latitude\":{\"script\":\"params._source.loc[1]\"}, "
-            +  "\"city\":{\"script\": \"params._source.city\"}, "
-            +  "\"pop\":{\"script\": \"params._source.pop\"}, "
-            +  "\"state\":{\"script\": \"params._source.state\"}, "
-            +  "\"id\":{\"script\": \"params._source.id\"}}"
-    };
-
-    calciteAssert()
-        .query("select * from zips where \"pop\" in (96074, 99568)")
-        .returnsUnordered(
-            "city=BELL GARDENS; longitude=-118.17205; latitude=33.969177; 
pop=99568; state=CA; id=90201",
-            "city=LOS ANGELES; longitude=-118.258189; latitude=34.007856; 
pop=96074; state=CA; id=90011"
-        )
-        .queryContains(ElasticsearchChecker.elasticsearchChecker(searches));
-  }
-
-  @Test public void testZips() {
-    calciteAssert()
-        .query("select \"state\", \"city\" from zips")
-        .returnsCount(10);
-  }
-
-  @Test public void testProject() {
-    final String sql = "select \"state\", \"city\", 0 as \"zero\"\n"
-        + "from zips\n"
-        + "order by \"state\", \"city\"";
-
-    calciteAssert()
-        .query(sql)
-        .limit(2)
-        .returnsUnordered("state=AK; city=ANCHORAGE; zero=0",
-            "state=AK; city=FAIRBANKS; zero=0")
-        .queryContains(
-            ElasticsearchChecker.elasticsearchChecker("\"script_fields\": "
-                    + "{\"zero\":{\"script\": \"0\"}, "
-                    + "\"state\":{\"script\": \"params._source.state\"}, "
-                    + "\"city\":{\"script\": \"params._source.city\"}}",
-                "\"sort\": [ {\"state\": \"asc\"}, {\"city\": \"asc\"}]"));
-  }
-
-  @Test public void testFilter() {
-    final String explain = "PLAN=ElasticsearchToEnumerableConverter\n"
-        + "  ElasticsearchProject(state=[CAST(ITEM($0, 'state')):VARCHAR(2) 
CHARACTER SET \"ISO-8859-1\" COLLATE \"ISO-8859-1$en_US$primary\"], 
city=[CAST(ITEM($0, 'city')):VARCHAR(20) CHARACTER SET \"ISO-8859-1\" COLLATE 
\"ISO-8859-1$en_US$primary\"])\n"
-        + "    ElasticsearchFilter(condition=[=(CAST(ITEM($0, 
'state')):VARCHAR(2) CHARACTER SET \"ISO-8859-1\" COLLATE 
\"ISO-8859-1$en_US$primary\", 'CA')])\n"
-        + "      ElasticsearchTableScan(table=[[elastic, zips]])";
-    calciteAssert()
-        .query("select \"state\", \"city\" from zips where \"state\" = 'CA'")
-        .limit(3)
-        .returnsUnordered("state=CA; city=BELL GARDENS",
-            "state=CA; city=LOS ANGELES",
-            "state=CA; city=NORWALK")
-        .explainContains(explain);
-  }
-
-  @Test public void testFilterReversed() {
-    calciteAssert()
-        .query("select \"state\", \"city\" from zips where 'WI' < \"state\" 
order by \"city\"")
-        .limit(2)
-        .returnsUnordered("state=WV; city=BECKLEY",
-            "state=WY; city=CHEYENNE");
-    calciteAssert()
-        .query("select \"state\", \"city\" from zips where \"state\" > 'WI' 
order by \"city\"")
-        .limit(2)
-        .returnsUnordered("state=WV; city=BECKLEY",
-            "state=WY; city=CHEYENNE");
-  }
-
-}
-
-// End Elasticsearch5AdapterTest.java

http://git-wip-us.apache.org/repos/asf/calcite/blob/0204f286/elasticsearch5/src/test/java/org/apache/calcite/adapter/elasticsearch5/EmbeddedElasticsearchNode.java
----------------------------------------------------------------------
diff --git 
a/elasticsearch5/src/test/java/org/apache/calcite/adapter/elasticsearch5/EmbeddedElasticsearchNode.java
 
b/elasticsearch5/src/test/java/org/apache/calcite/adapter/elasticsearch5/EmbeddedElasticsearchNode.java
deleted file mode 100644
index a28b6e0..0000000
--- 
a/elasticsearch5/src/test/java/org/apache/calcite/adapter/elasticsearch5/EmbeddedElasticsearchNode.java
+++ /dev/null
@@ -1,162 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.calcite.adapter.elasticsearch5;
-
-import com.google.common.base.Preconditions;
-import com.google.common.io.Files;
-
-import org.elasticsearch.action.admin.cluster.node.info.NodeInfo;
-import org.elasticsearch.action.admin.cluster.node.info.NodesInfoResponse;
-import org.elasticsearch.client.Client;
-import org.elasticsearch.common.settings.Settings;
-import org.elasticsearch.common.transport.TransportAddress;
-import org.elasticsearch.node.InternalSettingsPreparer;
-import org.elasticsearch.node.Node;
-import org.elasticsearch.node.NodeValidationException;
-import org.elasticsearch.painless.PainlessPlugin;
-import org.elasticsearch.plugins.Plugin;
-import org.elasticsearch.transport.Netty3Plugin;
-
-import java.io.File;
-import java.util.Arrays;
-import java.util.Collection;
-import java.util.Objects;
-
-/**
- * Represents a single elastic search node which can run embedded in a java 
application.
- * Intended for unit and integration tests. Settings and plugins are crafted 
for Calcite.
- */
-class EmbeddedElasticsearchNode implements AutoCloseable {
-
-  private final Node node;
-  private volatile boolean  isStarted;
-
-  private EmbeddedElasticsearchNode(Node node) {
-    this.node = Objects.requireNonNull(node, "node");
-  }
-
-
-  /**
-   * Creates an instance with existing settings
-   *
-   * @param settings ES configuration
-   * @return un-initialized node. Use {@link #start()} explicitly.
-   */
-  private static EmbeddedElasticsearchNode create(Settings settings) {
-    // ensure GroovyPlugin is installed or otherwise scripted fields would not 
work
-    Node node = new LocalNode(settings, Arrays.asList(Netty3Plugin.class, 
PainlessPlugin.class));
-    return new EmbeddedElasticsearchNode(node);
-  }
-
-  /**
-   * Creates elastic node as single member of a cluster. Node will not be 
started
-   * unless {@link #start()} is explicitly called.
-   *
-   * @return un-initialized node. Use {@link #start()} explicitly.
-   */
-  public static EmbeddedElasticsearchNode create() {
-    File data = Files.createTempDir();
-    data.deleteOnExit();
-    File home = Files.createTempDir();
-    home.deleteOnExit();
-
-    Settings settings = Settings.builder()
-            .put("node.name", "fake-elastic")
-            .put("path.home", home.getAbsolutePath())
-            .put("path.data", data.getAbsolutePath())
-            .put("transport.type", "local")
-            .put("http.type", "netty3")
-            .put("script.inline", true)  // requires groovy or painless
-            .put("network.host", "localhost")
-            .build();
-
-    return create(settings);
-  }
-
-  /**
-   * Starts current node
-   */
-  public void start() {
-    Preconditions.checkState(!isStarted, "already started");
-    try {
-      node.start();
-      this.isStarted = true;
-    } catch (NodeValidationException e) {
-      throw new RuntimeException(e);
-    }
-  }
-
-  /**
-   * Returns the current address to connect to with HTTP client.
-   *
-   * @return {@code HTTP} protocol connection parameters
-   */
-  TransportAddress httpAddress() {
-    Preconditions.checkState(isStarted, "node is not started");
-
-    NodesInfoResponse response =  client().admin().cluster().prepareNodesInfo()
-            .execute().actionGet();
-    if (response.getNodes().size() != 1) {
-      throw new IllegalStateException("Expected single node but got "
-              + response.getNodes().size());
-    }
-    NodeInfo node = response.getNodes().get(0);
-    return node.getHttp().address().boundAddresses()[0];
-  }
-
-  /**
-   * Exposes an Elasticsearch
-   * <a 
href="https://www.elastic.co/guide/en/elasticsearch/client/java-api/current/transport-client.html";>transport
 client</a>
-   * (use of HTTP client is preferred).
-   *
-   * @return ES client API on a running instance
-   */
-  public Client client() {
-    Preconditions.checkState(isStarted, "node is not started");
-    return node.client();
-  }
-
-  @Override public void close() throws Exception {
-    node.close();
-    // cleanup data dirs
-    for (String name: Arrays.asList("path.data", "path.home")) {
-      if (node.settings().get(name) != null) {
-        File file = new File(node.settings().get(name));
-        if (file.exists()) {
-          file.delete();
-        }
-      }
-    }
-  }
-
-  /**
-   * Having separate class to expose (protected) constructor which allows to 
install
-   * different plugins. In our case it is {@code GroovyPlugin} for scripted 
fields
-   * like {@code loc[0]} or {@code loc[1]['foo']}.
-   *
-   * <p>This class is intended solely for tests
-   */
-  private static class LocalNode extends Node {
-
-    private LocalNode(Settings settings, Collection<Class<? extends Plugin>> 
classpathPlugins) {
-      super(InternalSettingsPreparer.prepareEnvironment(settings, null),
-              classpathPlugins);
-    }
-  }
-}
-
-// End EmbeddedElasticsearchNode.java

http://git-wip-us.apache.org/repos/asf/calcite/blob/0204f286/elasticsearch5/src/test/java/org/apache/calcite/adapter/elasticsearch5/EmbeddedElasticsearchPolicy.java
----------------------------------------------------------------------
diff --git 
a/elasticsearch5/src/test/java/org/apache/calcite/adapter/elasticsearch5/EmbeddedElasticsearchPolicy.java
 
b/elasticsearch5/src/test/java/org/apache/calcite/adapter/elasticsearch5/EmbeddedElasticsearchPolicy.java
deleted file mode 100644
index 8cd2425..0000000
--- 
a/elasticsearch5/src/test/java/org/apache/calcite/adapter/elasticsearch5/EmbeddedElasticsearchPolicy.java
+++ /dev/null
@@ -1,102 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.calcite.adapter.elasticsearch5;
-
-import org.elasticsearch.client.Client;
-import org.elasticsearch.common.transport.TransportAddress;
-import org.junit.rules.ExternalResource;
-
-import java.util.Objects;
-
-/**
- * Junit rule that is used to initialize a single Elasticsearch node for tests.
- *
- * <p>For performance reasons (node startup costs),
- * the same instance is usually shared across multiple tests.
- *
- * <p>This rule should be used as follows:
- * <pre>
- *
- *  public class MyTest {
- *    &#64;ClassRule
- *    public static final ElasticSearchRule RULE = ElasticSearchRule.create();
- *
- *    &#64;BeforeClass
- *    public static void setup() {
- *       // ... populate instance
- *    }
- *
- *    &#64;Test
- *    public void myTest() {
- *      TransportAddress address = RULE.httpAddress();
- *      // .... (connect to ES)
- *    }
- *  }
- * </pre>
- *
- * @see ExternalResource
- */
-class EmbeddedElasticsearchPolicy extends ExternalResource {
-
-  private final EmbeddedElasticsearchNode node;
-
-  private EmbeddedElasticsearchPolicy(EmbeddedElasticsearchNode resource) {
-    this.node = Objects.requireNonNull(resource, "resource");
-  }
-
-  @Override protected void before() throws Throwable {
-    node.start();
-  }
-
-  @Override protected void after() {
-    try {
-      node.close();
-    } catch (Exception e) {
-      throw new RuntimeException(e);
-    }
-  }
-
-  /**
-   * Factory method to create this rule.
-   *
-   * @return new rule instance to be used in unit tests
-   */
-  public static EmbeddedElasticsearchPolicy create() {
-    return new EmbeddedElasticsearchPolicy(EmbeddedElasticsearchNode.create());
-  }
-
-  /**
-   * Exposes current ES transport client.
-   * @return running (and initialized) instance of ES node
-   */
-  Client client() {
-    return node.client();
-  }
-
-  /**
-   * HTTP address for rest clients (can be ES native or any other).
-   *
-   * @return {@code HTTP} connection parameters
-   */
-  TransportAddress httpAddress() {
-    return node.httpAddress();
-  }
-
-
-}
-
-// End EmbeddedElasticsearchPolicy.java

http://git-wip-us.apache.org/repos/asf/calcite/blob/0204f286/elasticsearch5/src/test/java/org/apache/calcite/test/Elasticsearch5AdapterIT.java
----------------------------------------------------------------------
diff --git 
a/elasticsearch5/src/test/java/org/apache/calcite/test/Elasticsearch5AdapterIT.java
 
b/elasticsearch5/src/test/java/org/apache/calcite/test/Elasticsearch5AdapterIT.java
deleted file mode 100644
index c727441..0000000
--- 
a/elasticsearch5/src/test/java/org/apache/calcite/test/Elasticsearch5AdapterIT.java
+++ /dev/null
@@ -1,265 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.calcite.test;
-
-import org.apache.calcite.util.Util;
-
-import com.google.common.collect.ImmutableMap;
-
-import org.junit.Test;
-
-import java.util.List;
-import java.util.function.Consumer;
-
-/**
- * Tests for the {@code org.apache.calcite.adapter.elasticsearch} package.
- *
- * <p>Before calling this test, you need to populate Elasticsearch, as follows:
- *
- * <blockquote><code>
- * git clone https://github.com/vlsi/calcite-test-dataset<br>
- * cd calcite-test-dataset<br>
- * mvn install
- * </code></blockquote>
- *
- * <p>This will create a virtual machine with Elasticsearch and the "zips" test
- * dataset.
- */
-public class Elasticsearch5AdapterIT {
-  /**
-   * Whether to run Elasticsearch tests. Enabled by default, however test is 
only
-   * included if "it" profile is activated ({@code -Pit}). To disable,
-   * specify {@code -Dcalcite.test.elasticsearch=false} on the Java command 
line.
-   */
-  private static final boolean ENABLED = 
Util.getBooleanProperty("calcite.test.elasticsearch",
-      true);
-
-  /** Connection factory based on the "zips-es" model. */
-  private static final ImmutableMap<String, String> ZIPS = 
ImmutableMap.of("model",
-      
Elasticsearch5AdapterIT.class.getResource("/elasticsearch-zips-model.json").getPath());
-
-  /** Whether to run this test. */
-  private boolean enabled() {
-    return ENABLED;
-  }
-
-  /** Returns a function that checks that a particular Elasticsearch pipeline 
is
-   * generated to implement a query. */
-  private static Consumer<List> elasticsearchChecker(final String... strings) {
-    return actual -> {
-      Object[] actualArray = actual == null || actual.isEmpty() ? null
-          : ((List) actual.get(0)).toArray();
-      CalciteAssert.assertArrayEqual("expected Elasticsearch query not found", 
strings,
-          actualArray);
-    };
-  }
-
-  @Test public void testSort() {
-    final String explain = "PLAN=ElasticsearchToEnumerableConverter\n"
-        + "  ElasticsearchSort(sort0=[$4], dir0=[ASC])\n"
-        + "    ElasticsearchProject(city=[CAST(ITEM($0, 'city')):VARCHAR(20) 
CHARACTER SET \"ISO-8859-1\" COLLATE \"ISO-8859-1$en_US$primary\"], 
longitude=[CAST(ITEM(ITEM($0, 'loc'), 0)):FLOAT], latitude=[CAST(ITEM(ITEM($0, 
'loc'), 1)):FLOAT], pop=[CAST(ITEM($0, 'pop')):INTEGER], state=[CAST(ITEM($0, 
'state')):VARCHAR(2) CHARACTER SET \"ISO-8859-1\" COLLATE 
\"ISO-8859-1$en_US$primary\"], id=[CAST(ITEM($0, 'id')):VARCHAR(5) CHARACTER 
SET \"ISO-8859-1\" COLLATE \"ISO-8859-1$en_US$primary\"])\n"
-        + "      ElasticsearchTableScan(table=[[elasticsearch_raw, zips]])";
-    CalciteAssert.that()
-        .enable(enabled())
-        .with(ZIPS)
-        .query("select * from zips order by \"state\"")
-        .returnsCount(10)
-        .explainContains(explain);
-  }
-
-  @Test public void testSortLimit() {
-    final String sql = "select \"state\", \"id\" from zips\n"
-        + "order by \"state\", \"id\" offset 2 rows fetch next 3 rows only";
-    CalciteAssert.that()
-        .with(ZIPS)
-        .query(sql)
-        .returnsUnordered("state=AK; id=99503",
-            "state=AK; id=99504",
-            "state=AK; id=99505")
-        .queryContains(
-            elasticsearchChecker(
-                "\"fields\" : [\"state\", \"id\"], \"script_fields\": {}",
-                "\"sort\": [ {\"state\": \"asc\"}, {\"id\": \"asc\"}]",
-                "\"from\": 2",
-                "\"size\": 3"));
-  }
-
-  @Test public void testOffsetLimit() {
-    final String sql = "select \"state\", \"id\" from zips\n"
-        + "offset 2 fetch next 3 rows only";
-    CalciteAssert.that()
-        .enable(enabled())
-        .with(ZIPS)
-        .query(sql)
-        .runs()
-        .queryContains(
-            elasticsearchChecker(
-                "\"from\": 2",
-                "\"size\": 3",
-                "\"fields\" : [\"state\", \"id\"], \"script_fields\": {}"));
-  }
-
-  @Test public void testLimit() {
-    final String sql = "select \"state\", \"id\" from zips\n"
-        + "fetch next 3 rows only";
-    CalciteAssert.that()
-        .enable(enabled())
-        .with(ZIPS)
-        .query(sql)
-        .runs()
-        .queryContains(
-            elasticsearchChecker(
-                "\"size\": 3",
-                "\"fields\" : [\"state\", \"id\"], \"script_fields\": {}"));
-  }
-
-  @Test public void testFilterSort() {
-    final String sql = "select * from zips\n"
-        + "where \"city\" = 'SPRINGFIELD' and \"id\" >= '70000'\n"
-        + "order by \"state\", \"id\"";
-    final String explain = "PLAN=ElasticsearchToEnumerableConverter\n"
-        + "  ElasticsearchSort(sort0=[$4], sort1=[$5], dir0=[ASC], 
dir1=[ASC])\n"
-        + "    ElasticsearchProject(city=[CAST(ITEM($0, 'city')):VARCHAR(20) 
CHARACTER SET \"ISO-8859-1\" COLLATE \"ISO-8859-1$en_US$primary\"], 
longitude=[CAST(ITEM(ITEM($0, 'loc'), 0)):FLOAT], latitude=[CAST(ITEM(ITEM($0, 
'loc'), 1)):FLOAT], pop=[CAST(ITEM($0, 'pop')):INTEGER], state=[CAST(ITEM($0, 
'state')):VARCHAR(2) CHARACTER SET \"ISO-8859-1\" COLLATE 
\"ISO-8859-1$en_US$primary\"], id=[CAST(ITEM($0, 'id')):VARCHAR(5) CHARACTER 
SET \"ISO-8859-1\" COLLATE \"ISO-8859-1$en_US$primary\"])\n"
-        + "      ElasticsearchFilter(condition=[AND(=(CAST(ITEM($0, 
'city')):VARCHAR(20) CHARACTER SET \"ISO-8859-1\" COLLATE 
\"ISO-8859-1$en_US$primary\", 'SPRINGFIELD'), >=(CAST(ITEM($0, 
'id')):VARCHAR(5) CHARACTER SET \"ISO-8859-1\" COLLATE 
\"ISO-8859-1$en_US$primary\", '70000'))])\n"
-        + "        ElasticsearchTableScan(table=[[elasticsearch_raw, zips]])";
-    CalciteAssert.that()
-        .enable(enabled())
-        .with(ZIPS)
-        .query(sql)
-        .returnsOrdered(
-            "city=SPRINGFIELD; longitude=-92.54567; latitude=35.274879; 
pop=752; state=AR; id=72157",
-            "city=SPRINGFIELD; longitude=-102.617322; latitude=37.406727; 
pop=1992; state=CO; id=81073",
-            "city=SPRINGFIELD; longitude=-90.577479; latitude=30.415738; 
pop=5597; state=LA; id=70462",
-            "city=SPRINGFIELD; longitude=-123.015259; latitude=44.06106; 
pop=32384; state=OR; id=97477",
-            "city=SPRINGFIELD; longitude=-122.917108; latitude=44.056056; 
pop=27521; state=OR; id=97478")
-        .queryContains(
-            elasticsearchChecker("\"query\" : 
{\"constant_score\":{\"filter\":{\"bool\":"
-                    + 
"{\"must\":[{\"term\":{\"city\":\"springfield\"}},{\"range\":{\"id\":{\"gte\":\"70000\"}}}]}}}}",
-                "\"fields\" : [\"city\", \"pop\", \"state\", \"id\"], 
\"script_fields\": {\"longitude\":{\"script\":\"_source.loc[0]\"}, 
\"latitude\":{\"script\":\"_source.loc[1]\"}}",
-                "\"sort\": [ {\"state\": \"asc\"}, {\"id\": \"asc\"}]"))
-        .explainContains(explain);
-  }
-
-  @Test public void testFilterSortDesc() {
-    final String sql = "select * from zips\n"
-        + "where \"pop\" BETWEEN 20000 AND 20100\n"
-        + "order by \"state\" desc, \"pop\"";
-    CalciteAssert.that()
-        .enable(enabled())
-        .with(ZIPS)
-        .query(sql)
-        .limit(4)
-        .returnsOrdered(
-            "city=SHERIDAN; longitude=-106.964795; latitude=44.78486; 
pop=20025; state=WY; id=82801",
-            "city=MOUNTLAKE TERRAC; longitude=-122.304036; latitude=47.793061; 
pop=20059; state=WA; id=98043",
-            "city=FALMOUTH; longitude=-77.404537; latitude=38.314557; 
pop=20039; state=VA; id=22405",
-            "city=FORT WORTH; longitude=-97.318409; latitude=32.725551; 
pop=20012; state=TX; id=76104");
-  }
-
-  @Test public void testFilterRedundant() {
-    final String sql = "select * from zips\n"
-        + "where \"state\" > 'CA' and \"state\" < 'AZ' and \"state\" = 'OK'";
-    CalciteAssert.that()
-        .enable(enabled())
-        .with(ZIPS)
-        .query(sql)
-        .runs()
-        .queryContains(
-            elasticsearchChecker(""
-                + "\"query\" : {\"constant_score\":{\"filter\":{\"bool\":"
-                + "{\"must\":[{\"term\":{\"state\":\"ok\"}}]}}}}",
-                "\"fields\" : [\"city\", \"pop\", \"state\", \"id\"], 
\"script_fields\": {\"longitude\":{\"script\":\"_source.loc[0]\"}, 
\"latitude\":{\"script\":\"_source.loc[1]\"}}"));
-  }
-
-  @Test public void testInPlan() {
-    final String[] searches = {
-        "\"query\" : {\"constant_score\":{\"filter\":{\"bool\":{\"should\":"
-          + 
"[{\"bool\":{\"must\":[{\"term\":{\"pop\":20012}}]}},{\"bool\":{\"must\":[{\"term\":"
-          + "{\"pop\":15590}}]}}]}}}}",
-        "\"fields\" : [\"city\", \"pop\", \"state\", \"id\"], 
\"script_fields\": {\"longitude\":{\"script\":\"_source.loc[0]\"}, 
\"latitude\":{\"script\":\"_source.loc[1]\"}}"
-    };
-    CalciteAssert.that()
-        .enable(enabled())
-        .with(ZIPS)
-        .query("select * from zips where \"pop\" in (20012, 15590)")
-        .returnsUnordered(
-            "city=COVINA; longitude=-117.884285; latitude=34.08596; pop=15590; 
state=CA; id=91723",
-            "city=ARLINGTON; longitude=-97.091987; latitude=32.654752; 
pop=15590; state=TX; id=76018",
-            "city=CROFTON; longitude=-76.680166; latitude=39.011163; 
pop=15590; state=MD; id=21114",
-            "city=FORT WORTH; longitude=-97.318409; latitude=32.725551; 
pop=20012; state=TX; id=76104",
-            "city=DINUBA; longitude=-119.39087; latitude=36.534931; pop=20012; 
state=CA; id=93618")
-        .queryContains(elasticsearchChecker(searches));
-  }
-
-  @Test public void testZips() {
-    CalciteAssert.that()
-        .enable(enabled())
-        .with(ZIPS)
-        .query("select \"state\", \"city\" from zips")
-        .returnsCount(10);
-  }
-
-  @Test public void testProject() {
-    final String sql = "select \"state\", \"city\", 0 as \"zero\"\n"
-        + "from zips\n"
-        + "order by \"state\", \"city\"";
-    CalciteAssert.that()
-        .enable(enabled())
-        .with(ZIPS)
-        .query(sql)
-        .limit(2)
-        .returnsUnordered("state=AK; city=ELMENDORF AFB; zero=0",
-            "state=AK; city=EIELSON AFB; zero=0")
-        .queryContains(
-            elasticsearchChecker("\"sort\": [ {\"state\": \"asc\"}, {\"city\": 
\"asc\"}]",
-                "\"fields\" : [\"state\", \"city\"], \"script_fields\": 
{\"zero\":{\"script\": \"0\"}}"));
-  }
-
-  @Test public void testFilter() {
-    final String explain = "PLAN=ElasticsearchToEnumerableConverter\n"
-        + "  ElasticsearchProject(state=[CAST(ITEM($0, 'state')):VARCHAR(2) 
CHARACTER SET \"ISO-8859-1\" COLLATE \"ISO-8859-1$en_US$primary\"], 
city=[CAST(ITEM($0, 'city')):VARCHAR(20) CHARACTER SET \"ISO-8859-1\" COLLATE 
\"ISO-8859-1$en_US$primary\"])\n"
-        + "    ElasticsearchFilter(condition=[=(CAST(ITEM($0, 
'state')):VARCHAR(2) CHARACTER SET \"ISO-8859-1\" COLLATE 
\"ISO-8859-1$en_US$primary\", 'CA')])\n"
-        + "      ElasticsearchTableScan(table=[[elasticsearch_raw, zips]])";
-    CalciteAssert.that()
-        .enable(enabled())
-        .with(ZIPS)
-        .query("select \"state\", \"city\" from zips where \"state\" = 'CA'")
-        .limit(2)
-        .returnsUnordered("state=CA; city=LOS ANGELES",
-            "state=CA; city=LOS ANGELES")
-        .explainContains(explain);
-  }
-
-  @Test public void testFilterReversed() {
-    CalciteAssert.that()
-        .enable(enabled())
-        .with(ZIPS)
-        .query("select \"state\", \"city\" from zips where 'WI' < \"state\"")
-        .limit(2)
-        .returnsUnordered("state=WV; city=WELCH",
-            "state=WV; city=HANOVER");
-    CalciteAssert.that()
-        .enable(enabled())
-        .with(ZIPS)
-        .query("select \"state\", \"city\" from zips where \"state\" > 'WI'")
-        .limit(2)
-        .returnsUnordered("state=WV; city=WELCH",
-            "state=WV; city=HANOVER");
-  }
-}
-
-// End Elasticsearch5AdapterIT.java

http://git-wip-us.apache.org/repos/asf/calcite/blob/0204f286/elasticsearch5/src/test/java/org/apache/calcite/test/ElasticsearchChecker.java
----------------------------------------------------------------------
diff --git 
a/elasticsearch5/src/test/java/org/apache/calcite/test/ElasticsearchChecker.java
 
b/elasticsearch5/src/test/java/org/apache/calcite/test/ElasticsearchChecker.java
deleted file mode 100644
index be236ed..0000000
--- 
a/elasticsearch5/src/test/java/org/apache/calcite/test/ElasticsearchChecker.java
+++ /dev/null
@@ -1,45 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to you under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- *
- * http://www.apache.org/licenses/LICENSE-2.0
- *
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-package org.apache.calcite.test;
-
-import java.util.List;
-import java.util.function.Consumer;
-
-/**
- * Utility methods for Elasticsearch tests.
- */
-public class ElasticsearchChecker {
-
-  private ElasticsearchChecker() {}
-
-  /** Returns a function that checks that a particular Elasticsearch pipeline 
is
-   * generated to implement a query.
-   *
-   * @param strings list of expected queries
-   * @return function to perform the check
-   */
-  public static Consumer<List> elasticsearchChecker(final String... strings) {
-    return actual -> {
-      Object[] actualArray = actual == null || actual.isEmpty() ? null
-          : ((List) actual.get(0)).toArray();
-      CalciteAssert.assertArrayEqual("expected Elasticsearch query not found", 
strings,
-          actualArray);
-    };
-  }
-}
-
-// End ElasticsearchChecker.java

http://git-wip-us.apache.org/repos/asf/calcite/blob/0204f286/elasticsearch5/src/test/resources/log4j.properties
----------------------------------------------------------------------
diff --git a/elasticsearch5/src/test/resources/log4j.properties 
b/elasticsearch5/src/test/resources/log4j.properties
deleted file mode 100644
index 834e2db..0000000
--- a/elasticsearch5/src/test/resources/log4j.properties
+++ /dev/null
@@ -1,24 +0,0 @@
-# Licensed to the Apache Software Foundation (ASF) under one or more
-# contributor license agreements.  See the NOTICE file distributed with
-# this work for additional information regarding copyright ownership.
-# The ASF licenses this file to you under the Apache License, Version 2.0
-# (the "License"); you may not use this file except in compliance with
-# the License.  You may obtain a copy of the License at
-#
-# http://www.apache.org/licenses/LICENSE-2.0
-#
-# Unless required by applicable law or agreed to in writing, software
-# distributed under the License is distributed on an "AS IS" BASIS,
-# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-# See the License for the specific language governing permissions and
-# limitations under the License.
-
-# Root logger is configured at INFO and is sent to A1
-log4j.rootLogger=INFO, A1
-
-# A1 goes to the console
-log4j.appender.A1=org.apache.log4j.ConsoleAppender
-
-# Set the pattern for each log message
-log4j.appender.A1.layout=org.apache.log4j.PatternLayout
-log4j.appender.A1.layout.ConversionPattern=%d [%t] %-5p - %m%n

http://git-wip-us.apache.org/repos/asf/calcite/blob/0204f286/elasticsearch5/src/test/resources/log4j2.xml
----------------------------------------------------------------------
diff --git a/elasticsearch5/src/test/resources/log4j2.xml 
b/elasticsearch5/src/test/resources/log4j2.xml
deleted file mode 100644
index 47b1613..0000000
--- a/elasticsearch5/src/test/resources/log4j2.xml
+++ /dev/null
@@ -1,32 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!--
-Licensed to the Apache Software Foundation (ASF) under one or more
-contributor license agreements.  See the NOTICE file distributed with
-this work for additional information regarding copyright ownership.
-The ASF licenses this file to you under the Apache License, Version 2.0
-(the "License"); you may not use this file except in compliance with
-the License.  You may obtain a copy of the License at
-
-http://www.apache.org/licenses/LICENSE-2.0
-
-Unless required by applicable law or agreed to in writing, software
-distributed under the License is distributed on an "AS IS" BASIS,
-WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
-See the License for the specific language governing permissions and
-limitations under the License.
--->
-<Configuration status="WARN">
-
-    <Appenders>
-        <Console name="console" target="SYSTEM_OUT">
-            <PatternLayout
-                    pattern="[%-5level] %d{HH:mm:ss.SSS} %logger{36}.%M() - 
%msg%n" />
-        </Console>
-    </Appenders>
-
-    <Loggers>
-        <Root level="INFO" additivity="false">
-            <AppenderRef ref="console" />
-        </Root>
-    </Loggers>
-</Configuration>

http://git-wip-us.apache.org/repos/asf/calcite/blob/0204f286/elasticsearch5/src/test/resources/zips-mini.json
----------------------------------------------------------------------
diff --git a/elasticsearch5/src/test/resources/zips-mini.json 
b/elasticsearch5/src/test/resources/zips-mini.json
deleted file mode 100644
index 858117a..0000000
--- a/elasticsearch5/src/test/resources/zips-mini.json
+++ /dev/null
@@ -1,149 +0,0 @@
-{ "_id" : "01701", "city" : "FRAMINGHAM", "loc" : [ -71.42548600000001, 
42.300665 ], "pop" : 65046, "state" : "MA" }
-{ "_id" : "02154", "city" : "NORTH WALTHAM", "loc" : [ -71.236497, 42.382492 
], "pop" : 57871, "state" : "MA" }
-{ "_id" : "02401", "city" : "BROCKTON", "loc" : [ -71.03434799999999, 
42.081571 ], "pop" : 59498, "state" : "MA" }
-{ "_id" : "02840", "city" : "MIDDLETOWN", "loc" : [ -71.30347999999999, 
41.504502 ], "pop" : 47687, "state" : "RI" }
-{ "_id" : "02860", "city" : "PAWTUCKET", "loc" : [ -71.39071300000001, 
41.872873 ], "pop" : 45442, "state" : "RI" }
-{ "_id" : "02895", "city" : "NORTH SMITHFIELD", "loc" : [ -71.513683, 41.99948 
], "pop" : 53733, "state" : "RI" }
-{ "_id" : "03060", "city" : "NASHUA", "loc" : [ -71.466684, 42.756395 ], "pop" 
: 41438, "state" : "NH" }
-{ "_id" : "03103", "city" : "MANCHESTER", "loc" : [ -71.449325, 42.965563 ], 
"pop" : 36613, "state" : "NH" }
-{ "_id" : "03301", "city" : "CONCORD", "loc" : [ -71.527734, 43.218525 ], 
"pop" : 34035, "state" : "NH" }
-{ "_id" : "04240", "city" : "LEWISTON", "loc" : [ -70.191619, 44.098538 ], 
"pop" : 40173, "state" : "ME" }
-{ "_id" : "04401", "city" : "BANGOR", "loc" : [ -68.791839, 44.824199 ], "pop" 
: 40434, "state" : "ME" }
-{ "_id" : "05301", "city" : "BRATTLEBORO", "loc" : [ -72.593322, 42.857353 ], 
"pop" : 17522, "state" : "VT" }
-{ "_id" : "05401", "city" : "BURLINGTON", "loc" : [ -73.219875, 44.484023 ], 
"pop" : 39127, "state" : "VT" }
-{ "_id" : "05701", "city" : "RUTLAND", "loc" : [ -72.97077299999999, 43.614131 
], "pop" : 22576, "state" : "VT" }
-{ "_id" : "06010", "city" : "BRISTOL", "loc" : [ -72.930193, 41.682293 ], 
"pop" : 60670, "state" : "CT" }
-{ "_id" : "06450", "city" : "MERIDEN", "loc" : [ -72.799734, 41.533396 ], 
"pop" : 59441, "state" : "CT" }
-{ "_id" : "06902", "city" : "STAMFORD", "loc" : [ -73.53742800000001, 
41.052552 ], "pop" : 54605, "state" : "CT" }
-{ "_id" : "07002", "city" : "BAYONNE", "loc" : [ -74.119169, 40.666399 ], 
"pop" : 61444, "state" : "NJ" }
-{ "_id" : "07087", "city" : "WEEHAWKEN", "loc" : [ -74.030558, 40.768153 ], 
"pop" : 69646, "state" : "NJ" }
-{ "_id" : "07111", "city" : "IRVINGTON", "loc" : [ -74.23127100000001, 40.7261 
], "pop" : 60986, "state" : "NJ" }
-{ "_id" : "10021", "city" : "NEW YORK", "loc" : [ -73.958805, 40.768476 ], 
"pop" : 106564, "state" : "NY" }
-{ "_id" : "11226", "city" : "BROOKLYN", "loc" : [ -73.956985, 40.646694 ], 
"pop" : 111396, "state" : "NY" }
-{ "_id" : "11373", "city" : "JACKSON HEIGHTS", "loc" : [ -73.878551, 40.740388 
], "pop" : 88241, "state" : "NY" }
-{ "_id" : "17042", "city" : "CLEONA", "loc" : [ -76.425895, 40.335912 ], "pop" 
: 61993, "state" : "PA" }
-{ "_id" : "18042", "city" : "FORKS TOWNSHIP", "loc" : [ -75.23582, 40.6867 ], 
"pop" : 65784, "state" : "PA" }
-{ "_id" : "19143", "city" : "PHILADELPHIA", "loc" : [ -75.228819, 39.944815 ], 
"pop" : 80454, "state" : "PA" }
-{ "_id" : "19711", "city" : "NEWARK", "loc" : [ -75.737534, 39.701129 ], "pop" 
: 50573, "state" : "DE" }
-{ "_id" : "19720", "city" : "MANOR", "loc" : [ -75.589938, 39.67703 ], "pop" : 
46906, "state" : "DE" }
-{ "_id" : "19901", "city" : "DOVER", "loc" : [ -75.535983, 39.156639 ], "pop" 
: 46005, "state" : "DE" }
-{ "_id" : "20011", "city" : "WASHINGTON", "loc" : [ -77.020251, 38.951786 ], 
"pop" : 62924, "state" : "DC" }
-{ "_id" : "20301", "city" : "PENTAGON", "loc" : [ -77.038196, 38.891019 ], 
"pop" : 21, "state" : "DC" }
-{ "_id" : "21061", "city" : "GLEN BURNIE", "loc" : [ -76.61886199999999, 
39.158968 ], "pop" : 75692, "state" : "MD" }
-{ "_id" : "21207", "city" : "GWYNN OAK", "loc" : [ -76.734064, 39.329628 ], 
"pop" : 76002, "state" : "MD" }
-{ "_id" : "21215", "city" : "BALTIMORE", "loc" : [ -76.67939699999999, 
39.344572 ], "pop" : 74402, "state" : "MD" }
-{ "_id" : "22901", "city" : "CHARLOTTESVILLE", "loc" : [ -78.490869, 38.054752 
], "pop" : 62708, "state" : "VA" }
-{ "_id" : "23464", "city" : "VIRGINIA BEACH", "loc" : [ -76.175909, 36.797772 
], "pop" : 67276, "state" : "VA" }
-{ "_id" : "23602", "city" : "NEWPORT NEWS", "loc" : [ -76.53212499999999, 
37.131684 ], "pop" : 68525, "state" : "VA" }
-{ "_id" : "25801", "city" : "BECKLEY", "loc" : [ -81.206084, 37.793214 ], 
"pop" : 45196, "state" : "WV" }
-{ "_id" : "26003", "city" : "ELM GROVE", "loc" : [ -80.685126, 40.072736 ], 
"pop" : 49136, "state" : "WV" }
-{ "_id" : "26505", "city" : "STAR CITY", "loc" : [ -79.95422499999999, 
39.633858 ], "pop" : 70185, "state" : "WV" }
-{ "_id" : "27292", "city" : "LEXINGTON", "loc" : [ -80.262049, 35.82306 ], 
"pop" : 69179, "state" : "NC" }
-{ "_id" : "28677", "city" : "STATESVILLE", "loc" : [ -80.894009, 35.799022 ], 
"pop" : 52895, "state" : "NC" }
-{ "_id" : "29150", "city" : "OSWEGO", "loc" : [ -80.32100800000001, 33.928199 
], "pop" : 46394, "state" : "SC" }
-{ "_id" : "29501", "city" : "FLORENCE", "loc" : [ -79.772786, 34.18375 ], 
"pop" : 66990, "state" : "SC" }
-{ "_id" : "29801", "city" : "AIKEN", "loc" : [ -81.71942900000001, 33.553024 
], "pop" : 51233, "state" : "SC" }
-{ "_id" : "30032", "city" : "DECATUR", "loc" : [ -84.263165, 33.740825 ], 
"pop" : 56056, "state" : "GA" }
-{ "_id" : "30906", "city" : "PEACH ORCHARD", "loc" : [ -82.038358, 33.402024 
], "pop" : 58646, "state" : "GA" }
-{ "_id" : "32216", "city" : "JACKSONVILLE", "loc" : [ -81.547387, 30.293907 ], 
"pop" : 58867, "state" : "FL" }
-{ "_id" : "33012", "city" : "HIALEAH", "loc" : [ -80.30589999999999, 25.865395 
], "pop" : 73194, "state" : "FL" }
-{ "_id" : "33311", "city" : "FORT LAUDERDALE", "loc" : [ -80.172786, 26.142104 
], "pop" : 65378, "state" : "FL" }
-{ "_id" : "35215", "city" : "CENTER POINT", "loc" : [ -86.693197, 33.635447 ], 
"pop" : 43862, "state" : "AL" }
-{ "_id" : "35401", "city" : "TUSCALOOSA", "loc" : [ -87.56266599999999, 
33.196891 ], "pop" : 42124, "state" : "AL" }
-{ "_id" : "35901", "city" : "SOUTHSIDE", "loc" : [ -86.010279, 33.997248 ], 
"pop" : 44165, "state" : "AL" }
-{ "_id" : "37042", "city" : "CLARKSVILLE", "loc" : [ -87.418621, 36.585315 ], 
"pop" : 43296, "state" : "TN" }
-{ "_id" : "37211", "city" : "NASHVILLE", "loc" : [ -86.72403799999999, 
36.072486 ], "pop" : 51478, "state" : "TN" }
-{ "_id" : "38109", "city" : "MEMPHIS", "loc" : [ -90.073238, 35.042538 ], 
"pop" : 60508, "state" : "TN" }
-{ "_id" : "39180", "city" : "VICKSBURG", "loc" : [ -90.85065, 32.325824 ], 
"pop" : 46968, "state" : "MS" }
-{ "_id" : "39401", "city" : "HATTIESBURG", "loc" : [ -89.306471, 31.314553 ], 
"pop" : 41866, "state" : "MS" }
-{ "_id" : "39440", "city" : "LAUREL", "loc" : [ -89.13115500000001, 31.705444 
], "pop" : 45040, "state" : "MS" }
-{ "_id" : "40214", "city" : "LOUISVILLE", "loc" : [ -85.77802699999999, 
38.159318 ], "pop" : 42198, "state" : "KY" }
-{ "_id" : "40216", "city" : "SHIVELY", "loc" : [ -85.831771, 38.186138 ], 
"pop" : 41719, "state" : "KY" }
-{ "_id" : "40601", "city" : "HATTON", "loc" : [ -84.88061, 38.192831 ], "pop" 
: 46563, "state" : "KY" }
-{ "_id" : "44035", "city" : "ELYRIA", "loc" : [ -82.10508799999999, 41.372353 
], "pop" : 66674, "state" : "OH" }
-{ "_id" : "44060", "city" : "MENTOR", "loc" : [ -81.342133, 41.689468 ], "pop" 
: 60109, "state" : "OH" }
-{ "_id" : "44107", "city" : "EDGEWATER", "loc" : [ -81.79714300000001, 
41.482654 ], "pop" : 59702, "state" : "OH" }
-{ "_id" : "46360", "city" : "MICHIGAN CITY", "loc" : [ -86.869899, 41.698031 
], "pop" : 55392, "state" : "IN" }
-{ "_id" : "47130", "city" : "JEFFERSONVILLE", "loc" : [ -85.735885, 38.307767 
], "pop" : 56543, "state" : "IN" }
-{ "_id" : "47906", "city" : "WEST LAFAYETTE", "loc" : [ -86.923661, 40.444025 
], "pop" : 54702, "state" : "IN" }
-{ "_id" : "48180", "city" : "TAYLOR", "loc" : [ -83.267269, 42.231738 ], "pop" 
: 70811, "state" : "MI" }
-{ "_id" : "48185", "city" : "WESTLAND", "loc" : [ -83.374908, 42.318882 ], 
"pop" : 84712, "state" : "MI" }
-{ "_id" : "48227", "city" : "DETROIT", "loc" : [ -83.193732, 42.388303 ], 
"pop" : 68390, "state" : "MI" }
-{ "_id" : "50010", "city" : "AMES", "loc" : [ -93.639398, 42.029859 ], "pop" : 
52105, "state" : "IA" }
-{ "_id" : "50317", "city" : "PLEASANT HILL", "loc" : [ -93.549446, 41.612499 
], "pop" : 39883, "state" : "IA" }
-{ "_id" : "52001", "city" : "DUBUQUE", "loc" : [ -90.68191400000001, 42.514977 
], "pop" : 41934, "state" : "IA" }
-{ "_id" : "53209", "city" : "MILWAUKEE", "loc" : [ -87.947834, 43.118765 ], 
"pop" : 51008, "state" : "WI" }
-{ "_id" : "54401", "city" : "WAUSAU", "loc" : [ -89.633955, 44.963433 ], "pop" 
: 51083, "state" : "WI" }
-{ "_id" : "54901", "city" : "OSHKOSH", "loc" : [ -88.54363499999999, 44.021962 
], "pop" : 57187, "state" : "WI" }
-{ "_id" : "55106", "city" : "SAINT PAUL", "loc" : [ -93.048817, 44.968384 ], 
"pop" : 47905, "state" : "MN" }
-{ "_id" : "55112", "city" : "NEW BRIGHTON", "loc" : [ -93.199691, 45.074129 ], 
"pop" : 44128, "state" : "MN" }
-{ "_id" : "55337", "city" : "BURNSVILLE", "loc" : [ -93.275283, 44.76086 ], 
"pop" : 51421, "state" : "MN" }
-{ "_id" : "57103", "city" : "SIOUX FALLS", "loc" : [ -96.686415, 43.537386 ], 
"pop" : 32508, "state" : "SD" }
-{ "_id" : "57401", "city" : "ABERDEEN", "loc" : [ -98.485642, 45.466109 ], 
"pop" : 28786, "state" : "SD" }
-{ "_id" : "57701", "city" : "ROCKERVILLE", "loc" : [ -103.200259, 44.077041 ], 
"pop" : 45328, "state" : "SD" }
-{ "_id" : "58103", "city" : "FARGO", "loc" : [ -96.812252, 46.856406 ], "pop" 
: 38483, "state" : "ND" }
-{ "_id" : "58501", "city" : "BISMARCK", "loc" : [ -100.774755, 46.823448 ], 
"pop" : 36602, "state" : "ND" }
-{ "_id" : "58701", "city" : "MINOT", "loc" : [ -101.298476, 48.22914 ], "pop" 
: 42195, "state" : "ND" }
-{ "_id" : "59102", "city" : "BILLINGS", "loc" : [ -108.572662, 45.781265 ], 
"pop" : 40121, "state" : "MT" }
-{ "_id" : "59601", "city" : "HELENA", "loc" : [ -112.021283, 46.613066 ], 
"pop" : 40102, "state" : "MT" }
-{ "_id" : "59801", "city" : "MISSOULA", "loc" : [ -114.025207, 46.856274 ], 
"pop" : 33811, "state" : "MT" }
-{ "_id" : "60623", "city" : "CHICAGO", "loc" : [ -87.7157, 41.849015 ], "pop" 
: 112047, "state" : "IL" }
-{ "_id" : "60634", "city" : "NORRIDGE", "loc" : [ -87.796054, 41.945213 ], 
"pop" : 69160, "state" : "IL" }
-{ "_id" : "60650", "city" : "CICERO", "loc" : [ -87.76008, 41.84776 ], "pop" : 
67670, "state" : "IL" }
-{ "_id" : "63031", "city" : "FLORISSANT", "loc" : [ -90.340097, 38.806865 ], 
"pop" : 52659, "state" : "MO" }
-{ "_id" : "63116", "city" : "SAINT LOUIS", "loc" : [ -90.26254299999999, 
38.581356 ], "pop" : 49014, "state" : "MO" }
-{ "_id" : "63136", "city" : "JENNINGS", "loc" : [ -90.260189, 38.738878 ], 
"pop" : 54994, "state" : "MO" }
-{ "_id" : "66502", "city" : "MANHATTAN", "loc" : [ -96.585776, 39.193757 ], 
"pop" : 50178, "state" : "KS" }
-{ "_id" : "67212", "city" : "WICHITA", "loc" : [ -97.438344, 37.700683 ], 
"pop" : 41349, "state" : "KS" }
-{ "_id" : "67401", "city" : "BAVARIA", "loc" : [ -97.60878700000001, 38.823802 
], "pop" : 45208, "state" : "KS" }
-{ "_id" : "68104", "city" : "OMAHA", "loc" : [ -95.999888, 41.29186 ], "pop" : 
35325, "state" : "NE" }
-{ "_id" : "68502", "city" : "LINCOLN", "loc" : [ -96.693763, 40.789282 ], 
"pop" : 27576, "state" : "NE" }
-{ "_id" : "68847", "city" : "KEARNEY", "loc" : [ -99.077883, 40.713608 ], 
"pop" : 28674, "state" : "NE" }
-{ "_id" : "70072", "city" : "MARRERO", "loc" : [ -90.110462, 29.859756 ], 
"pop" : 58905, "state" : "LA" }
-{ "_id" : "70117", "city" : "NEW ORLEANS", "loc" : [ -90.03124, 29.970298 ], 
"pop" : 56494, "state" : "LA" }
-{ "_id" : "70560", "city" : "NEW IBERIA", "loc" : [ -91.819959, 30.001027 ], 
"pop" : 56105, "state" : "LA" }
-{ "_id" : "72032", "city" : "CONWAY", "loc" : [ -92.423574, 35.084199 ], "pop" 
: 43236, "state" : "AR" }
-{ "_id" : "72076", "city" : "GRAVEL RIDGE", "loc" : [ -92.13043500000001, 
34.881985 ], "pop" : 37428, "state" : "AR" }
-{ "_id" : "72401", "city" : "JONESBORO", "loc" : [ -90.69652600000001, 
35.833016 ], "pop" : 53532, "state" : "AR" }
-{ "_id" : "73034", "city" : "EDMOND", "loc" : [ -97.47983499999999, 35.666483 
], "pop" : 43814, "state" : "OK" }
-{ "_id" : "73505", "city" : "LAWTON", "loc" : [ -98.455234, 34.617939 ], "pop" 
: 45542, "state" : "OK" }
-{ "_id" : "74801", "city" : "SHAWNEE", "loc" : [ -96.931321, 35.34907 ], "pop" 
: 40076, "state" : "OK" }
-{ "_id" : "78207", "city" : "SAN ANTONIO", "loc" : [ -98.52596699999999, 
29.422855 ], "pop" : 58355, "state" : "TX" }
-{ "_id" : "78521", "city" : "BROWNSVILLE", "loc" : [ -97.461236, 25.922103 ], 
"pop" : 79463, "state" : "TX" }
-{ "_id" : "78572", "city" : "ALTON", "loc" : [ -98.342647, 26.24153 ], "pop" : 
67604, "state" : "TX" }
-{ "_id" : "80123", "city" : "BOW MAR", "loc" : [ -105.07766, 39.596854 ], 
"pop" : 59418, "state" : "CO" }
-{ "_id" : "80221", "city" : "FEDERAL HEIGHTS", "loc" : [ -105.007985, 
39.840562 ], "pop" : 54069, "state" : "CO" }
-{ "_id" : "80631", "city" : "GARDEN CITY", "loc" : [ -104.704756, 40.413968 ], 
"pop" : 53905, "state" : "CO" }
-{ "_id" : "82001", "city" : "CHEYENNE", "loc" : [ -104.796234, 41.143719 ], 
"pop" : 33107, "state" : "WY" }
-{ "_id" : "82070", "city" : "LARAMIE", "loc" : [ -105.581146, 41.312907 ], 
"pop" : 29327, "state" : "WY" }
-{ "_id" : "82716", "city" : "GILLETTE", "loc" : [ -105.497442, 44.282009 ], 
"pop" : 25968, "state" : "WY" }
-{ "_id" : "83301", "city" : "TWIN FALLS", "loc" : [ -114.469265, 42.556495 ], 
"pop" : 34539, "state" : "ID" }
-{ "_id" : "83704", "city" : "BOISE", "loc" : [ -116.295099, 43.633001 ], "pop" 
: 40912, "state" : "ID" }
-{ "_id" : "83814", "city" : "COEUR D ALENE", "loc" : [ -116.784976, 47.692841 
], "pop" : 33589, "state" : "ID" }
-{ "_id" : "84118", "city" : "KEARNS", "loc" : [ -111.98521, 40.652759 ], "pop" 
: 55999, "state" : "UT" }
-{ "_id" : "84120", "city" : "WEST VALLEY CITY", "loc" : [ -112.009783, 
40.68708 ], "pop" : 52854, "state" : "UT" }
-{ "_id" : "84604", "city" : "PROVO", "loc" : [ -111.654906, 40.260681 ], "pop" 
: 43841, "state" : "UT" }
-{ "_id" : "85023", "city" : "PHOENIX", "loc" : [ -112.111838, 33.632383 ], 
"pop" : 54668, "state" : "AZ" }
-{ "_id" : "85204", "city" : "MESA", "loc" : [ -111.789554, 33.399168 ], "pop" 
: 55180, "state" : "AZ" }
-{ "_id" : "85364", "city" : "YUMA", "loc" : [ -114.642362, 32.701507 ], "pop" 
: 57131, "state" : "AZ" }
-{ "_id" : "87501", "city" : "POJOAQUE VALLEY", "loc" : [ -105.974818, 
35.702472 ], "pop" : 51715, "state" : "NM" }
-{ "_id" : "88001", "city" : "LAS CRUCES", "loc" : [ -106.746034, 32.321641 ], 
"pop" : 57502, "state" : "NM" }
-{ "_id" : "88201", "city" : "ROSWELL", "loc" : [ -104.525857, 33.388504 ], 
"pop" : 53644, "state" : "NM" }
-{ "_id" : "89031", "city" : "NORTH LAS VEGAS", "loc" : [ -115.124832, 
36.206228 ], "pop" : 48113, "state" : "NV" }
-{ "_id" : "89115", "city" : "LAS VEGAS", "loc" : [ -115.067062, 36.215818 ], 
"pop" : 51532, "state" : "NV" }
-{ "_id" : "89502", "city" : "RENO", "loc" : [ -119.776395, 39.497239 ], "pop" 
: 38332, "state" : "NV" }
-{ "_id" : "90011", "city" : "LOS ANGELES", "loc" : [ -118.258189, 34.007856 ], 
"pop" : 96074, "state" : "CA" }
-{ "_id" : "90201", "city" : "BELL GARDENS", "loc" : [ -118.17205, 33.969177 ], 
"pop" : 99568, "state" : "CA" }
-{ "_id" : "90650", "city" : "NORWALK", "loc" : [ -118.081767, 33.90564 ], 
"pop" : 94188, "state" : "CA" }
-{ "_id" : "96734", "city" : "KAILUA", "loc" : [ -157.744781, 21.406262 ], 
"pop" : 53403, "state" : "HI" }
-{ "_id" : "96744", "city" : "KANEOHE", "loc" : [ -157.811543, 21.422819 ], 
"pop" : 55236, "state" : "HI" }
-{ "_id" : "96818", "city" : "HONOLULU", "loc" : [ -157.926925, 21.353173 ], 
"pop" : 62915, "state" : "HI" }
-{ "_id" : "97005", "city" : "BEAVERTON", "loc" : [ -122.805395, 45.475035 ], 
"pop" : 46660, "state" : "OR" }
-{ "_id" : "97206", "city" : "PORTLAND", "loc" : [ -122.59727, 45.483995 ], 
"pop" : 43134, "state" : "OR" }
-{ "_id" : "97301", "city" : "SALEM", "loc" : [ -122.979692, 44.926039 ], "pop" 
: 48007, "state" : "OR" }
-{ "_id" : "98031", "city" : "KENT", "loc" : [ -122.193184, 47.388004 ], "pop" 
: 50515, "state" : "WA" }
-{ "_id" : "98059", "city" : "RENTON", "loc" : [ -122.151178, 47.467383 ], 
"pop" : 48197, "state" : "WA" }
-{ "_id" : "98310", "city" : "BREMERTON", "loc" : [ -122.629913, 47.601916 ], 
"pop" : 49057, "state" : "WA" }
-{ "_id" : "99504", "city" : "ANCHORAGE", "loc" : [ -149.74467, 61.203696 ], 
"pop" : 32383, "state" : "AK" }
-{ "_id" : "99709", "city" : "FAIRBANKS", "loc" : [ -147.846917, 64.85437 ], 
"pop" : 23238, "state" : "AK" }
-{ "_id" : "99801", "city" : "JUNEAU", "loc" : [ -134.529429, 58.362767 ], 
"pop" : 24947, "state" : "AK" }

http://git-wip-us.apache.org/repos/asf/calcite/blob/0204f286/pom.xml
----------------------------------------------------------------------
diff --git a/pom.xml b/pom.xml
index bea1327..60d4daa 100644
--- a/pom.xml
+++ b/pom.xml
@@ -67,8 +67,7 @@ limitations under the License.
     <commons-lang3.version>3.2</commons-lang3.version>
     <commons-logging.version>1.1.3</commons-logging.version>
     <commons-pool2.version>2.5.0</commons-pool2.version>
-    
<elasticsearch-java-driver.version>2.4.6</elasticsearch-java-driver.version>
-    
<elasticsearch5-java-driver.version>5.6.9</elasticsearch5-java-driver.version>
+    <elasticsearch.version>6.2.4</elasticsearch.version>
     <esri-geometry-api.version>2.0.0</esri-geometry-api.version>
     <findbugs.version>3.0.1</findbugs.version>
     <fmpp-maven-plugin.version>1.0</fmpp-maven-plugin.version>
@@ -89,7 +88,6 @@ limitations under the License.
     <!-- Require Hadoop 2.7.4+ due to HADOOP-14586 -->
     <hadoop.version>2.7.5</hadoop.version>
     <hamcrest.version>1.3</hamcrest.version>
-    <hppc.version>0.7.1</hppc.version>
     <hsqldb.version>2.4.0</hsqldb.version>
     <httpclient.version>4.5.2</httpclient.version>
     <httpcore.version>4.4.4</httpcore.version>
@@ -145,7 +143,7 @@ limitations under the License.
       org.apache.calcite.sql.parser.impl,
       org.apache.calcite.sql.parser.parserextensiontesting,
       org.apache.calcite.piglet.parser,
-      org.openjdk.jmh,org.apache.calcite.adapter.elasticsearch2
+      org.openjdk.jmh
     </maven-javadoc-plugin.excludePackageNames>
     
<maven-javadoc-plugin.link>https://docs.oracle.com/javase/9/docs/api/</maven-javadoc-plugin.link>
   </properties>
@@ -167,8 +165,7 @@ limitations under the License.
     <module>cassandra</module>
     <module>core</module>
     <module>druid</module>
-    <module>elasticsearch2</module>
-    <module>elasticsearch5</module>
+    <module>elasticsearch</module>
     <module>example</module>
     <module>file</module>
     <module>geode</module>
@@ -240,11 +237,6 @@ limitations under the License.
         <version>${commons-pool2.version}</version>
       </dependency>
       <dependency>
-        <groupId>com.carrotsearch</groupId>
-        <artifactId>hppc</artifactId>
-        <version>${hppc.version}</version>
-      </dependency>
-      <dependency>
         <groupId>com.datastax.cassandra</groupId>
         <artifactId>cassandra-driver-core</artifactId>
         <version>${cassandra-driver-core.version}</version>
@@ -474,12 +466,7 @@ limitations under the License.
       <dependency>
         <groupId>org.elasticsearch</groupId>
         <artifactId>elasticsearch</artifactId>
-        <version>${elasticsearch-java-driver.version}</version>
-      </dependency>
-      <dependency>
-        <groupId>org.elasticsearch.module</groupId>
-        <artifactId>lang-groovy</artifactId>
-        <version>${elasticsearch-java-driver.version}</version>
+        <version>${elasticsearch.version}</version>
       </dependency>
       <dependency>
         <groupId>org.mongodb</groupId>

Reply via email to