[ 
https://issues.apache.org/jira/browse/TAJO-1730?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14730480#comment-14730480
 ] 

ASF GitHub Bot commented on TAJO-1730:
--------------------------------------

Github user hyunsik commented on a diff in the pull request:

    https://github.com/apache/tajo/pull/719#discussion_r38729285
  
    --- Diff: 
tajo-storage/tajo-storage-jdbc/src/main/java/org/apache/tajo/storage/jdbc/JdbcTablespace.java
 ---
    @@ -0,0 +1,161 @@
    +/*
    + * 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.tajo.storage.jdbc;
    +
    +import com.google.common.collect.Lists;
    +import net.minidev.json.JSONObject;
    +import org.apache.hadoop.fs.Path;
    +import org.apache.tajo.ExecutionBlockId;
    +import org.apache.tajo.OverridableConf;
    +import org.apache.tajo.catalog.*;
    +import org.apache.tajo.exception.NotImplementedException;
    +import org.apache.tajo.exception.TajoInternalError;
    +import org.apache.tajo.exception.TajoRuntimeException;
    +import org.apache.tajo.exception.UnsupportedException;
    +import org.apache.tajo.plan.LogicalPlan;
    +import org.apache.tajo.plan.expr.EvalNode;
    +import org.apache.tajo.plan.logical.LogicalNode;
    +import org.apache.tajo.storage.*;
    +import org.apache.tajo.storage.fragment.Fragment;
    +
    +import javax.annotation.Nullable;
    +import java.io.IOException;
    +import java.net.URI;
    +import java.sql.Connection;
    +import java.sql.DatabaseMetaData;
    +import java.sql.DriverManager;
    +import java.sql.SQLException;
    +import java.util.List;
    +
    +/**
    + * JDBC Tablespace
    + */
    +public abstract class JdbcTablespace extends Tablespace {
    +
    +  static final StorageProperty STORAGE_PROPERTY = new 
StorageProperty("rowstore", false, true, false, true);
    +  static final FormatProperty  FORMAT_PROPERTY = new FormatProperty(false, 
false, false);
    +  public static final String MAPPED_DATABASE_CONFIG_KEY = 
"mapped_database";
    +
    +  private Connection conn;
    +
    +  public JdbcTablespace(String name, URI uri, JSONObject config) {
    +    super(name, uri, config);
    +  }
    +
    +  @Override
    +  protected void storageInit() throws IOException {
    +    try {
    +      this.conn = DriverManager.getConnection(uri.toASCIIString());
    +    } catch (SQLException e) {
    +      throw new IOException(e);
    +    }
    +  }
    +
    +  @Override
    +  public long getTableVolume(URI uri) throws UnsupportedException {
    +    throw new UnsupportedException();
    +  }
    +
    +  @Override
    +  public URI getTableUri(String databaseName, String tableName) {
    +    return URI.create(getUri() + "&table=" + tableName);
    +  }
    +
    +  @Override
    +  public List<Fragment> getSplits(String inputSourceId,
    +                                  TableDesc tableDesc,
    +                                  @Nullable EvalNode filterCondition) 
throws IOException {
    +    return Lists.newArrayList((Fragment)new JdbcFragment(inputSourceId, 
tableDesc.getUri().toASCIIString()));
    +  }
    +
    +  @Override
    +  public StorageProperty getProperty() {
    +    return STORAGE_PROPERTY;
    +  }
    +
    +  @Override
    +  public FormatProperty getFormatProperty(TableMeta meta) {
    +    return FORMAT_PROPERTY;
    +  }
    +
    +  @Override
    +  public void close() {
    --- End diff --
    
    fixed.


> JDBC Tablespace support
> -----------------------
>
>                 Key: TAJO-1730
>                 URL: https://issues.apache.org/jira/browse/TAJO-1730
>             Project: Tajo
>          Issue Type: Improvement
>          Components: Storage
>            Reporter: Hyunsik Choi
>            Assignee: Hyunsik Choi
>             Fix For: 0.11.0
>
>         Attachments: TAJO-1730.patch, TAJO-1730_2.patch, TAJO-1730_3.patch
>
>
> The main objective of this issue is to implement JDBC-based storage and its 
> Tablespace implementation.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to