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

ASF GitHub Bot commented on TRAFODION-1581:
-------------------------------------------

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

    https://github.com/apache/incubator-trafodion/pull/218#discussion_r47168205
  
    --- Diff: core/sql/src/main/java/org/trafodion/sql/udr/predef/JDBCUDR.java 
---
    @@ -0,0 +1,690 @@
    +/**********************************************************************
    +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.
    +**********************************************************************/
    +
    +/***************************************************
    + * A TMUDF that executes a generic JDBC query
    + * and returns the result of the one SQL statement
    + * in the list that produces results as a table-valued
    + * output
    + *
    + * Invocation (all arguments are strings):
    + *
    + * select ... from udf(JDBC(
    + *    <name of JDBC driver jar>,
    + *    <name of JDBC driver class in the jar>,
    + *    <connection string>,
    + *    <user name>,
    + *    <password>,
    + *    <statement_type>,
    + *    <sql statement 1>
    + *    [ , <sql statements 2 ...n> ] )) ...
    + *
    + * The first 7 arguments are required and must be
    + * string literals that are available at compile
    + * time.
    --- End diff --
    
    Unfortunately, yes.


> Add a TMUDF that can return a JDBC result set as table-valued output
> --------------------------------------------------------------------
>
>                 Key: TRAFODION-1581
>                 URL: https://issues.apache.org/jira/browse/TRAFODION-1581
>             Project: Apache Trafodion
>          Issue Type: Sub-task
>          Components: sql-general
>    Affects Versions: 1.3-incubating
>            Reporter: Hans Zeller
>            Assignee: Hans Zeller
>             Fix For: 2.0-incubating
>
>
> One way to read data from other data sources would be a Trafodion TMUDF that 
> takes a connection string, an SQL statement and other necessary info as an 
> input, connects to a JDBC data source, prepares the statement, and returns 
> the result set as a table-valued output. This would enable a basic connector 
> for many data sources, including Spark, Drill and Kafka.
> Specifically, I would like to add a "predefined" TMUDF to Trafodion that 
> takes the following parameters:
> 1. The name of a jar with a JDBC driver.
> 2. A connection string to use
> 3. The class name of the driver
> 4. A user id
> 5. A password
> 6. The type of processing to do (right now only one type is supported)
> 7. Info depending on the type.
> The first type of processing I would like to add is "source", and it does the 
> following: It accepts a list of SQL statements to execute. Only one of these 
> statements can return a result set. The data in the result set will be 
> returned as table-valued output.
> Future processing types could do a parallel select like ODB does or they 
> could insert into a table on the system identified by the JDBC driver info.
> All parameters need to be compile-time constants, so that the UDF can connect 
> to the data source at compile time and prepare the statement. Based on the 
> prepared statement, it will determine number, names and SQL types of the 
> column(s) of the table-valued result.



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

Reply via email to