You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@gearpump.apache.org by ma...@apache.org on 2017/07/09 00:18:24 UTC

[11/20] incubator-gearpump git commit: Implement CalciteConnection

Implement CalciteConnection


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

Branch: refs/heads/sql
Commit: c0c38e3642452fa270b4490cd12836792154d3e7
Parents: feaf04b
Author: Buddhi Ayesha <bu...@cse.mrt.ac.lk>
Authored: Thu Jun 8 18:31:42 2017 +0530
Committer: manuzhang <ow...@gmail.com>
Committed: Sun Jul 9 07:52:47 2017 +0800

----------------------------------------------------------------------
 .../gearpump/experiments/sql/Connection.scala   | 157 +++++++++++++++++++
 1 file changed, 157 insertions(+)
----------------------------------------------------------------------


http://git-wip-us.apache.org/repos/asf/incubator-gearpump/blob/c0c38e36/experiments/sql/src/main/scala/org/apache/gearpump/experiments/sql/Connection.scala
----------------------------------------------------------------------
diff --git a/experiments/sql/src/main/scala/org/apache/gearpump/experiments/sql/Connection.scala b/experiments/sql/src/main/scala/org/apache/gearpump/experiments/sql/Connection.scala
new file mode 100644
index 0000000..0c4658c
--- /dev/null
+++ b/experiments/sql/src/main/scala/org/apache/gearpump/experiments/sql/Connection.scala
@@ -0,0 +1,157 @@
+package org.apache.gearpump.experiments.sql
+
+import java.lang.reflect.Type
+import java.sql.{Blob, CallableStatement, Clob, DatabaseMetaData, NClob, PreparedStatement, SQLException, SQLWarning, SQLXML, Savepoint, Statement, Struct}
+import java.util.Properties
+import java.{sql, util}
+import java.util.concurrent.Executor
+
+import org.apache.calcite.adapter.java.JavaTypeFactory
+import org.apache.calcite.config.CalciteConnectionConfig
+import org.apache.calcite.jdbc.CalciteConnection
+import org.apache.calcite.linq4j.{Enumerator, Queryable}
+import org.apache.calcite.linq4j.tree.Expression
+import org.apache.calcite.schema.SchemaPlus
+import org.apache.log4j.Logger
+
+/**
+  * Created by Buddhi on 6/8/2017.
+  */
+class Connection extends CalciteConnection {
+
+  import org.apache.calcite.schema.SchemaPlus
+  import org.apache.calcite.tools.Frameworks
+
+  private val logger = Logger.getLogger(classOf[Nothing])
+  private val rootSchema = Frameworks.createRootSchema(true)
+  private var schema = ""
+
+  @throws[SQLException]
+  override def setSchema(s: String): Unit = {
+    schema = s
+  }
+
+  override def getSchema: String = schema
+
+  override def getTypeFactory: JavaTypeFactory = null
+
+  override def getProperties: Properties = null
+
+  override def getRootSchema: SchemaPlus = rootSchema
+
+  override def config(): CalciteConnectionConfig = null
+
+  override def commit(): Unit = null
+
+  override def getHoldability: Int = 0
+
+  override def setCatalog(catalog: String): Unit = null
+
+  override def setHoldability(holdability: Int): Unit = null
+
+  override def prepareStatement(sql: String): PreparedStatement = null
+
+  override def prepareStatement(sql: String, resultSetType: Int, resultSetConcurrency: Int): PreparedStatement = null
+
+  override def prepareStatement(sql: String, resultSetType: Int, resultSetConcurrency: Int, resultSetHoldability: Int): PreparedStatement = null
+
+  override def prepareStatement(sql: String, autoGeneratedKeys: Int): PreparedStatement = null
+
+  override def prepareStatement(sql: String, columnIndexes: Array[Int]): PreparedStatement = null
+
+  override def prepareStatement(sql: String, columnNames: Array[String]): PreparedStatement = null
+
+  override def createClob(): Clob = null
+
+  override def setClientInfo(name: String, value: String): Unit = null
+
+  override def setClientInfo(properties: Properties): Unit = null
+
+  override def createSQLXML(): SQLXML = null
+
+  override def getCatalog: String = null
+
+  override def createBlob(): Blob = null
+
+  override def createStatement(): Statement = null
+
+  override def createStatement(resultSetType: Int, resultSetConcurrency: Int): Statement = null
+
+  override def createStatement(resultSetType: Int, resultSetConcurrency: Int, resultSetHoldability: Int): Statement = null
+
+  override def abort(executor: Executor): Unit = null
+
+  override def setAutoCommit(autoCommit: Boolean): Unit = null
+
+  override def getMetaData: DatabaseMetaData = null
+
+  override def setReadOnly(readOnly: Boolean): Unit = null
+
+  override def prepareCall(sql: String): CallableStatement = null
+
+  override def prepareCall(sql: String, resultSetType: Int, resultSetConcurrency: Int): CallableStatement = null
+
+  override def prepareCall(sql: String, resultSetType: Int, resultSetConcurrency: Int, resultSetHoldability: Int): CallableStatement = null
+
+  override def setTransactionIsolation(level: Int): Unit = null
+
+  override def getWarnings: SQLWarning = null
+
+  override def releaseSavepoint(savepoint: Savepoint): Unit = null
+
+  override def nativeSQL(sql: String): String = null
+
+  override def isReadOnly: Boolean = null
+
+  override def createArrayOf(typeName: String, elements: Array[AnyRef]): sql.Array = null
+
+  override def setSavepoint(): Savepoint = null
+
+  override def setSavepoint(name: String): Savepoint = null
+
+  override def close(): Unit = null
+
+  override def createNClob(): NClob = null
+
+  override def rollback(): Unit = null
+
+  override def rollback(savepoint: Savepoint): Unit = null
+
+  override def setNetworkTimeout(executor: Executor, milliseconds: Int): Unit = null
+
+  override def setTypeMap(map: util.Map[String, Class[_]]): Unit = null
+
+  override def isValid(timeout: Int): Boolean = null
+
+  override def getAutoCommit: Boolean = null
+
+  override def clearWarnings(): Unit = null
+
+  override def getNetworkTimeout: Int = 0
+
+  override def isClosed: Boolean = null
+
+  override def getTransactionIsolation: Int = 0
+
+  override def createStruct(typeName: String, attributes: Array[AnyRef]): Struct = null
+
+  override def getClientInfo(name: String): String = null
+
+  override def getClientInfo: Properties = null
+
+  override def getTypeMap: util.Map[String, Class[_]] = null
+
+  override def unwrap[T](iface: Class[T]): T = ???
+
+  override def isWrapperFor(iface: Class[_]): Boolean = null
+
+  override def execute[T](expression: Expression, aClass: Class[T]): T = ???
+
+  override def execute[T](expression: Expression, `type`: Type): T = ???
+
+  override def executeQuery[T](queryable: Queryable[T]): Enumerator[T] = null
+
+  override def createQuery[T](expression: Expression, aClass: Class[T]): Queryable[T] = null
+
+  override def createQuery[T](expression: Expression, `type`: Type): Queryable[T] = null
+}