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, org.apache.solr.common.MapSerializable, org.apache.solr.common.MapWriter, org.apache.solr.common.NavigableObject, org.noggit.JSONWriter.Writable

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 for most types vary by JDBC driver based on the specific java type as reported by ResultSetMetaData.getColumnClassName(int). The exception are Types.DATE, Types.TIME or Types.TIMESTAMP which are determined by the JDBC type.

Supported Java Types
Java or JDBC Type Tuple Type Notes
Boolean Boolean
String String
Short, Integer, Long Long
Float, Double Double
Clob and subclasses String Clobs up to length 231-1 are supported.
Other subclasses of Number Long, Double Tuple Type based on BigDecimal.scale().
JDBC Types.DATE String yyyy-MM-dd, calls Date.toString()
JDBC Types.TIME String hh:mm:ss, calls Time.toString()
JDBC Types.TIMESTAMP String See DateTimeFormatter.ISO_INSTANT
Since:
6.0.0
See Also: