Updates to fix SQL Handler issues.  Add simple full query jdbc test execution 
(no results checking)


Project: http://git-wip-us.apache.org/repos/asf/incubator-drill/repo
Commit: http://git-wip-us.apache.org/repos/asf/incubator-drill/commit/89eb9457
Tree: http://git-wip-us.apache.org/repos/asf/incubator-drill/tree/89eb9457
Diff: http://git-wip-us.apache.org/repos/asf/incubator-drill/diff/89eb9457

Branch: refs/heads/master
Commit: 89eb9457420ef444aafa867d77453bb293ae6ec8
Parents: d3b2f9f
Author: Jacques Nadeau <[email protected]>
Authored: Sun Sep 1 08:38:41 2013 -0700
Committer: Jacques Nadeau <[email protected]>
Committed: Sun Sep 1 15:16:22 2013 -0700

----------------------------------------------------------------------
 .../org/apache/drill/jdbc/DrillHandler.java     | 30 +++++++++++---------
 .../apache/drill/optiq/DrillImplementor.java    |  2 +-
 .../apache/drill/jdbc/test/FullEngineTest.java  | 16 ++++++-----
 .../org/apache/drill/jdbc/test/JdbcAssert.java  | 13 ++++++++-
 4 files changed, 38 insertions(+), 23 deletions(-)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/89eb9457/sandbox/prototype/sqlparser/src/main/java/org/apache/drill/jdbc/DrillHandler.java
----------------------------------------------------------------------
diff --git 
a/sandbox/prototype/sqlparser/src/main/java/org/apache/drill/jdbc/DrillHandler.java
 
b/sandbox/prototype/sqlparser/src/main/java/org/apache/drill/jdbc/DrillHandler.java
index 6cc25e0..380993b 100644
--- 
a/sandbox/prototype/sqlparser/src/main/java/org/apache/drill/jdbc/DrillHandler.java
+++ 
b/sandbox/prototype/sqlparser/src/main/java/org/apache/drill/jdbc/DrillHandler.java
@@ -68,20 +68,6 @@ public class DrillHandler extends HandlerImpl {
         String enginesData = 
Resources.toString(Resources.getResource("storage-engines.json"), 
Charsets.UTF_8);
 
         StorageEngines engines = config.getMapper().readValue(enginesData, 
StorageEngines.class);
-        MutableSchema rootSchema = connection.getRootSchema();
-
-        for (Map.Entry<String, StorageEngineConfig> entry : engines) {
-          SchemaProvider provider = 
registry.getSchemaProvider(entry.getValue());
-          FileSystemSchema schema = new FileSystemSchema(client, 
entry.getValue(), provider,
-              rootSchema.getTypeFactory(), rootSchema, entry.getKey(), 
rootSchema.getExpression(),
-              rootSchema.getQueryProvider());
-          rootSchema.addSchema(entry.getKey(), schema);
-        }
-
-        rootSchema.addSchema(
-            "--FAKE--",
-            new FakeSchema(rootSchema, rootSchema.getQueryProvider(), 
rootSchema.getTypeFactory(), "fake", rootSchema
-                .getExpression()));
 
         if (zk != null) {
           coordinator = new ZKClusterCoordinator(config, zk);
@@ -100,6 +86,22 @@ public class DrillHandler extends HandlerImpl {
           cl.connect();
           client = cl;
         }
+        
+        MutableSchema rootSchema = connection.getRootSchema();
+
+        for (Map.Entry<String, StorageEngineConfig> entry : engines) {
+          SchemaProvider provider = 
registry.getSchemaProvider(entry.getValue());
+          FileSystemSchema schema = new FileSystemSchema(client, 
entry.getValue(), provider,
+              rootSchema.getTypeFactory(), rootSchema, entry.getKey(), 
rootSchema.getExpression(),
+              rootSchema.getQueryProvider());
+          rootSchema.addSchema(entry.getKey(), schema);
+        }
+
+        rootSchema.addSchema(
+            "--FAKE--",
+            new FakeSchema(rootSchema, rootSchema.getQueryProvider(), 
rootSchema.getTypeFactory(), "fake", rootSchema
+                .getExpression()));
+        
       } catch (Exception ex) {
         throw new SQLException("Failure trying to connect to Drill.", ex);
       }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/89eb9457/sandbox/prototype/sqlparser/src/main/java/org/apache/drill/optiq/DrillImplementor.java
----------------------------------------------------------------------
diff --git 
a/sandbox/prototype/sqlparser/src/main/java/org/apache/drill/optiq/DrillImplementor.java
 
b/sandbox/prototype/sqlparser/src/main/java/org/apache/drill/optiq/DrillImplementor.java
index 27b9630..0a9e28c 100644
--- 
a/sandbox/prototype/sqlparser/src/main/java/org/apache/drill/optiq/DrillImplementor.java
+++ 
b/sandbox/prototype/sqlparser/src/main/java/org/apache/drill/optiq/DrillImplementor.java
@@ -91,7 +91,7 @@ public class DrillImplementor {
   }
   
   public void registerSource(DrillTable table){
-    if(tables.add(table)){
+    if(!table.isRefEngine() && tables.add(table)){
       sourcesNode.put(table.getStorageEngineName(), 
mapper.convertValue(table.getStorageEngineConfig(), JsonNode.class));  
     }
   }

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/89eb9457/sandbox/prototype/sqlparser/src/test/java/org/apache/drill/jdbc/test/FullEngineTest.java
----------------------------------------------------------------------
diff --git 
a/sandbox/prototype/sqlparser/src/test/java/org/apache/drill/jdbc/test/FullEngineTest.java
 
b/sandbox/prototype/sqlparser/src/test/java/org/apache/drill/jdbc/test/FullEngineTest.java
index c3bd51d..e88dc0d 100644
--- 
a/sandbox/prototype/sqlparser/src/test/java/org/apache/drill/jdbc/test/FullEngineTest.java
+++ 
b/sandbox/prototype/sqlparser/src/test/java/org/apache/drill/jdbc/test/FullEngineTest.java
@@ -13,7 +13,7 @@ import org.junit.rules.Timeout;
 import com.google.common.base.Charsets;
 import com.google.common.io.Resources;
 
-@Ignore
+
 public class FullEngineTest {
   static final org.slf4j.Logger logger = 
org.slf4j.LoggerFactory.getLogger(FullEngineTest.class);
 
@@ -25,16 +25,18 @@ public class FullEngineTest {
   // Set a timeout unless we're debugging.
   @Rule public TestRule globalTimeout = IS_DEBUG ? new TestName() : new 
Timeout(10000);
   
-  @BeforeClass
-  public static void setupFixtures() throws IOException {
-    MODEL_FULL_ENGINE = 
Resources.toString(Resources.getResource("full-model.json"), Charsets.UTF_8);
-  }
+//  @BeforeClass
+//  public static void setupFixtures() throws IOException {
+//    MODEL_FULL_ENGINE = 
Resources.toString(Resources.getResource("full-model.json"), Charsets.UTF_8);
+//  }
+  
+  
   
   @Test
   public void fullSelectStarEngine() throws Exception {
-    JdbcAssert.withModel(MODEL_FULL_ENGINE, "DONUTS")
+    JdbcAssert.withFull("parquet-local")
     // .sql("select cast(_MAP['red'] as bigint) + 1 as red_inc from donuts ")
-        .sql("select _MAP['d'] as d, _MAP['b'] as b from 
\"parquet-local\".\"/tmp/parquet_test_file_many_types\" ").displayResults(50);
+        .sql("select _MAP['d'] as d, _MAP['b'] as b from 
\"/tmp/parquet_test_file_many_types\" ").displayResults(50);
   }
 
 //  @Test

http://git-wip-us.apache.org/repos/asf/incubator-drill/blob/89eb9457/sandbox/prototype/sqlparser/src/test/java/org/apache/drill/jdbc/test/JdbcAssert.java
----------------------------------------------------------------------
diff --git 
a/sandbox/prototype/sqlparser/src/test/java/org/apache/drill/jdbc/test/JdbcAssert.java
 
b/sandbox/prototype/sqlparser/src/test/java/org/apache/drill/jdbc/test/JdbcAssert.java
index d3927f4..54af383 100644
--- 
a/sandbox/prototype/sqlparser/src/test/java/org/apache/drill/jdbc/test/JdbcAssert.java
+++ 
b/sandbox/prototype/sqlparser/src/test/java/org/apache/drill/jdbc/test/JdbcAssert.java
@@ -47,6 +47,12 @@ public class JdbcAssert {
     return new ModelAndSchema(info);
   }
 
+  public static ModelAndSchema withFull(String schema) {
+    final Properties info = new Properties();
+    info.setProperty("schema", schema);
+    return new ModelAndSchema(info, false);
+  }
+
   
   static String toString(ResultSet resultSet, int expectedRecordCount) throws 
SQLException {
     StringBuilder buf = new StringBuilder();
@@ -109,11 +115,16 @@ public class JdbcAssert {
     private final ConnectionFactory connectionFactory;
 
     public ModelAndSchema(Properties info) {
+      this(info, true);
+    }
+    
+    public ModelAndSchema(Properties info, final boolean ref) {
       this.info = info;
       this.connectionFactory = new ConnectionFactory() {
         public Connection createConnection() throws Exception {
           Class.forName("org.apache.drill.jdbc.Driver");
-          return DriverManager.getConnection("jdbc:drill:ref=true", 
ModelAndSchema.this.info);
+          String connect = ref ? "jdbc:drill:ref=true" : "jdbc:drill:";
+          return DriverManager.getConnection(connect, 
ModelAndSchema.this.info);  
         }
       };
     }

Reply via email to