Package org.relique.jdbc.csv
Class CsvConnection
- java.lang.Object
-
- org.relique.jdbc.csv.CsvConnection
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,java.sql.Connection
,java.sql.Wrapper
public class CsvConnection extends java.lang.Object implements java.sql.Connection
This class implements the java.sql.Connection JDBC interface for the CsvJdbc driver.
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
CsvConnection(java.lang.String path, java.util.Properties info, java.lang.String urlProperties)
Creates a new CsvConnection that takes the supplied path and propertiesprotected
CsvConnection(TableReader tableReader, java.util.Properties info, java.lang.String urlProperties)
Creates a new database connection.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
abort(java.util.concurrent.Executor executor)
void
clearWarnings()
void
close()
void
commit()
java.sql.Array
createArrayOf(java.lang.String typeName, java.lang.Object[] elements)
java.sql.Blob
createBlob()
java.sql.Clob
createClob()
java.sql.NClob
createNClob()
java.sql.SQLXML
createSQLXML()
java.sql.Statement
createStatement()
java.sql.Statement
createStatement(int resultSetType, int resultSetConcurrency)
java.sql.Statement
createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability)
java.sql.Struct
createStruct(java.lang.String typeName, java.lang.Object[] attributes)
boolean
getAutoCommit()
java.lang.String
getCatalog()
protected java.lang.String
getCharset()
Accessor method for the charset propertyjava.util.Properties
getClientInfo()
java.lang.String
getClientInfo(java.lang.String name)
java.lang.String
getColumnTypes(java.lang.String tableName)
java.lang.String
getCommentChar()
java.lang.String
getDateFormat()
CryptoFilter
getDecryptingCodec()
protected java.lang.String
getExtension()
Accessor method for the extension propertyjava.lang.String
getFileNamePattern()
java.util.ArrayList<int[]>
getFixedWidthColumns()
java.lang.String
getHeaderline(java.lang.String tableName)
Accessor method for the headerline propertyint
getHoldability()
java.util.Locale
getLocale()
java.sql.DatabaseMetaData
getMetaData()
java.lang.String
getMissingValue()
java.lang.String[]
getNameParts()
int
getNetworkTimeout()
protected java.lang.String
getPath()
Accessor method for the path propertyjava.lang.Character
getQuotechar()
Accessor method for the quotechar propertyjava.lang.String
getQuoteStyle()
java.lang.String
getSchema()
protected java.lang.String
getSeparator()
Accessor method for the separator propertyprotected int
getSkipLeadingDataLines()
Accessor method for skipLeadingDataLines property.int
getSkipLeadingLines()
java.util.HashMap<java.lang.String,java.lang.reflect.Method>
getSqlFunctions()
java.util.List<java.lang.String>
getTableNames()
Get list of table names (all files in the directory with the correct suffix).protected TableReader
getTableReader()
java.lang.String
getTimeFormat()
java.lang.String
getTimestampFormat()
java.lang.String
getTimeZoneName()
int
getTransactionIsolation()
int
getTransposedFieldsToSkip()
int
getTransposedLines()
boolean
getTrimHeaders()
Accessor method for the trimHeaders propertyboolean
getTrimValues()
java.util.Map<java.lang.String,java.lang.Class<?>>
getTypeMap()
protected java.lang.String
getURL()
java.sql.SQLWarning
getWarnings()
boolean
isClosed()
protected boolean
isDefectiveHeaders()
Accessor method for defectiveHeaders property.boolean
isFileTailPrepend()
protected boolean
isHeaderFixedWidth()
boolean
isIgnoreUnparseableLines()
boolean
isIndexedFiles()
boolean
isReadOnly()
protected boolean
isSuppressHeaders()
Accessor method for the suppressHeaders propertyboolean
isValid(int timeout)
boolean
isWrapperFor(java.lang.Class<?> arg0)
java.lang.String
nativeSQL(java.lang.String sql)
java.sql.CallableStatement
prepareCall(java.lang.String sql)
java.sql.CallableStatement
prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency)
java.sql.CallableStatement
prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
java.sql.PreparedStatement
prepareStatement(java.lang.String sql)
java.sql.PreparedStatement
prepareStatement(java.lang.String sql, int autoGeneratedKeys)
java.sql.PreparedStatement
prepareStatement(java.lang.String sql, int[] columnIndexes)
java.sql.PreparedStatement
prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency)
java.sql.PreparedStatement
prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability)
java.sql.PreparedStatement
prepareStatement(java.lang.String sql, java.lang.String[] columnNames)
void
releaseSavepoint(java.sql.Savepoint savePoint)
void
removeStatement(java.sql.Statement statement)
Remove closed statement from list of statements for this connection.void
rollback()
void
rollback(java.sql.Savepoint savePoint)
void
setAutoCommit(boolean autoCommit)
void
setCatalog(java.lang.String catalog)
void
setClientInfo(java.lang.String arg0, java.lang.String arg1)
void
setClientInfo(java.util.Properties arg0)
void
setColumnTypes(java.lang.String columnTypes)
Deprecated.Pass columnTypes when creating driver.void
setCommentChar(java.lang.String value)
void
setDateFormat(java.lang.String dateFormat)
void
setFileTailPrepend(boolean fileTailPrepend)
void
setHoldability(int holdability)
void
setIgnoreUnparseableLines(boolean ignoreUnparseableLines)
void
setIndexedFiles(boolean indexedFiles)
Deprecated.Pass indexedFiles when creating driver.void
setMissingValue(java.lang.String missingValue)
void
setNetworkTimeout(java.util.concurrent.Executor executor, int milliseconds)
void
setReadOnly(boolean readOnly)
java.sql.Savepoint
setSavepoint()
java.sql.Savepoint
setSavepoint(java.lang.String name)
void
setSchema(java.lang.String schema)
void
setSkipLeadingLines(int skipLeadingLines)
void
setTimeFormat(java.lang.String timeFormat)
void
setTimestampFormat(java.lang.String timestampFormat)
void
setTransactionIsolation(int level)
void
setTransposedFieldsToSkip(int i)
void
setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map)
<T> T
unwrap(java.lang.Class<T> arg0)
-
-
-
Constructor Detail
-
CsvConnection
protected CsvConnection(java.lang.String path, java.util.Properties info, java.lang.String urlProperties) throws java.sql.SQLException
Creates a new CsvConnection that takes the supplied path and properties- Parameters:
path
- directory where the CSV files are locatedinfo
- set of properties containing custom optionsurlProperties
- part of connection URL containing connection properties.- Throws:
java.sql.SQLException
- if connection cannot be created.
-
CsvConnection
protected CsvConnection(TableReader tableReader, java.util.Properties info, java.lang.String urlProperties) throws java.sql.SQLException
Creates a new database connection.- Parameters:
tableReader
- user-provided class to return contents of each database table.info
- set of properties containing custom options.urlProperties
- part of connection URL containing connection properties.- Throws:
java.sql.SQLException
- if connection cannot be created.
-
-
Method Detail
-
getQuoteStyle
public java.lang.String getQuoteStyle()
-
getTimeZoneName
public java.lang.String getTimeZoneName()
-
getLocale
public java.util.Locale getLocale()
-
createStatement
public java.sql.Statement createStatement() throws java.sql.SQLException
- Specified by:
createStatement
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
prepareStatement
public java.sql.PreparedStatement prepareStatement(java.lang.String sql) throws java.sql.SQLException
- Specified by:
prepareStatement
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
prepareCall
public java.sql.CallableStatement prepareCall(java.lang.String sql) throws java.sql.SQLException
- Specified by:
prepareCall
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
nativeSQL
public java.lang.String nativeSQL(java.lang.String sql) throws java.sql.SQLException
- Specified by:
nativeSQL
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setAutoCommit
public void setAutoCommit(boolean autoCommit) throws java.sql.SQLException
- Specified by:
setAutoCommit
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getAutoCommit
public boolean getAutoCommit() throws java.sql.SQLException
- Specified by:
getAutoCommit
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
commit
public void commit() throws java.sql.SQLException
- Specified by:
commit
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
rollback
public void rollback() throws java.sql.SQLException
- Specified by:
rollback
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
close
public void close() throws java.sql.SQLException
- Specified by:
close
in interfacejava.lang.AutoCloseable
- Specified by:
close
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
removeStatement
public void removeStatement(java.sql.Statement statement)
Remove closed statement from list of statements for this connection.- Parameters:
statement
- statement to be removed.
-
isClosed
public boolean isClosed() throws java.sql.SQLException
- Specified by:
isClosed
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getMetaData
public java.sql.DatabaseMetaData getMetaData() throws java.sql.SQLException
- Specified by:
getMetaData
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setReadOnly
public void setReadOnly(boolean readOnly) throws java.sql.SQLException
- Specified by:
setReadOnly
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
isReadOnly
public boolean isReadOnly() throws java.sql.SQLException
- Specified by:
isReadOnly
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setCatalog
public void setCatalog(java.lang.String catalog) throws java.sql.SQLException
- Specified by:
setCatalog
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getCatalog
public java.lang.String getCatalog() throws java.sql.SQLException
- Specified by:
getCatalog
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setTransactionIsolation
public void setTransactionIsolation(int level) throws java.sql.SQLException
- Specified by:
setTransactionIsolation
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getTransactionIsolation
public int getTransactionIsolation() throws java.sql.SQLException
- Specified by:
getTransactionIsolation
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getWarnings
public java.sql.SQLWarning getWarnings() throws java.sql.SQLException
- Specified by:
getWarnings
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
clearWarnings
public void clearWarnings() throws java.sql.SQLException
- Specified by:
clearWarnings
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
createStatement
public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
- Specified by:
createStatement
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
prepareStatement
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
- Specified by:
prepareStatement
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
prepareCall
public java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency) throws java.sql.SQLException
- Specified by:
prepareCall
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getTypeMap
public java.util.Map<java.lang.String,java.lang.Class<?>> getTypeMap() throws java.sql.SQLException
- Specified by:
getTypeMap
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setTypeMap
public void setTypeMap(java.util.Map<java.lang.String,java.lang.Class<?>> map) throws java.sql.SQLException
- Specified by:
setTypeMap
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setHoldability
public void setHoldability(int holdability) throws java.sql.SQLException
- Specified by:
setHoldability
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getHoldability
public int getHoldability() throws java.sql.SQLException
- Specified by:
getHoldability
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
createStatement
public java.sql.Statement createStatement(int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException
- Specified by:
createStatement
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
prepareStatement
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException
- Specified by:
prepareStatement
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
prepareCall
public java.sql.CallableStatement prepareCall(java.lang.String sql, int resultSetType, int resultSetConcurrency, int resultSetHoldability) throws java.sql.SQLException
- Specified by:
prepareCall
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
prepareStatement
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int autoGeneratedKeys) throws java.sql.SQLException
- Specified by:
prepareStatement
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
prepareStatement
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, int[] columnIndexes) throws java.sql.SQLException
- Specified by:
prepareStatement
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
prepareStatement
public java.sql.PreparedStatement prepareStatement(java.lang.String sql, java.lang.String[] columnNames) throws java.sql.SQLException
- Specified by:
prepareStatement
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
releaseSavepoint
public void releaseSavepoint(java.sql.Savepoint savePoint) throws java.sql.SQLException
- Specified by:
releaseSavepoint
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
rollback
public void rollback(java.sql.Savepoint savePoint) throws java.sql.SQLException
- Specified by:
rollback
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setSavepoint
public java.sql.Savepoint setSavepoint() throws java.sql.SQLException
- Specified by:
setSavepoint
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setSavepoint
public java.sql.Savepoint setSavepoint(java.lang.String name) throws java.sql.SQLException
- Specified by:
setSavepoint
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getPath
protected java.lang.String getPath()
Accessor method for the path property- Returns:
- current value for the path property
-
getTableReader
protected TableReader getTableReader()
-
getURL
protected java.lang.String getURL()
-
getExtension
protected java.lang.String getExtension()
Accessor method for the extension property- Returns:
- current value for the extension property
-
getSeparator
protected java.lang.String getSeparator()
Accessor method for the separator property- Returns:
- current value for the separator property
-
getHeaderline
public java.lang.String getHeaderline(java.lang.String tableName)
Accessor method for the headerline property- Parameters:
tableName
- name of database table.- Returns:
- current value for the headerline property
-
getQuotechar
public java.lang.Character getQuotechar()
Accessor method for the quotechar property- Returns:
- current value for the quotechar property
-
isSuppressHeaders
protected boolean isSuppressHeaders()
Accessor method for the suppressHeaders property- Returns:
- current value for the suppressHeaders property
-
isHeaderFixedWidth
protected boolean isHeaderFixedWidth()
-
getFixedWidthColumns
public java.util.ArrayList<int[]> getFixedWidthColumns()
-
isDefectiveHeaders
protected boolean isDefectiveHeaders()
Accessor method for defectiveHeaders property.- Returns:
- true if defective headers.
-
getSkipLeadingDataLines
protected int getSkipLeadingDataLines()
Accessor method for skipLeadingDataLines property.- Returns:
- number of leading data lines to skip.
-
getCharset
protected java.lang.String getCharset()
Accessor method for the charset property- Returns:
- current value for the suppressHeaders property
-
getTrimHeaders
public boolean getTrimHeaders()
Accessor method for the trimHeaders property- Returns:
- current value for the trimHeaders property
-
getTrimValues
public boolean getTrimValues()
-
createArrayOf
public java.sql.Array createArrayOf(java.lang.String typeName, java.lang.Object[] elements) throws java.sql.SQLException
- Specified by:
createArrayOf
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
createBlob
public java.sql.Blob createBlob() throws java.sql.SQLException
- Specified by:
createBlob
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
createClob
public java.sql.Clob createClob() throws java.sql.SQLException
- Specified by:
createClob
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
createStruct
public java.sql.Struct createStruct(java.lang.String typeName, java.lang.Object[] attributes) throws java.sql.SQLException
- Specified by:
createStruct
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getClientInfo
public java.util.Properties getClientInfo() throws java.sql.SQLException
- Specified by:
getClientInfo
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getClientInfo
public java.lang.String getClientInfo(java.lang.String name) throws java.sql.SQLException
- Specified by:
getClientInfo
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
isValid
public boolean isValid(int timeout) throws java.sql.SQLException
- Specified by:
isValid
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
isWrapperFor
public boolean isWrapperFor(java.lang.Class<?> arg0) throws java.sql.SQLException
- Specified by:
isWrapperFor
in interfacejava.sql.Wrapper
- Throws:
java.sql.SQLException
-
unwrap
public <T> T unwrap(java.lang.Class<T> arg0) throws java.sql.SQLException
- Specified by:
unwrap
in interfacejava.sql.Wrapper
- Throws:
java.sql.SQLException
-
setColumnTypes
@Deprecated public void setColumnTypes(java.lang.String columnTypes)
Deprecated.Pass columnTypes when creating driver. To be removed in a future version.Set column types for SQL queries.- Parameters:
columnTypes
- comma-separated list of data types.
-
getColumnTypes
public java.lang.String getColumnTypes(java.lang.String tableName)
-
setIndexedFiles
@Deprecated public void setIndexedFiles(boolean indexedFiles)
Deprecated.Pass indexedFiles when creating driver. To be removed in a future version.Set flag for reading indexed files.- Parameters:
indexedFiles
- flag true if indexed files are to be read.
-
isIndexedFiles
public boolean isIndexedFiles()
-
getFileNamePattern
public java.lang.String getFileNamePattern()
-
getNameParts
public java.lang.String[] getNameParts()
-
setTimestampFormat
public void setTimestampFormat(java.lang.String timestampFormat)
-
getTimestampFormat
public java.lang.String getTimestampFormat()
-
setDateFormat
public void setDateFormat(java.lang.String dateFormat)
-
getDateFormat
public java.lang.String getDateFormat()
-
setTimeFormat
public void setTimeFormat(java.lang.String timeFormat)
-
getTimeFormat
public java.lang.String getTimeFormat()
-
setCommentChar
public void setCommentChar(java.lang.String value)
-
getCommentChar
public java.lang.String getCommentChar()
-
getSkipLeadingLines
public int getSkipLeadingLines()
- Returns:
- the skipLeadingLines
-
setSkipLeadingLines
public void setSkipLeadingLines(int skipLeadingLines)
- Parameters:
skipLeadingLines
- the skipLeadingLines to set
-
isIgnoreUnparseableLines
public boolean isIgnoreUnparseableLines()
-
setIgnoreUnparseableLines
public void setIgnoreUnparseableLines(boolean ignoreUnparseableLines)
- Parameters:
ignoreUnparseableLines
- the ignoreUnparseableLines to set
-
getMissingValue
public java.lang.String getMissingValue()
-
setMissingValue
public void setMissingValue(java.lang.String missingValue)
-
setFileTailPrepend
public void setFileTailPrepend(boolean fileTailPrepend)
-
isFileTailPrepend
public boolean isFileTailPrepend()
-
getDecryptingCodec
public CryptoFilter getDecryptingCodec()
-
getSqlFunctions
public java.util.HashMap<java.lang.String,java.lang.reflect.Method> getSqlFunctions()
-
createNClob
public java.sql.NClob createNClob() throws java.sql.SQLException
- Specified by:
createNClob
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
createSQLXML
public java.sql.SQLXML createSQLXML() throws java.sql.SQLException
- Specified by:
createSQLXML
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setClientInfo
public void setClientInfo(java.util.Properties arg0) throws java.sql.SQLClientInfoException
- Specified by:
setClientInfo
in interfacejava.sql.Connection
- Throws:
java.sql.SQLClientInfoException
-
setClientInfo
public void setClientInfo(java.lang.String arg0, java.lang.String arg1) throws java.sql.SQLClientInfoException
- Specified by:
setClientInfo
in interfacejava.sql.Connection
- Throws:
java.sql.SQLClientInfoException
-
getNetworkTimeout
public int getNetworkTimeout() throws java.sql.SQLException
- Specified by:
getNetworkTimeout
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setNetworkTimeout
public void setNetworkTimeout(java.util.concurrent.Executor executor, int milliseconds) throws java.sql.SQLException
- Specified by:
setNetworkTimeout
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
abort
public void abort(java.util.concurrent.Executor executor) throws java.sql.SQLException
- Specified by:
abort
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getSchema
public java.lang.String getSchema() throws java.sql.SQLException
- Specified by:
getSchema
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
setSchema
public void setSchema(java.lang.String schema) throws java.sql.SQLException
- Specified by:
setSchema
in interfacejava.sql.Connection
- Throws:
java.sql.SQLException
-
getTransposedLines
public int getTransposedLines()
-
getTransposedFieldsToSkip
public int getTransposedFieldsToSkip()
-
setTransposedFieldsToSkip
public void setTransposedFieldsToSkip(int i)
-
getTableNames
public java.util.List<java.lang.String> getTableNames() throws java.sql.SQLException
Get list of table names (all files in the directory with the correct suffix).- Returns:
- list of table names.
- Throws:
java.sql.SQLException
- if getting list of table names fails.
-
-