|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.jasig.portal.rdbm.DatabaseMetaDataImpl
public class DatabaseMetaDataImpl
Nested Class Summary | |
---|---|
static class |
DatabaseMetaDataImpl.JdbcDb
|
static class |
DatabaseMetaDataImpl.OracleDb
|
static class |
DatabaseMetaDataImpl.PostgreSQLDb
|
Field Summary | |
---|---|
private java.lang.String |
databaseProductName
|
private java.lang.String |
databaseProductVersion
|
private javax.sql.DataSource |
dataSource
The DataSource that represents the server |
private java.lang.String |
dbUrl
|
private java.lang.String |
driverName
|
private java.lang.String |
driverVersion
|
private static JoinQueryString |
jdbcDb
|
private IJoinQueryString |
joinTest
The IJoinQueryString to use for performing outer joins |
private static JoinQueryString[] |
joinTests
Array of join tests to perform. |
private static org.apache.commons.logging.Log |
LOG
|
private static JoinQueryString |
oracleDb
|
private static JoinQueryString |
postgreSQLDb
|
private boolean |
supportsPreparedStatements
|
private boolean |
supportsTransactions
|
private static java.text.SimpleDateFormat |
TO_DATE_FORMAT
Define the oracle TO_DATE format |
private java.lang.String |
transactionTestMsg
|
private java.lang.String |
userName
|
private boolean |
useToDate
|
private boolean |
useTSWrapper
|
Constructor Summary | |
---|---|
DatabaseMetaDataImpl(javax.sql.DataSource ds)
Creates a new DatabaseMetaDataImpl with the specified
DataSource . |
Method Summary | |
---|---|
IJoinQueryString |
getJoinQuery()
Gets the appropriate IJoinQueryString implemenation for
the database. |
private void |
getMetaData(java.sql.Connection conn)
Gets meta data about the connection. |
void |
releaseConnection(java.sql.Connection conn)
|
private void |
runDatabaseTests()
Run a set of tests on the database to provide better meta data. |
java.lang.String |
sqlTimeStamp()
SQL TimeStamp format of current time. |
java.lang.String |
sqlTimeStamp(java.util.Date date)
SQL TimeStamp format a Date. |
java.lang.String |
sqlTimeStamp(long date)
SQL TimeStamp format a long. |
boolean |
supportsOuterJoins()
Returns true if the database server supports outer
joins. |
boolean |
supportsPreparedStatements()
Returns true if the database server supports prepared statements. |
boolean |
supportsTransactions()
Returns true if the database server supports transactions. |
private void |
testOuterJoins(java.sql.Connection conn)
Test the database to see if it really supports outer joins. |
private void |
testPreparedStatements(java.sql.Connection conn)
Tests the database for prepared statement support. |
private void |
testTimeStamp(java.sql.Connection conn)
Test the database to find the supported timestamp format |
private void |
testTransactions(java.sql.Connection conn)
Test the database to see if it really supports transactions |
java.lang.String |
toString()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
private static final org.apache.commons.logging.Log LOG
private static final java.text.SimpleDateFormat TO_DATE_FORMAT
private static final JoinQueryString jdbcDb
private static final JoinQueryString postgreSQLDb
private static final JoinQueryString oracleDb
private static final JoinQueryString[] joinTests
private final javax.sql.DataSource dataSource
DataSource
that represents the server
private IJoinQueryString joinTest
IJoinQueryString
to use for performing outer joins
private boolean useTSWrapper
private boolean useToDate
private boolean supportsTransactions
private boolean supportsPreparedStatements
private java.lang.String transactionTestMsg
private java.lang.String databaseProductName
private java.lang.String databaseProductVersion
private java.lang.String driverName
private java.lang.String driverVersion
private java.lang.String userName
private java.lang.String dbUrl
Constructor Detail |
---|
public DatabaseMetaDataImpl(javax.sql.DataSource ds)
DatabaseMetaDataImpl
with the specified
DataSource
.
ds
- The DataSource
to use as the base for this server interface.Method Detail |
---|
public void releaseConnection(java.sql.Connection conn)
org.jasig.portal.rdbm.IDatabaseServer#releaseConnection(java.sql.Connection)
public final IJoinQueryString getJoinQuery()
IDatabaseMetadata
IJoinQueryString
implemenation for
the database. If IDatabaseMetadata.supportsOuterJoins()
returns false
this will return null
.
getJoinQuery
in interface IDatabaseMetadata
IJoinQueryString
implemenation.org.jasig.portal.rdbm.IDatabaseServer#getJoinQuery()
public final boolean supportsOuterJoins()
IDatabaseMetadata
true
if the database server supports outer
joins. The query to use if this returns true
can
be retrieved from the IDatabaseMetadata.getJoinQuery()
method.
supportsOuterJoins
in interface IDatabaseMetadata
true
if the server supports outer joins.org.jasig.portal.rdbm.IDatabaseServer#supportsOuterJoins()
public final boolean supportsTransactions()
IDatabaseMetadata
true
if the database server supports transactions.
supportsTransactions
in interface IDatabaseMetadata
true
if the server supports transactions.org.jasig.portal.rdbm.IDatabaseServer#supportsTransactions()
public final boolean supportsPreparedStatements()
IDatabaseMetadata
true
if the database server supports prepared statements.
supportsPreparedStatements
in interface IDatabaseMetadata
true
if the server supports prepared statements.org.jasig.portal.rdbm.IDatabaseServer#supportsPreparedStatements()
public java.lang.String sqlTimeStamp()
IDatabaseMetadata
sqlTimeStamp
in interface IDatabaseMetadata
org.jasig.portal.rdbm.IDatabaseServer#sqlTimeStamp()
public java.lang.String sqlTimeStamp(long date)
IDatabaseMetadata
sqlTimeStamp
in interface IDatabaseMetadata
date
- The time in milliseconds to format.
org.jasig.portal.rdbm.IDatabaseServer#sqlTimeStamp(long)
public java.lang.String sqlTimeStamp(java.util.Date date)
IDatabaseMetadata
sqlTimeStamp
in interface IDatabaseMetadata
date
- The date to format.
org.jasig.portal.rdbm.IDatabaseServer#sqlTimeStamp(java.util.Date)
public java.lang.String toString()
toString
in class java.lang.Object
private void runDatabaseTests()
private void getMetaData(java.sql.Connection conn)
conn
- The connection to use.private void testPreparedStatements(java.sql.Connection conn)
conn
- The connection to use.private void testOuterJoins(java.sql.Connection conn)
conn
- The connection to use.private void testTimeStamp(java.sql.Connection conn)
conn
- The connection to use.private void testTransactions(java.sql.Connection conn)
conn
- The connection to use.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |