Author: shawkins
Date: 2010-06-28 10:43:04 -0400 (Mon, 28 Jun 2010)
New Revision: 2308
Modified:
branches/7.0.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java
branches/7.0.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQLExecutionFactory.java
branches/7.0.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java
branches/7.0.x/documentation/reference/src/main/docbook/en-US/content/translators.xml
Log:
TEIID-1056 removing oracle specific log and mysql setting of the ansi mode
Modified:
branches/7.0.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java
===================================================================
---
branches/7.0.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java 2010-06-28
14:36:05 UTC (rev 2307)
+++
branches/7.0.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java 2010-06-28
14:43:04 UTC (rev 2308)
@@ -223,7 +223,7 @@
public ResultSetExecution createResultSetExecution(QueryExpression command,
ExecutionContext executionContext, RuntimeMetadata metadata, Connection conn)
throws TranslatorException {
//TODO: This is not correct; this should be only called once for connection creation
- afterConnectionCreation(conn);
+ obtainedConnection(conn);
return new JDBCQueryExecution(command, conn, executionContext, this);
}
@@ -231,7 +231,7 @@
public ProcedureExecution createProcedureExecution(Call command, ExecutionContext
executionContext, RuntimeMetadata metadata, Connection conn)
throws TranslatorException {
//TODO: This is not correct; this should be only called once for connection creation
- afterConnectionCreation(conn);
+ obtainedConnection(conn);
return new JDBCProcedureExecution(command, conn, executionContext, this);
}
@@ -239,7 +239,7 @@
public UpdateExecution createUpdateExecution(Command command, ExecutionContext
executionContext, RuntimeMetadata metadata, Connection conn)
throws TranslatorException {
//TODO: This is not correct; this should be only called once for connection creation
- afterConnectionCreation(conn);
+ obtainedConnection(conn);
return new JDBCUpdateExecution(command, conn, executionContext, this);
}
@@ -996,12 +996,12 @@
* Called exactly once for this source.
* @param connection
*/
- protected void afterInitialConnectionCreation(Connection connection) {
+ protected void afterInitialConnectionObtained(Connection connection) {
// now dig some details about this driver/database for log.
try {
- StringBuffer sb = new StringBuffer();
+ StringBuffer sb = new StringBuffer(getClass().getSimpleName());
DatabaseMetaData dbmd = connection.getMetaData();
- sb.append("Commit=").append(connection.getAutoCommit());
//$NON-NLS-1$
+ sb.append(" Commit=").append(connection.getAutoCommit());
//$NON-NLS-1$
sb.append(";DatabaseProductName=").append(dbmd.getDatabaseProductName());
//$NON-NLS-1$
sb.append(";DatabaseProductVersion=").append(dbmd.getDatabaseProductVersion());
//$NON-NLS-1$
sb.append(";DriverMajorVersion=").append(dbmd.getDriverMajorVersion());
//$NON-NLS-1$
@@ -1019,18 +1019,18 @@
/**
* Provides a hook to call source specific logic when
- * a connection is created.
+ * a connection is obtained.
*
* defect request 13979 & 13978
*/
- public void afterConnectionCreation(Connection connection) {
+ public void obtainedConnection(Connection connection) {
if (initialConnection) {
synchronized (this) {
if (!initialConnection) {
return;
}
initialConnection = false;
- afterInitialConnectionCreation(connection);
+ afterInitialConnectionObtained(connection);
}
}
}
Modified:
branches/7.0.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQLExecutionFactory.java
===================================================================
---
branches/7.0.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQLExecutionFactory.java 2010-06-28
14:36:05 UTC (rev 2307)
+++
branches/7.0.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQLExecutionFactory.java 2010-06-28
14:43:04 UTC (rev 2308)
@@ -22,10 +22,7 @@
package org.teiid.translator.jdbc.mysql;
-import java.sql.Connection;
import java.sql.Date;
-import java.sql.SQLException;
-import java.sql.Statement;
import java.sql.Time;
import java.sql.Timestamp;
import java.util.ArrayList;
@@ -33,11 +30,9 @@
import java.util.List;
import org.teiid.language.Function;
-import org.teiid.logging.LogConstants;
-import org.teiid.logging.LogManager;
+import org.teiid.translator.SourceSystemFunctions;
import org.teiid.translator.Translator;
import org.teiid.translator.TranslatorException;
-import org.teiid.translator.SourceSystemFunctions;
import org.teiid.translator.TypeFacility;
import org.teiid.translator.jdbc.ConvertModifier;
import org.teiid.translator.jdbc.FunctionModifier;
@@ -130,26 +125,6 @@
}
@Override
- public void afterConnectionCreation(Connection connection) {
- super.afterConnectionCreation(connection);
-
- Statement stmt = null;
- try {
- stmt = connection.createStatement();
- stmt.execute("set SESSION sql_mode = 'ANSI'"); //$NON-NLS-1$
- } catch (SQLException e) {
- LogManager.logError(LogConstants.CTX_CONNECTOR, e, "Error setting ANSI
mode"); //$NON-NLS-1$
- } finally {
- if (stmt != null) {
- try {
- stmt.close();
- } catch (SQLException e) {
- LogManager.logDetail("Error closing statement", e); //$NON-NLS-1$
- }
- }
- }
- }
- @Override
public boolean useParensForJoins() {
return true;
}
Modified:
branches/7.0.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java
===================================================================
---
branches/7.0.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java 2010-06-28
14:36:05 UTC (rev 2307)
+++
branches/7.0.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java 2010-06-28
14:43:04 UTC (rev 2308)
@@ -24,11 +24,8 @@
*/
package org.teiid.translator.jdbc.oracle;
-import java.sql.Connection;
import java.sql.PreparedStatement;
-import java.sql.ResultSet;
import java.sql.SQLException;
-import java.sql.Statement;
import java.sql.Types;
import java.util.ArrayList;
import java.util.Arrays;
@@ -50,20 +47,17 @@
import org.teiid.language.SQLConstants.Tokens;
import org.teiid.language.SetQuery.Operation;
import org.teiid.language.visitor.CollectorVisitor;
-import org.teiid.logging.LogConstants;
-import org.teiid.logging.LogManager;
import org.teiid.metadata.Column;
-import org.teiid.translator.Translator;
-import org.teiid.translator.TranslatorException;
import org.teiid.translator.ExecutionContext;
import org.teiid.translator.SourceSystemFunctions;
+import org.teiid.translator.Translator;
+import org.teiid.translator.TranslatorException;
import org.teiid.translator.TypeFacility;
import org.teiid.translator.jdbc.AliasModifier;
import org.teiid.translator.jdbc.ConvertModifier;
import org.teiid.translator.jdbc.ExtractFunctionModifier;
import org.teiid.translator.jdbc.FunctionModifier;
import org.teiid.translator.jdbc.JDBCExecutionFactory;
-import org.teiid.translator.jdbc.JDBCPlugin;
import org.teiid.translator.jdbc.LocateFunctionModifier;
@@ -389,41 +383,6 @@
}
@Override
- public void afterInitialConnectionCreation(Connection connection) {
- String errorStr =
JDBCPlugin.Util.getString("ConnectionListener.failed_to_report_oracle_connection_details");
//$NON-NLS-1$
- ResultSet rs = null;
- Statement stmt = null;
- try {
- stmt = connection.createStatement();
- rs = stmt.executeQuery("select * from v$instance"); //$NON-NLS-1$
-
- int columnCount = rs.getMetaData().getColumnCount();
- while (rs.next()) {
- StringBuffer sb = new StringBuffer();
- for (int i = 1; i <= columnCount; i++) {
-
sb.append(rs.getMetaData().getColumnName(i)).append("=").append(rs.getString(i)).append(";");
//$NON-NLS-1$ //$NON-NLS-2$
- }
- // log the queried information
- LogManager.logInfo(LogConstants.CTX_CONNECTOR, sb.toString());
- }
-
- } catch (SQLException e) {
- LogManager.logInfo(LogConstants.CTX_CONNECTOR, errorStr);
- }finally {
- try {
- if (rs != null) {
- rs.close();
- }
- if (stmt != null) {
- stmt.close();
- }
- } catch (SQLException e1) {
- LogManager.logInfo(LogConstants.CTX_CONNECTOR, errorStr);
- }
- }
- }
-
- @Override
public NullOrder getDefaultNullOrder() {
return NullOrder.HIGH;
}
Modified:
branches/7.0.x/documentation/reference/src/main/docbook/en-US/content/translators.xml
===================================================================
---
branches/7.0.x/documentation/reference/src/main/docbook/en-US/content/translators.xml 2010-06-28
14:36:05 UTC (rev 2307)
+++
branches/7.0.x/documentation/reference/src/main/docbook/en-US/content/translators.xml 2010-06-28
14:43:04 UTC (rev 2308)
@@ -137,12 +137,9 @@
<para><emphasis>metamatrix</emphasis> - for use with MetaMatrix 5.5.0
or later.</para>
</listitem>
<listitem>
-<para><emphasis>mysql</emphasis> - for use with MySQL version
4.x.</para>
+<para><emphasis>mysql</emphasis>/<emphasis>mysql5</emphasis>
- for use with MySQL version 4.x and 5 or later respectively. <note>The MySQL
Translators expect the database or session to be using ANSI mode. If the database is not
using ANSI mode, an initialization query should be used on the pool to set ANSI mode:
<programlisting>set SESSION sql_mode =
'ANSI'</programlisting></note></para>
</listitem>
<listitem>
-<para><emphasis>mysql5</emphasis> - for use with MySQL version 5 or
later.</para>
-</listitem>
-<listitem>
<para><emphasis>oracle</emphasis> - for use with Oracle 9i or later.
Sequences may be used with the Oracle translator.
A sequence may be modeled as a table with a name in source of DUAL and columns with the
name in source set to <sequencesequence name>.[nextval|currentval].
You can use a sequence as the default value for insert columns by setting the column to
autoincrement and the name in source to <element
name>:SEQUENCE=<sequence name>.<sequence
value>.</para>