org.apache.solr.client.solrj.io.stream

## Class JDBCStream

- java.lang.Object
- - org.apache.solr.client.solrj.io.stream.TupleStream
  - - org.apache.solr.client.solrj.io.stream.JDBCStream

All Implemented Interfaces:
  Closeable, Serializable, AutoCloseable, Expressible

    public class JDBCStream
    extends TupleStream
    implements Expressible

Connects to a datasource using a registered JDBC driver and execute a query. The results of that query will be returned as tuples. An EOF tuple will indicate that all have been read. Supported Datatypes JDBC Type | Tuple Type --------------|--------------- String | String Short | Long Integer | Long Long | Long Float | Double Double | Double Boolean | Boolean

See Also:
  Serialized Form

### Field Summary

Fields
`protected StreamContext` `streamContext`

### Constructor Summary

Constructors
Constructor and Description
`JDBCStream(StreamExpression expression, StreamFactory factory)`
`JDBCStream(String connectionUrl, String sqlQuery, StreamComparator definedSort)`
`JDBCStream(String connectionUrl, String sqlQuery, StreamComparator definedSort, Properties connectionProperties, String driverClassName)`

### Method Summary

All Methods Instance Methods Concrete Methods
`List<TupleStream>` `children()`
`void` `close()` Closes the JDBCStream
`StreamComparator` `getStreamSort()`
`void` `open()` Opens the JDBCStream
`Tuple` `read()`
`void` `setStreamContext(StreamContext context)`
`Explanation` `toExplanation(StreamFactory factory)` Returns an explanation about the stream object
`StreamExpressionParameter` `toExpression(StreamFactory factory)`

### Methods inherited from class org.apache.solr.client.solrj.io.stream.TupleStream

`getCost, getStreamNodeId, writeStreamClose, writeStreamOpen`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Field Detail

#### streamContext

    protected transient StreamContext streamContext

### Constructor Detail

#### JDBCStream

    public JDBCStream(String connectionUrl,
                      String sqlQuery,
                      StreamComparator definedSort)
               throws IOException

Throws:
  `IOException`

#### JDBCStream

    public JDBCStream(String connectionUrl,
                      String sqlQuery,
                      StreamComparator definedSort,
                      Properties connectionProperties,
                      String driverClassName)
               throws IOException

Throws:
  `IOException`

#### JDBCStream

    public JDBCStream(StreamExpression expression,
                      StreamFactory factory)
               throws IOException

Throws:
  `IOException`

### Method Detail

#### setStreamContext

    public void setStreamContext(StreamContext context)

Specified by:
  `setStreamContext` in class `TupleStream`

#### open

    public void open()
              throws IOException

Opens the JDBCStream

Specified by:
  `open` in class `TupleStream`
Throws:
  `IOException`

#### close

    public void close()
               throws IOException

Closes the JDBCStream

Specified by:
  `close` in interface `Closeable`
Specified by:
  `close` in interface `AutoCloseable`
Specified by:
  `close` in class `TupleStream`
Throws:
  `IOException`

#### read

    public Tuple read()
               throws IOException

Specified by:
  `read` in class `TupleStream`
Throws:
  `IOException`

#### toExpression

    public StreamExpressionParameter toExpression(StreamFactory factory)
                                           throws IOException

Specified by:
  `toExpression` in interface `Expressible`
Throws:
  `IOException`

#### toExplanation

    public Explanation toExplanation(StreamFactory factory)
                              throws IOException

Description copied from interface: `Expressible`
Returns an explanation about the stream object

Specified by:
  `toExplanation` in interface `Expressible`
Specified by:
  `toExplanation` in class `TupleStream`
Parameters:
  `factory` - Stream factory for this, contains information about the function name
Returns:
  Explanation about this stream object containing explanations of any child stream objects
Throws:
  `IOException` - throw on any error

#### children

    public List<TupleStream> children()

Specified by:
  `children` in class `TupleStream`

#### getStreamSort

    public StreamComparator getStreamSort()

Specified by:
  `getStreamSort` in class `TupleStream`