Package org.apache.manifoldcf.jdbc
Class JDBCConnection
- java.lang.Object
-
- org.apache.manifoldcf.jdbc.JDBCConnection
-
public class JDBCConnection extends java.lang.ObjectThis object describes a connection to a particular JDBC instance.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected classJDBCConnection.ExecuteOperationThreadprotected classJDBCConnection.JDBCPSResultSetprotected classJDBCConnection.JDBCResultSetprotected static classJDBCConnection.NextResultRowThreadprotected classJDBCConnection.PreparedStatementQueryThreadprotected static classJDBCConnection.RDynamicRowDynamic result row implementationprotected classJDBCConnection.StatementQueryThreadprotected classJDBCConnection.TestConnectionThread
-
Field Summary
Fields Modifier and Type Field Description static java.lang.String_rcsidprotected java.lang.StringdriverStringprotected java.lang.StringjdbcProviderprotected java.lang.Stringpasswordprotected booleanuseNameprotected java.lang.StringuserName
-
Constructor Summary
Constructors Constructor Description JDBCConnection(java.lang.String jdbcProvider, boolean useName, java.lang.String host, java.lang.String databaseName, java.lang.String rawDriverString, java.lang.String userName, java.lang.String password)Constructor.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected static voidcleanupDatabaseObject(java.lang.Object x)Call this method on every parameter or result object, when we're done with it, if it's possible that the object is a BLOB or CLOB.protected static voidcleanupParameters(java.util.ArrayList data)Clean up parameters after query has been triggered.protected static voidclosePS(java.sql.PreparedStatement ps)protected static voidcloseResultset(java.sql.ResultSet rs)protected static voidcloseStmt(java.sql.Statement stmt)protected static voiddiscardDatabaseObject(java.lang.Object x)Permanently discard database object.protected static org.apache.manifoldcf.core.interfaces.IResultSetexecute(java.sql.Connection connection, java.lang.String query, java.util.ArrayList params, boolean bResults, int maxResults, boolean useName)Run a query.voidexecuteOperation(java.lang.String query, java.util.ArrayList params)Execute operation.IDynamicResultSetexecuteUncachedQuery(java.lang.String query, java.util.ArrayList params, int maxResults)Execute query.protected static intfindColumn(java.sql.ResultSet rs, java.lang.String name)protected static java.sql.BlobgetBLOB(java.sql.ResultSet rs, int col)protected static java.sql.ClobgetCLOB(java.sql.ResultSet rs, int col)protected static org.apache.manifoldcf.core.interfaces.IResultSetgetData(java.sql.ResultSet rs, int maxResults, boolean useName)protected static java.lang.ObjectgetObject(java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, int col)protected static voidhandleIOException(java.io.IOException e, java.lang.String context)protected static booleanisBinaryData(java.sql.ResultSetMetaData rsmd, int col)protected static booleanisBLOB(java.sql.ResultSetMetaData rsmd, int col)protected static booleanisCLOB(java.sql.ResultSetMetaData rsmd, int col)protected static voidloadPS(java.sql.PreparedStatement ps, java.util.ArrayList data)static java.lang.StringreadAsString(java.lang.Object o)Read object as a stringprotected static java.lang.String[]readColumnNames(java.sql.ResultSetMetaData rsmd, boolean useName)protected static IDynamicResultRowreadNextResultRow(java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] resultCols)protected static IDynamicResultRowreadNextResultRowViaThread(java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] resultCols)protected static IDynamicResultRowreadResultRow(java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] resultCols)Read the current row from the resultsetvoidtestConnection()Test connection.
-
-
-
Field Detail
-
_rcsid
public static final java.lang.String _rcsid
- See Also:
- Constant Field Values
-
jdbcProvider
protected java.lang.String jdbcProvider
-
useName
protected boolean useName
-
driverString
protected java.lang.String driverString
-
userName
protected java.lang.String userName
-
password
protected java.lang.String password
-
-
Constructor Detail
-
JDBCConnection
public JDBCConnection(java.lang.String jdbcProvider, boolean useName, java.lang.String host, java.lang.String databaseName, java.lang.String rawDriverString, java.lang.String userName, java.lang.String password) throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionConstructor.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
-
Method Detail
-
readNextResultRowViaThread
protected static IDynamicResultRow readNextResultRowViaThread(java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] resultCols) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
readNextResultRow
protected static IDynamicResultRow readNextResultRow(java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] resultCols) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption
- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
closeResultset
protected static void closeResultset(java.sql.ResultSet rs) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
closeStmt
protected static void closeStmt(java.sql.Statement stmt) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
closePS
protected static void closePS(java.sql.PreparedStatement ps) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
testConnection
public void testConnection() throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruptionTest connection.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
executeUncachedQuery
public IDynamicResultSet executeUncachedQuery(java.lang.String query, java.util.ArrayList params, int maxResults) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption
Execute query.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
executeOperation
public void executeOperation(java.lang.String query, java.util.ArrayList params) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruptionExecute operation.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
readAsString
public static java.lang.String readAsString(java.lang.Object o) throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionRead object as a string- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
execute
protected static org.apache.manifoldcf.core.interfaces.IResultSet execute(java.sql.Connection connection, java.lang.String query, java.util.ArrayList params, boolean bResults, int maxResults, boolean useName) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruptionRun a query. No caching is involved at all at this level.- Parameters:
query- String the query stringmaxResults- is the maximum number of results to load: -1 if allparams- ArrayList if params !=null, use preparedStatement- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
readResultRow
protected static IDynamicResultRow readResultRow(java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, java.lang.String[] resultCols) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption
Read the current row from the resultset- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
handleIOException
protected static void handleIOException(java.io.IOException e, java.lang.String context) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
readColumnNames
protected static java.lang.String[] readColumnNames(java.sql.ResultSetMetaData rsmd, boolean useName) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
getData
protected static org.apache.manifoldcf.core.interfaces.IResultSet getData(java.sql.ResultSet rs, int maxResults, boolean useName) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
loadPS
protected static void loadPS(java.sql.PreparedStatement ps, java.util.ArrayList data) throws java.sql.SQLException, org.apache.manifoldcf.core.interfaces.ManifoldCFException- Throws:
java.sql.SQLExceptionorg.apache.manifoldcf.core.interfaces.ManifoldCFException
-
discardDatabaseObject
protected static void discardDatabaseObject(java.lang.Object x) throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionPermanently discard database object.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
cleanupDatabaseObject
protected static void cleanupDatabaseObject(java.lang.Object x) throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionCall this method on every parameter or result object, when we're done with it, if it's possible that the object is a BLOB or CLOB.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
cleanupParameters
protected static void cleanupParameters(java.util.ArrayList data) throws org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionClean up parameters after query has been triggered.- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFException
-
findColumn
protected static int findColumn(java.sql.ResultSet rs, java.lang.String name) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
getBLOB
protected static java.sql.Blob getBLOB(java.sql.ResultSet rs, int col) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
getCLOB
protected static java.sql.Clob getCLOB(java.sql.ResultSet rs, int col) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
isBLOB
protected static boolean isBLOB(java.sql.ResultSetMetaData rsmd, int col) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
isBinaryData
protected static boolean isBinaryData(java.sql.ResultSetMetaData rsmd, int col) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
isCLOB
protected static boolean isCLOB(java.sql.ResultSetMetaData rsmd, int col) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
getObject
protected static java.lang.Object getObject(java.sql.ResultSet rs, java.sql.ResultSetMetaData rsmd, int col) throws org.apache.manifoldcf.core.interfaces.ManifoldCFException, org.apache.manifoldcf.agents.interfaces.ServiceInterruption- Throws:
org.apache.manifoldcf.core.interfaces.ManifoldCFExceptionorg.apache.manifoldcf.agents.interfaces.ServiceInterruption
-
-