Author: shawkins
Date: 2010-03-25 12:55:55 -0400 (Thu, 25 Mar 2010)
New Revision: 2001
Added:
trunk/common-core/src/main/java/com/metamatrix/common/types/JDBCSQLTypeInfo.java
Removed:
trunk/common-core/src/main/java/com/metamatrix/common/types/MMJDBCSQLTypeInfo.java
trunk/test-integration/db/src/main/java/org/teiid/jdbc/
Modified:
trunk/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java
trunk/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java
trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
trunk/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java
trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java
trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java
trunk/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java
trunk/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java
trunk/client/src/test/java/org/teiid/jdbc/TestMMCallableStatement.java
trunk/common-core/src/main/java/com/metamatrix/common/types/ClobType.java
trunk/common-core/src/main/java/com/metamatrix/common/types/DataTypeManager.java
trunk/common-core/src/main/java/com/metamatrix/common/types/StandardXMLTranslator.java
trunk/common-core/src/test/java/com/metamatrix/common/types/TestDataTypeManager.java
trunk/common-core/src/test/java/com/metamatrix/common/types/TestXMLStreamSourceTranslator.java
trunk/connector-api/src/main/java/org/teiid/connector/api/TypeFacility.java
trunk/connectors/connector-xml-file/src/main/java/org/teiid/connector/xmlsource/file/FileProcedureExecution.java
trunk/connectors/connector-xml-file/src/test/java/org/teiid/connector/xmlsource/file/TestFileExecution.java
trunk/engine/src/main/java/com/metamatrix/common/buffer/impl/BufferManagerImpl.java
trunk/engine/src/main/java/com/metamatrix/common/log/LogConstants.java
trunk/engine/src/main/java/com/metamatrix/query/analysis/AnalysisRecord.java
trunk/engine/src/main/java/com/metamatrix/query/analysis/QueryAnnotation.java
trunk/engine/src/main/java/com/metamatrix/query/optimizer/QueryOptimizer.java
trunk/engine/src/main/java/com/metamatrix/query/optimizer/proc/ProcedurePlanner.java
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleChooseDependent.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/validator/AuthorizationValidationVisitor.java
trunk/engine/src/test/java/com/metamatrix/query/analysis/TestAnalysisRecord.java
trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestOptimizer.java
trunk/engine/src/test/java/com/metamatrix/query/optimizer/batch/TestBatchedUpdatePlanner.java
trunk/engine/src/test/java/com/metamatrix/query/optimizer/proc/TestProcedurePlanner.java
trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/TestMaterialization.java
trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestRuleAccessPatternValidation.java
trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestRuleChooseDependent.java
trunk/engine/src/test/java/com/metamatrix/query/optimizer/xml/TestXMLPlanner.java
trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java
trunk/engine/src/test/java/com/metamatrix/query/processor/dynamic/TestSqlEval.java
trunk/engine/src/test/java/com/metamatrix/query/processor/proc/TestProcedureProcessor.java
trunk/engine/src/test/java/com/metamatrix/query/processor/xml/TestXMLProcessor.java
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestPreparedPlanCache.java
trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java
trunk/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java
trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java
trunk/runtime/src/main/java/org/teiid/logging/Log4JUtil.java
trunk/runtime/src/main/java/org/teiid/services/SessionServiceImpl.java
trunk/runtime/src/main/java/org/teiid/services/TeiidLoginContext.java
trunk/test-integration/common/src/test/java/org/teiid/dqp/internal/process/BaseQueryTest.java
Log:
TEIID-1026 correcting some logging logic and making expanded use of of the analysisrecord
Modified: trunk/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java 2010-03-25
16:42:20 UTC (rev 2000)
+++ trunk/client/src/main/java/org/teiid/jdbc/CallableStatementImpl.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -111,14 +111,6 @@
super.close();
}
- /**
- * <p>Gets the value of a OUTPUT parameter as a java.math.BigDecimal object
with
- * scale digits to the right of the decimal point.
- * @param parameterIndex whose value is to be fetched from the result.
- * @return The parameter at the given index is returned as an BigDecimal object.
- * @throws SQLException if param datatype is not NUMERIC
- * @deprecated
- */
public java.math.BigDecimal getBigDecimal(int parameterIndex, int scale) throws
SQLException {
BigDecimal bigDecimalParam =
DataTypeTransformer.getBigDecimal(getObject(parameterIndex));
@@ -428,7 +420,7 @@
}
public byte[] getBytes(int parameterIndex) throws SQLException {
- throw SqlUtil.createFeatureNotSupportedException();
+ return DataTypeTransformer.getBytes(getObject(parameterIndex));
}
public byte[] getBytes(String parameterName) throws SQLException {
@@ -436,7 +428,7 @@
}
public Reader getCharacterStream(int parameterIndex) throws SQLException {
- throw SqlUtil.createFeatureNotSupportedException();
+ return DataTypeTransformer.getCharacterStream(getObject(parameterIndex));
}
public Reader getCharacterStream(String parameterName) throws SQLException {
Modified: trunk/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java 2010-03-25 16:42:20
UTC (rev 2000)
+++ trunk/client/src/main/java/org/teiid/jdbc/DataTypeTransformer.java 2010-03-25 16:55:55
UTC (rev 2001)
@@ -22,6 +22,8 @@
package org.teiid.jdbc;
+import java.io.Reader;
+import java.io.StringReader;
import java.math.BigDecimal;
import java.sql.Blob;
import java.sql.Clob;
@@ -267,4 +269,20 @@
static final SQLXML getSQLXML(Object value) throws SQLException {
return transform(value, SQLXML.class, DefaultDataClasses.XML, "SQLXML");
//$NON-NLS-1$
}
+
+ static final Reader getCharacterStream(Object value) throws SQLException {
+ if (value == null) {
+ return null;
+ }
+
+ if (value instanceof Clob) {
+ return ((Clob) value).getCharacterStream();
+ }
+
+ if (value instanceof SQLXML) {
+ return ((SQLXML)value).getCharacterStream();
+ }
+
+ return new StringReader(getString(value));
+ }
}
\ No newline at end of file
Modified: trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java 2010-03-25
16:42:20 UTC (rev 2000)
+++ trunk/client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -42,7 +42,7 @@
import org.teiid.client.metadata.ResultsMetadataDefaults;
import com.metamatrix.common.types.DataTypeManager;
-import com.metamatrix.common.types.MMJDBCSQLTypeInfo;
+import com.metamatrix.common.types.JDBCSQLTypeInfo;
import com.metamatrix.common.util.SqlUtil;
import com.metamatrix.core.CoreConstants;
import com.metamatrix.core.MetaMatrixRuntimeException;
@@ -120,7 +120,7 @@
private static final String PRECISION_MAPPING;
static {
- String[] internalTypes = MMJDBCSQLTypeInfo.getMMTypeNames();
+ String[] internalTypes = JDBCSQLTypeInfo.getMMTypeNames();
StringBuffer typeMapping = new StringBuffer();
StringBuffer precisionMapping = new StringBuffer();
for (int i = 0; i < internalTypes.length; i++) {
@@ -128,7 +128,7 @@
typeMapping.append(","); //$NON-NLS-1$
precisionMapping.append(","); //$NON-NLS-1$
}
-
typeMapping.append(internalTypes[i]).append(",").append(MMJDBCSQLTypeInfo.getSQLType(internalTypes[i]));
//$NON-NLS-1$
+
typeMapping.append(internalTypes[i]).append(",").append(JDBCSQLTypeInfo.getSQLType(internalTypes[i]));
//$NON-NLS-1$
precisionMapping.append(internalTypes[i]).append(",").append(ResultsMetadataDefaults.getDefaultPrecision(internalTypes[i]));
//$NON-NLS-1$
}
TYPE_MAPPING = typeMapping.toString();
@@ -394,35 +394,35 @@
// HardCoding metadata details for SCOPE column
metadataList[0] = getColumnMetadata(null, JDBCColumnNames.BEST_ROW.SCOPE,
- MMJDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
// HardCoding metadata details for COLUMN_NAME column
metadataList[1] = getColumnMetadata(null, JDBCColumnNames.BEST_ROW.COLUMN_NAME,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
// HardCoding metadata details for DATA_TYPE column
metadataList[2] = getColumnMetadata(null, JDBCColumnNames.BEST_ROW.DATA_TYPE,
- MMJDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
// HardCoding metadata details for TYPE_NAME column
metadataList[3] = getColumnMetadata(null, JDBCColumnNames.BEST_ROW.TYPE_NAME,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
// HardCoding metadata details for COLUMN_SIZE column
metadataList[4] = getColumnMetadata(null, JDBCColumnNames.BEST_ROW.COLUMN_SIZE,
- MMJDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
// HardCoding metadata details for BUFFER_LENGTH column
metadataList[5] = getColumnMetadata(null,
JDBCColumnNames.BEST_ROW.BUFFER_LENGTH,
- MMJDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
// HardCoding metadata details for DECIMAL_DIGITS column
metadataList[6] = getColumnMetadata(null,
JDBCColumnNames.BEST_ROW.DECIMAL_DIGITS,
- MMJDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
// HardCoding metadata details for PSEUDO_COLUMN column
metadataList[7] = getColumnMetadata(null,
JDBCColumnNames.BEST_ROW.PSEUDO_COLUMN,
- MMJDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
// logging
String logMsg =
JDBCPlugin.Util.getString("MMDatabaseMetadata.Best_row_sucess", table);
//$NON-NLS-1$
@@ -443,7 +443,7 @@
// HardCoding metadata details for TABLE_CAT column
metadataList[0] = getColumnMetadata(null, JDBCColumnNames.CATALOGS.TABLE_CAT,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
// logging
String logMsg =
JDBCPlugin.Util.getString("MMDatabaseMetadata.Catalog_success"); //$NON-NLS-1$
@@ -526,21 +526,21 @@
Map[] metadataList = new Map[8];
metadataList[0] = getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.TABLE_CAT,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
metadataList[1] = getColumnMetadata(null,
JDBCColumnNames.PRIVILEGES.TABLE_SCHEM,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
metadataList[2] = getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.TABLE_NAME,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
metadataList[3] = getColumnMetadata(null,
JDBCColumnNames.PRIVILEGES.COLUMN_NAME,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
metadataList[4] = getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.GRANTOR,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
metadataList[5] = getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.GRANTEE,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
metadataList[6] = getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.PRIVILEGE,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
metadataList[7] = getColumnMetadata(null,
JDBCColumnNames.PRIVILEGES.IS_GRANTABLE,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
return createResultSet(records, metadataList);
@@ -1364,19 +1364,19 @@
// HardCoding metadata details for TABLE_CAT column
metadataList[0] = getColumnMetadata(null,
JDBCColumnNames.SUPER_TABLES.TABLE_CAT,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
// HardCoding metadata details for TABLE_SCHEM column
metadataList[1] = getColumnMetadata(null,
JDBCColumnNames.SUPER_TABLES.TABLE_SCHEM,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
// HardCoding metadata details for TABLE_NAME column
metadataList[2] = getColumnMetadata(null,
JDBCColumnNames.SUPER_TABLES.TABLE_NAME,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
// HardCoding metadata details for SUPERTABLE_NAME column
metadataList[3] = getColumnMetadata(null,
JDBCColumnNames.SUPER_TABLES.SUPERTABLE_NAME,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
// construct results object from column values and their metadata
return createResultSet(records, metadataList);
@@ -1402,27 +1402,27 @@
// HardCoding metadata details for TYPE_CAT column
metadataList[0] = getColumnMetadata(null, JDBCColumnNames.SUPER_TYPES.TYPE_CAT,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
// HardCoding metadata details for TYPE_SCHEM column
metadataList[1] = getColumnMetadata(null,
JDBCColumnNames.SUPER_TYPES.TYPE_SCHEM,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
// HardCoding metadata details for TYPE_NAME column
metadataList[2] = getColumnMetadata(null, JDBCColumnNames.SUPER_TYPES.TYPE_NAME,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
// HardCoding metadata details for SUPERTYPE_CAT column
metadataList[3] = getColumnMetadata(null,
JDBCColumnNames.SUPER_TYPES.SUPERTYPE_CAT,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
// HardCoding metadata details for SUPERTYPE_SCHEM column
metadataList[4] = getColumnMetadata(null,
JDBCColumnNames.SUPER_TYPES.SUPERTYPE_SCHEM,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
// HardCoding metadata details for SUPERTYPE_NAME column
metadataList[5] = getColumnMetadata(null,
JDBCColumnNames.SUPER_TYPES.SUPERTYPE_NAME,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
// construct results object from column values and their metadata
return createResultSet(records, metadataList);
@@ -1440,19 +1440,19 @@
Map[] metadataList = new Map[7];
metadataList[0] = getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.TABLE_CAT,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
metadataList[1] = getColumnMetadata(null,
JDBCColumnNames.PRIVILEGES.TABLE_SCHEM,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
metadataList[2] = getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.TABLE_NAME,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
metadataList[3] = getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.GRANTOR,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
metadataList[4] = getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.GRANTEE,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
metadataList[5] = getColumnMetadata(null, JDBCColumnNames.PRIVILEGES.PRIVILEGE,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
metadataList[6] = getColumnMetadata(null,
JDBCColumnNames.PRIVILEGES.IS_GRANTABLE,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE);
return createResultSet(records, metadataList);
@@ -1576,7 +1576,7 @@
Map[] metadataList = new Map[1];
metadataList[0] = getColumnMetadata(null, JDBCColumnNames.TABLE_TYPES.TABLE_TYPE,
- MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
+ JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL);
logger.fine(JDBCPlugin.Util.getString("MMDatabaseMetadata.getTableType_success"));
//$NON-NLS-1$
@@ -1614,24 +1614,24 @@
Map[] metadataList = new Map[18];
- metadataList[0] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.TYPE_NAME, MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[1] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.DATA_TYPE, MMJDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[2] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.PRECISION, MMJDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[3] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.LITERAL_PREFIX, MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[4] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.LITERAL_SUFFIX, MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[5] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.CREATE_PARAMS, MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[6] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.NULLABLE, MMJDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[7] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.CASE_SENSITIVE, MMJDBCSQLTypeInfo.BOOLEAN,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE,
Boolean.TRUE);//$NON-NLS-1$
- metadataList[8] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.SEARCHABLE, MMJDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[9] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.UNSIGNED_ATTRIBUTE, MMJDBCSQLTypeInfo.BOOLEAN,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[10] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.FIXED_PREC_SCALE, MMJDBCSQLTypeInfo.BOOLEAN,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[11] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.AUTOINCREMENT, MMJDBCSQLTypeInfo.BOOLEAN,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.TRUE,
Boolean.TRUE);//$NON-NLS-1$
- metadataList[12] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.LOCAL_TYPE_NAME, MMJDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[13] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.MINIMUM_SCALE, MMJDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[14] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.MAXIMUM_SCALE, MMJDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[15] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.SQL_DATA_TYPE, MMJDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[16] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.SQL_DATETIME_SUB, MMJDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
- metadataList[17] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.NUM_PREC_RADIX, MMJDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[0] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.TYPE_NAME, JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[1] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.DATA_TYPE, JDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[2] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.PRECISION, JDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[3] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.LITERAL_PREFIX, JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[4] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.LITERAL_SUFFIX, JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[5] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.CREATE_PARAMS, JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[6] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.NULLABLE, JDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[7] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.CASE_SENSITIVE, JDBCSQLTypeInfo.BOOLEAN,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE,
Boolean.TRUE);//$NON-NLS-1$
+ metadataList[8] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.SEARCHABLE, JDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[9] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.UNSIGNED_ATTRIBUTE, JDBCSQLTypeInfo.BOOLEAN,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[10] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.FIXED_PREC_SCALE, JDBCSQLTypeInfo.BOOLEAN,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[11] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.AUTOINCREMENT, JDBCSQLTypeInfo.BOOLEAN,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.TRUE,
Boolean.TRUE);//$NON-NLS-1$
+ metadataList[12] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.LOCAL_TYPE_NAME, JDBCSQLTypeInfo.STRING,
ResultsMetadataConstants.NULL_TYPES.NOT_NULL,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[13] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.MINIMUM_SCALE, JDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[14] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.MAXIMUM_SCALE, JDBCSQLTypeInfo.SHORT,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[15] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.SQL_DATA_TYPE, JDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[16] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.SQL_DATETIME_SUB, JDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.TRUE, Boolean.TRUE,
Boolean.FALSE);//$NON-NLS-1$
+ metadataList[17] = getColumnMetadata(CoreConstants.SYSTEM_MODEL + "." +
DATA_TYPES, JDBCColumnNames.TYPE_INFO.NUM_PREC_RADIX, JDBCSQLTypeInfo.INTEGER,
ResultsMetadataConstants.NULL_TYPES.NULLABLE,
ResultsMetadataConstants.SEARCH_TYPES.SEARCHABLE, Boolean.FALSE, Boolean.FALSE,
Boolean.FALSE);//$NON-NLS-1$
ResultSetMetaData rmetadata = new ResultSetMetaDataImpl(new
MetadataProvider(metadataList));
@@ -1642,7 +1642,7 @@
}
private Object[] createTypeInfoRow(String typeName, String prefix, String suffix,
Boolean unsigned, Boolean fixedPrecScale, int radix){
- return new Object[] {typeName, new
Integer(MMJDBCSQLTypeInfo.getSQLType(typeName)),
ResultsMetadataDefaults.getDefaultPrecision(typeName), prefix, suffix, null, new
Short((short)DatabaseMetaData.typeNullable), Boolean.FALSE, new
Short((short)DatabaseMetaData.typeSearchable), unsigned, fixedPrecScale, Boolean.FALSE,
typeName, new Short((short)0), new Short((short)255), null, null, new Integer(radix)};
+ return new Object[] {typeName, new Integer(JDBCSQLTypeInfo.getSQLType(typeName)),
ResultsMetadataDefaults.getDefaultPrecision(typeName), prefix, suffix, null, new
Short((short)DatabaseMetaData.typeNullable), Boolean.FALSE, new
Short((short)DatabaseMetaData.typeSearchable), unsigned, fixedPrecScale, Boolean.FALSE,
typeName, new Short((short)0), new Short((short)255), null, null, new Integer(radix)};
}
/**
@@ -1677,13 +1677,13 @@
JDBCColumnNames.UDTS.BASE_TYPE
};
String[] dataTypes = new String[] {
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.STRING,
- MMJDBCSQLTypeInfo.SHORT
+ JDBCSQLTypeInfo.STRING,
+ JDBCSQLTypeInfo.STRING,
+ JDBCSQLTypeInfo.STRING,
+ JDBCSQLTypeInfo.STRING,
+ JDBCSQLTypeInfo.STRING,
+ JDBCSQLTypeInfo.STRING,
+ JDBCSQLTypeInfo.SHORT
};
return createEmptyResultSet(columnNames, dataTypes);
}
@@ -1947,8 +1947,8 @@
}
public boolean supportsConvert(int fromType, int toType) throws SQLException {
- String fromName = MMJDBCSQLTypeInfo.getTypeName(fromType);
- String toName = MMJDBCSQLTypeInfo.getTypeName(toType);
+ String fromName = JDBCSQLTypeInfo.getTypeName(fromType);
+ String toName = JDBCSQLTypeInfo.getTypeName(toType);
if (fromName.equals(toName)) {
if (fromName.equals(DataTypeManager.DefaultDataTypes.OBJECT) && fromName !=
toName) {
Modified: trunk/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java 2010-03-25
16:42:20 UTC (rev 2000)
+++ trunk/client/src/main/java/org/teiid/jdbc/ParameterMetaDataImpl.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -27,7 +27,7 @@
import java.sql.PreparedStatement;
import java.sql.SQLException;
-import com.metamatrix.common.types.MMJDBCSQLTypeInfo;
+import com.metamatrix.common.types.JDBCSQLTypeInfo;
/**
* Note: this is currently only accurate for {@link PreparedStatement}s.
@@ -43,7 +43,7 @@
@Override
public String getParameterClassName(int param) throws SQLException {
- return MMJDBCSQLTypeInfo.getJavaClassName(getParameterType(param));
+ return JDBCSQLTypeInfo.getJavaClassName(getParameterType(param));
}
@Override
Modified: trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java 2010-03-25
16:42:20 UTC (rev 2000)
+++ trunk/client/src/main/java/org/teiid/jdbc/PreparedStatementImpl.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -60,7 +60,7 @@
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
-import com.metamatrix.common.types.MMJDBCSQLTypeInfo;
+import com.metamatrix.common.types.JDBCSQLTypeInfo;
import com.metamatrix.common.util.SqlUtil;
import com.metamatrix.common.util.TimestampWithTimezone;
import com.metamatrix.core.util.ArgCheck;
@@ -501,37 +501,37 @@
}
// get the java class name for the given JDBC type
- String javaClassName = MMJDBCSQLTypeInfo.getJavaClassName(targetJdbcType);
+ String javaClassName = JDBCSQLTypeInfo.getJavaClassName(targetJdbcType);
// transform the value to the target datatype
- if(javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.STRING_CLASS)) {
+ if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.STRING_CLASS)) {
targetObject = value.toString();
- } else if(javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.CHAR_CLASS)) {
+ } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.CHAR_CLASS)) {
targetObject = DataTypeTransformer.getCharacter(value);
- } else if(javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.INTEGER_CLASS)) {
+ } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.INTEGER_CLASS)) {
targetObject = DataTypeTransformer.getInteger(value);
- } else if(javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.BYTE_CLASS)) {
+ } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.BYTE_CLASS)) {
targetObject = DataTypeTransformer.getByte(value);
- } else if(javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.SHORT_CLASS)) {
+ } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.SHORT_CLASS)) {
targetObject = DataTypeTransformer.getShort(value);
- } else if(javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.LONG_CLASS)) {
+ } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.LONG_CLASS)) {
targetObject = DataTypeTransformer.getLong(value);
- } else if(javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.FLOAT_CLASS)) {
+ } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.FLOAT_CLASS)) {
targetObject = DataTypeTransformer.getFloat(value);
- } else if(javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.DOUBLE_CLASS)) {
+ } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.DOUBLE_CLASS)) {
targetObject = DataTypeTransformer.getDouble(value);
- } else if(javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.BOOLEAN_CLASS)) {
+ } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.BOOLEAN_CLASS)) {
targetObject = DataTypeTransformer.getBoolean(value);
- } else if(javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.BIGDECIMAL_CLASS)) {
+ } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.BIGDECIMAL_CLASS)) {
targetObject = DataTypeTransformer.getBigDecimal(value);
- } else if(javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.TIMESTAMP_CLASS)) {
+ } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.TIMESTAMP_CLASS)) {
targetObject = DataTypeTransformer.getTimestamp(value);
- } else if(javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.DATE_CLASS)) {
+ } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.DATE_CLASS)) {
targetObject = DataTypeTransformer.getDate(value);
- } else if(javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.TIME_CLASS)) {
+ } else if(javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.TIME_CLASS)) {
targetObject = DataTypeTransformer.getTime(value);
- } else if (javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.BLOB_CLASS)) {
+ } else if (javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.BLOB_CLASS)) {
targetObject = DataTypeTransformer.getBlob(value);
- } else if (javaClassName.equalsIgnoreCase(MMJDBCSQLTypeInfo.CLOB_CLASS)) {
+ } else if (javaClassName.equalsIgnoreCase(JDBCSQLTypeInfo.CLOB_CLASS)) {
targetObject = DataTypeTransformer.getClob(value);
} else {
String msg =
JDBCPlugin.Util.getString("MMPreparedStatement.Err_transform_obj");
//$NON-NLS-1$
Modified: trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java 2010-03-25 16:42:20 UTC
(rev 2000)
+++ trunk/client/src/main/java/org/teiid/jdbc/ResultSetImpl.java 2010-03-25 16:55:55 UTC
(rev 2001)
@@ -554,19 +554,7 @@
public java.io.Reader getCharacterStream(int columnIndex)
throws SQLException {
Object value = getObject(columnIndex);
- if (value == null) {
- return null;
- }
-
- if (value instanceof Clob) {
- return ((Clob) value).getCharacterStream();
- }
-
- if (value instanceof SQLXML) {
- return ((SQLXML)value).getCharacterStream();
- }
-
- return new StringReader(getString(columnIndex));
+ return DataTypeTransformer.getCharacterStream(value);
}
/**
Modified: trunk/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java
===================================================================
--- trunk/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java 2010-03-25
16:42:20 UTC (rev 2000)
+++ trunk/client/src/main/java/org/teiid/jdbc/ResultSetMetaDataImpl.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -27,7 +27,7 @@
import org.teiid.client.metadata.ResultsMetadataConstants;
-import com.metamatrix.common.types.MMJDBCSQLTypeInfo;
+import com.metamatrix.common.types.JDBCSQLTypeInfo;
/**
*/
@@ -140,7 +140,7 @@
public int getColumnType(int index) throws SQLException {
String runtimeTypeName = provider.getStringValue(adjustColumn(index),
ResultsMetadataConstants.DATA_TYPE);
- return MMJDBCSQLTypeInfo.getSQLType(runtimeTypeName);
+ return JDBCSQLTypeInfo.getSQLType(runtimeTypeName);
}
public String getColumnTypeName(int index) throws SQLException {
@@ -160,7 +160,7 @@
}
public String getColumnClassName(int index) throws SQLException {
- return MMJDBCSQLTypeInfo.getJavaClassName(getColumnType(index));
+ return JDBCSQLTypeInfo.getJavaClassName(getColumnType(index));
}
}
Modified: trunk/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java
===================================================================
--- trunk/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java 2010-03-25 16:42:20
UTC (rev 2000)
+++ trunk/client/src/test/java/org/teiid/jdbc/TestAllResultsImpl.java 2010-03-25 16:55:55
UTC (rev 2001)
@@ -49,7 +49,7 @@
import org.teiid.jdbc.StatementImpl;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
-import com.metamatrix.common.types.MMJDBCSQLTypeInfo;
+import com.metamatrix.common.types.JDBCSQLTypeInfo;
import com.metamatrix.common.util.TimestampWithTimezone;
import com.metamatrix.query.unittest.TimestampUtil;
@@ -758,8 +758,8 @@
private String[] dataTypes() {
String[] types = new String[2];
- types[0] = MMJDBCSQLTypeInfo.INTEGER;
- types[1] = MMJDBCSQLTypeInfo.STRING;
+ types[0] = JDBCSQLTypeInfo.INTEGER;
+ types[1] = JDBCSQLTypeInfo.STRING;
return types;
}
@@ -780,7 +780,7 @@
/** without metadata info. */
private ResultsMessage exampleResultsMsg1() {
- return exampleMessage(exampleResults1(5), new String[] { "IntNum" }, new
String[] { MMJDBCSQLTypeInfo.INTEGER }); //$NON-NLS-1$
+ return exampleMessage(exampleResults1(5), new String[] { "IntNum" }, new
String[] { JDBCSQLTypeInfo.INTEGER }); //$NON-NLS-1$
}
private ResultsMessage exampleMessage(List<Object>[] results, String[]
columnNames, String[] datatypes) {
@@ -798,7 +798,7 @@
/** without metadata info. */
private ResultsMessage exampleResultsMsg2() {
- return exampleMessage(exampleResults2(), new String[] { "IntNum",
"StringNum" }, new String[] { MMJDBCSQLTypeInfo.INTEGER,
MMJDBCSQLTypeInfo.STRING }); //$NON-NLS-1$ //$NON-NLS-2$
+ return exampleMessage(exampleResults2(), new String[] { "IntNum",
"StringNum" }, new String[] { JDBCSQLTypeInfo.INTEGER, JDBCSQLTypeInfo.STRING
}); //$NON-NLS-1$ //$NON-NLS-2$
}
/** with limited metadata info. */
@@ -817,7 +817,7 @@
/** no rows. */
private ResultsMessage exampleResultsMsg3() {
- return exampleMessage(new List[0], new String[] { "IntNum",
"StringNum" }, new String[] { MMJDBCSQLTypeInfo.INTEGER,
MMJDBCSQLTypeInfo.STRING }); //$NON-NLS-1$ //$NON-NLS-2$
+ return exampleMessage(new List[0], new String[] { "IntNum",
"StringNum" }, new String[] { JDBCSQLTypeInfo.INTEGER, JDBCSQLTypeInfo.STRING
}); //$NON-NLS-1$ //$NON-NLS-2$
}
private static ResultsMessage exampleResultsMsg4(int begin, int length, int fetchSize,
boolean lastBatch) {
@@ -827,7 +827,7 @@
List[] results = exampleResults1(length, begin);
resultsMsg.setResults(results);
resultsMsg.setColumnNames(new String[] { "IntKey" }); //$NON-NLS-1$
- resultsMsg.setDataTypes(new String[] { MMJDBCSQLTypeInfo.INTEGER });
+ resultsMsg.setDataTypes(new String[] { JDBCSQLTypeInfo.INTEGER });
resultsMsg.setFirstRow(begin);
if (lastBatch) {
resultsMsg.setFinalRow(begin + results.length - 1);
@@ -854,7 +854,7 @@
ResultsMessage resultsMsg = new ResultsMessage(request);
resultsMsg.setResults(new List[] {Arrays.asList(new Timestamp(0))});
resultsMsg.setColumnNames(new String[] { "TS" }); //$NON-NLS-1$
- resultsMsg.setDataTypes(new String[] { MMJDBCSQLTypeInfo.TIMESTAMP });
+ resultsMsg.setDataTypes(new String[] { JDBCSQLTypeInfo.TIMESTAMP });
resultsMsg.setFirstRow(1);
resultsMsg.setFinalRow(1);
resultsMsg.setLastRow(1);
@@ -871,7 +871,7 @@
@Test public void testWasNull() throws SQLException{
ResultsMessage message = exampleMessage(new List[] { Arrays.asList((String)null),
Arrays.asList("1") }, new String[] { "string" }, //$NON-NLS-1$
- new String[] { MMJDBCSQLTypeInfo.STRING });
+ new String[] { JDBCSQLTypeInfo.STRING });
ResultSetImpl rs = new ResultSetImpl(message, statement);
assertTrue(rs.next());
assertEquals(Boolean.FALSE.booleanValue(), rs.getBoolean(1));
@@ -898,7 +898,7 @@
TimeZone.setDefault(TimeZone.getTimeZone("GMT-05:00")); //$NON-NLS-1$
ResultsMessage message = exampleMessage(new List[] { Arrays.asList(1,
TimestampUtil.createTime(0, 0, 0), TimestampUtil.createDate(1, 1, 1),
TimestampUtil.createTimestamp(1, 1, 1, 1, 1, 1, 1), "<root/>") },
//$NON-NLS-1$
new String[] { "int", "time", "date",
"timestamp", "sqlxml" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//$NON-NLS-4$ //$NON-NLS-5$
- new String[] { MMJDBCSQLTypeInfo.INTEGER, MMJDBCSQLTypeInfo.TIME,
MMJDBCSQLTypeInfo.DATE, MMJDBCSQLTypeInfo.TIMESTAMP, MMJDBCSQLTypeInfo.STRING });
+ new String[] { JDBCSQLTypeInfo.INTEGER, JDBCSQLTypeInfo.TIME, JDBCSQLTypeInfo.DATE,
JDBCSQLTypeInfo.TIMESTAMP, JDBCSQLTypeInfo.STRING });
TimestampWithTimezone.resetCalendar(TimeZone.getTimeZone("GMT-06:00"));
//$NON-NLS-1$
ResultSetImpl rs = new ResultSetImpl(message, statement);
assertTrue(rs.next());
Modified: trunk/client/src/test/java/org/teiid/jdbc/TestMMCallableStatement.java
===================================================================
--- trunk/client/src/test/java/org/teiid/jdbc/TestMMCallableStatement.java 2010-03-25
16:42:20 UTC (rev 2000)
+++ trunk/client/src/test/java/org/teiid/jdbc/TestMMCallableStatement.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -42,7 +42,7 @@
import org.teiid.jdbc.ResultSetImpl;
import org.teiid.net.ServerConnection;
-import com.metamatrix.common.types.MMJDBCSQLTypeInfo;
+import com.metamatrix.common.types.JDBCSQLTypeInfo;
public class TestMMCallableStatement extends TestCase {
@@ -72,7 +72,7 @@
List[] results = new List[] {Arrays.asList(null, null, null), Arrays.asList(null, 1,
2)};
resultsMsg.setResults(results);
resultsMsg.setColumnNames(new String[] { "IntNum", "Out1",
"Out2" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
- resultsMsg.setDataTypes(new String[] { MMJDBCSQLTypeInfo.INTEGER,
MMJDBCSQLTypeInfo.INTEGER, MMJDBCSQLTypeInfo.INTEGER });
+ resultsMsg.setDataTypes(new String[] { JDBCSQLTypeInfo.INTEGER,
JDBCSQLTypeInfo.INTEGER, JDBCSQLTypeInfo.INTEGER });
resultsMsg.setFinalRow(results.length);
resultsMsg.setLastRow(results.length);
resultsMsg.setFirstRow(1);
Modified: trunk/common-core/src/main/java/com/metamatrix/common/types/ClobType.java
===================================================================
--- trunk/common-core/src/main/java/com/metamatrix/common/types/ClobType.java 2010-03-25
16:42:20 UTC (rev 2000)
+++ trunk/common-core/src/main/java/com/metamatrix/common/types/ClobType.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -157,7 +157,7 @@
return data;
}
- private final static int CHAR_SEQUENCE_BUFFER_SIZE = 2 << 12;
+ private final static int CHAR_SEQUENCE_BUFFER_SIZE = 1 << 12;
public CharSequence getCharSequence() {
return new CharSequence() {
Modified:
trunk/common-core/src/main/java/com/metamatrix/common/types/DataTypeManager.java
===================================================================
---
trunk/common-core/src/main/java/com/metamatrix/common/types/DataTypeManager.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/common-core/src/main/java/com/metamatrix/common/types/DataTypeManager.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -51,7 +51,6 @@
import com.metamatrix.common.types.basic.AnyToStringTransform;
import com.metamatrix.common.types.basic.BooleanToNumberTransform;
import com.metamatrix.common.types.basic.ClobToSQLXMLTransform;
-import com.metamatrix.common.types.basic.ClobToStringTransform;
import com.metamatrix.common.types.basic.FixedNumberToBigDecimalTransform;
import com.metamatrix.common.types.basic.FixedNumberToBigIntegerTransform;
import com.metamatrix.common.types.basic.FloatingNumberToBigDecimalTransform;
@@ -772,7 +771,7 @@
if (value instanceof InputStreamFactory) {
return new XMLType(new SQLXMLImpl((InputStreamFactory)value));
}
- StandardXMLTranslator sxt = new StandardXMLTranslator(value, null);
+ StandardXMLTranslator sxt = new StandardXMLTranslator(value);
try {
return new XMLType(new SQLXMLImpl(sxt.getString()));
} catch (Exception e) {
Copied: trunk/common-core/src/main/java/com/metamatrix/common/types/JDBCSQLTypeInfo.java
(from rev 1988,
trunk/common-core/src/main/java/com/metamatrix/common/types/MMJDBCSQLTypeInfo.java)
===================================================================
--- trunk/common-core/src/main/java/com/metamatrix/common/types/JDBCSQLTypeInfo.java
(rev 0)
+++
trunk/common-core/src/main/java/com/metamatrix/common/types/JDBCSQLTypeInfo.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -0,0 +1,264 @@
+/*
+ * JBoss, Home of Professional Open Source.
+ * See the COPYRIGHT.txt file distributed with this work for information
+ * regarding copyright ownership. Some portions may be licensed
+ * to Red Hat, Inc. under one or more contributor license agreements.
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
+ * 02110-1301 USA.
+ */
+
+package com.metamatrix.common.types;
+
+import java.sql.Blob;
+import java.sql.Clob;
+//## JDBC4.0-begin ##
+import java.sql.SQLXML;
+//## JDBC4.0-end ##
+
+/*## JDBC3.0-JDK1.5-begin ##
+import com.metamatrix.core.jdbc.SQLXML;
+## JDBC3.0-JDK1.5-end ##*/
+import java.sql.Types;
+import java.util.HashMap;
+import java.util.Map;
+
+/**
+ * <p> This is a helper class used to obtain SQL type information for java types.
+ * The SQL type information is obtained from java.sql.Types class. The integers and
+ * strings returned by methods in this class are based on constants in java.sql.Types.
+ */
+
+public final class JDBCSQLTypeInfo {
+
+
+ // Prevent instantiation
+ private JDBCSQLTypeInfo() {}
+
+ // metamatrix types
+ public static final String STRING = DataTypeManager.DefaultDataTypes.STRING;
+ public static final String BOOLEAN = DataTypeManager.DefaultDataTypes.BOOLEAN;
+ public static final String TIME = DataTypeManager.DefaultDataTypes.TIME;
+ public static final String DATE = DataTypeManager.DefaultDataTypes.DATE;
+ public static final String TIMESTAMP = DataTypeManager.DefaultDataTypes.TIMESTAMP;
+ public static final String INTEGER = DataTypeManager.DefaultDataTypes.INTEGER;
+ public static final String FLOAT = DataTypeManager.DefaultDataTypes.FLOAT;
+ public static final String DOUBLE = DataTypeManager.DefaultDataTypes.DOUBLE;
+ public static final String BIGDECIMAL =
DataTypeManager.DefaultDataTypes.BIG_DECIMAL;
+ public static final String BIGINTEGER =
DataTypeManager.DefaultDataTypes.BIG_INTEGER;
+ public static final String BYTE = DataTypeManager.DefaultDataTypes.BYTE;
+ public static final String SHORT = DataTypeManager.DefaultDataTypes.SHORT;
+ public static final String LONG = DataTypeManager.DefaultDataTypes.LONG;
+ public static final String CHAR = DataTypeManager.DefaultDataTypes.CHAR;
+ public static final String OBJECT = DataTypeManager.DefaultDataTypes.OBJECT;
+ public static final String CLOB = DataTypeManager.DefaultDataTypes.CLOB;
+ public static final String BLOB = DataTypeManager.DefaultDataTypes.BLOB;
+ public static final String XML = DataTypeManager.DefaultDataTypes.XML;
+ public static final String NULL = DataTypeManager.DefaultDataTypes.NULL;
+
+ //java class names
+ public static final String STRING_CLASS =
DataTypeManager.DefaultDataClasses.STRING.getName();
+ public static final String BOOLEAN_CLASS =
DataTypeManager.DefaultDataClasses.BOOLEAN.getName();
+ public static final String TIME_CLASS =
DataTypeManager.DefaultDataClasses.TIME.getName();
+ public static final String DATE_CLASS =
DataTypeManager.DefaultDataClasses.DATE.getName();
+ public static final String TIMESTAMP_CLASS =
DataTypeManager.DefaultDataClasses.TIMESTAMP.getName();
+ public static final String INTEGER_CLASS =
DataTypeManager.DefaultDataClasses.INTEGER.getName();
+ public static final String FLOAT_CLASS =
DataTypeManager.DefaultDataClasses.FLOAT.getName();
+ public static final String DOUBLE_CLASS =
DataTypeManager.DefaultDataClasses.DOUBLE.getName();
+ public static final String BIGDECIMAL_CLASS =
DataTypeManager.DefaultDataClasses.BIG_DECIMAL.getName();
+ public static final String BYTE_CLASS =
DataTypeManager.DefaultDataClasses.BYTE.getName();
+ public static final String SHORT_CLASS =
DataTypeManager.DefaultDataClasses.SHORT.getName();
+ public static final String LONG_CLASS =
DataTypeManager.DefaultDataClasses.LONG.getName();
+ public static final String CHAR_CLASS =
DataTypeManager.DefaultDataClasses.CHAR.getName();
+ public static final String BIGINTEGER_CLASS =
DataTypeManager.DefaultDataClasses.BIG_INTEGER.getName();
+ public static final String OBJECT_CLASS =
DataTypeManager.DefaultDataClasses.OBJECT.getName();
+ public static final String CLOB_CLASS = Clob.class.getName();
+ public static final String BLOB_CLASS = Blob.class.getName();
+ //## JDBC4.0-begin ##
+ public static final String XML_CLASS = SQLXML.class.getName();
+ //## JDBC4.0-end ##
+ /*## JDBC3.0-JDK1.5-begin ##
+ public static final String XML_CLASS =
DataTypeManager.DefaultDataClasses.OBJECT.getName();
+ ## JDBC3.0-JDK1.5-end ##*/
+
+ private static Map<String, Integer> NAME_TO_TYPE_MAP = new HashMap<String,
Integer>();
+ private static Map<Integer, String> TYPE_TO_NAME_MAP = new HashMap<Integer,
String>();
+ private static Map<String, String> NAME_TO_CLASSNAME = new HashMap<String,
String>();
+ private static Map<String, String> CLASSNAME_TO_NAME = new HashMap<String,
String>();
+
+ static {
+ addTypeMapping(STRING, STRING_CLASS, Types.VARCHAR, Types.LONGVARCHAR,
Types.CHAR);
+ addTypeMapping(CHAR, CHAR_CLASS, Types.CHAR, false);
+ addTypeMapping(BOOLEAN, BOOLEAN_CLASS, Types.BIT);
+ addTypeMapping(TIME, TIME_CLASS, Types.TIME);
+ addTypeMapping(DATE, DATE_CLASS, Types.DATE);
+ addTypeMapping(TIMESTAMP, TIMESTAMP_CLASS, Types.TIMESTAMP);
+ addTypeMapping(INTEGER, INTEGER_CLASS, Types.INTEGER);
+ addTypeMapping(FLOAT, FLOAT_CLASS, Types.REAL);
+ addTypeMapping(DOUBLE, DOUBLE_CLASS, Types.DOUBLE, Types.FLOAT);
+ addTypeMapping(BIGDECIMAL, BIGDECIMAL_CLASS, Types.NUMERIC, Types.DECIMAL);
+ addTypeMapping(BIGINTEGER, BIGINTEGER_CLASS, Types.NUMERIC, false);
+ addTypeMapping(BYTE, BYTE_CLASS, Types.TINYINT);
+ addTypeMapping(SHORT, SHORT_CLASS, Types.SMALLINT);
+ addTypeMapping(LONG, LONG_CLASS, Types.BIGINT);
+ addTypeMapping(OBJECT, OBJECT_CLASS, Types.JAVA_OBJECT);
+ addTypeMapping(CLOB, CLOB_CLASS, Types.CLOB);
+ addTypeMapping(BLOB, BLOB_CLASS, Types.BLOB, Types.BINARY, Types.VARBINARY,
Types.LONGVARBINARY);
+
+ addTypeMapping(NULL, null, Types.NULL);
+
+ //## JDBC4.0-begin ##
+ addTypeMapping(XML, XML_CLASS, Types.SQLXML);
+ TYPE_TO_NAME_MAP.put(Types.NVARCHAR, STRING);
+ TYPE_TO_NAME_MAP.put(Types.LONGNVARCHAR, STRING);
+ TYPE_TO_NAME_MAP.put(Types.NCHAR, CHAR);
+ TYPE_TO_NAME_MAP.put(Types.NCLOB, CLOB);
+ //## JDBC4.0-end ##
+
+ /*## JDBC3.0-JDK1.5-begin ##
+ NAME_TO_CLASSNAME.put(XML, OBJECT_CLASS);
+ ## JDBC3.0-JDK1.5-end ##*/
+ }
+
+ private static void addTypeMapping(String typeName, String javaClass, int sqlType, int
... secondaryTypes) {
+ addTypeMapping(typeName, javaClass, sqlType, true);
+ for (int type : secondaryTypes) {
+ TYPE_TO_NAME_MAP.put(type, typeName);
+ }
+ }
+
+ private static void addTypeMapping(String typeName, String javaClass, int sqlType,
boolean preferedType) {
+ NAME_TO_TYPE_MAP.put(typeName, sqlType);
+ if (preferedType) {
+ TYPE_TO_NAME_MAP.put(sqlType, typeName);
+ }
+ if (javaClass != null) {
+ NAME_TO_CLASSNAME.put(typeName, javaClass);
+ CLASSNAME_TO_NAME.put(javaClass, typeName);
+ }
+ }
+
+ /**
+ * This method is used to obtain a short indicating JDBC SQL type for any object.
+ * The short values that give the type info are from java.sql.Types.
+ * @param Name of the metamatrix type.
+ * @return A short value representing SQL Type for the given java type.
+ */
+ public static final int getSQLType(String typeName) {
+
+ if (typeName == null) {
+ return Types.NULL;
+ }
+
+ Integer sqlType = NAME_TO_TYPE_MAP.get(typeName);
+
+ if (sqlType == null) {
+ return Types.JAVA_OBJECT;
+ }
+
+ return sqlType.intValue();
+ }
+
+ /**
+ * Get sql Type from java class type name. This should not be called with runtime
types
+ * as Clob and Blob are represented by ClobType and BlobType respectively.
+ * @param typeName
+ * @return int
+ */
+ public static final int getSQLTypeFromClass(String className) {
+
+ if (className == null) {
+ return Types.NULL;
+ }
+
+ String name = CLASSNAME_TO_NAME.get(className);
+
+ if (name == null) {
+ return Types.JAVA_OBJECT;
+ }
+
+ return getSQLType(name);
+ }
+
+ /**
+ * Get the sql type from the given runtime type
+ * @param type
+ * @return
+ */
+ public static final int getSQLTypeFromRuntimeType(Class<?> type) {
+ if (type == null) {
+ return Types.NULL;
+ }
+
+ String name = DataTypeManager.getDataTypeName(type);
+
+ if (name == null) {
+ return Types.JAVA_OBJECT;
+ }
+
+ return getSQLType(name);
+ }
+
+ /**
+ * This method is used to obtain a the java class name given an int value
+ * indicating JDBC SQL type. The int values that give the type info are from
+ * java.sql.Types.
+ * @param int value giving the SQL type code.
+ * @return A String representing the java class name for the given SQL Type.
+ */
+ public static final String getJavaClassName(int jdbcSQLType) {
+ String className = NAME_TO_CLASSNAME.get(getTypeName(jdbcSQLType));
+
+ if (className == null) {
+ return OBJECT_CLASS;
+ }
+
+ return className;
+ }
+
+ public static final String getTypeName(int sqlType) {
+ String name = TYPE_TO_NAME_MAP.get(sqlType);
+
+ if (name == null) {
+ return OBJECT;
+ }
+
+ return name;
+ }
+
+ public static String[] getMMTypeNames() {
+ return new String[] {
+ STRING,
+ BOOLEAN,
+ TIME,
+ DATE,
+ TIMESTAMP,
+ INTEGER,
+ FLOAT,
+ DOUBLE,
+ BIGDECIMAL,
+ BIGINTEGER,
+ BYTE,
+ SHORT,
+ LONG,
+ CHAR,
+ OBJECT,
+ CLOB,
+ BLOB,
+ XML
+ };
+ }
+
+}
Deleted:
trunk/common-core/src/main/java/com/metamatrix/common/types/MMJDBCSQLTypeInfo.java
===================================================================
---
trunk/common-core/src/main/java/com/metamatrix/common/types/MMJDBCSQLTypeInfo.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/common-core/src/main/java/com/metamatrix/common/types/MMJDBCSQLTypeInfo.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -1,264 +0,0 @@
-/*
- * JBoss, Home of Professional Open Source.
- * See the COPYRIGHT.txt file distributed with this work for information
- * regarding copyright ownership. Some portions may be licensed
- * to Red Hat, Inc. under one or more contributor license agreements.
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
- * 02110-1301 USA.
- */
-
-package com.metamatrix.common.types;
-
-import java.sql.Blob;
-import java.sql.Clob;
-//## JDBC4.0-begin ##
-import java.sql.SQLXML;
-//## JDBC4.0-end ##
-
-/*## JDBC3.0-JDK1.5-begin ##
-import com.metamatrix.core.jdbc.SQLXML;
-## JDBC3.0-JDK1.5-end ##*/
-import java.sql.Types;
-import java.util.HashMap;
-import java.util.Map;
-
-/**
- * <p> This is a helper class used to obtain SQL type information for java types.
- * The SQL type information is obtained from java.sql.Types class. The integers and
- * strings returned by methods in this class are based on constants in java.sql.Types.
- */
-
-public final class MMJDBCSQLTypeInfo {
-
-
- // Prevent instantiation
- private MMJDBCSQLTypeInfo() {}
-
- // metamatrix types
- public static final String STRING = DataTypeManager.DefaultDataTypes.STRING;
- public static final String BOOLEAN = DataTypeManager.DefaultDataTypes.BOOLEAN;
- public static final String TIME = DataTypeManager.DefaultDataTypes.TIME;
- public static final String DATE = DataTypeManager.DefaultDataTypes.DATE;
- public static final String TIMESTAMP = DataTypeManager.DefaultDataTypes.TIMESTAMP;
- public static final String INTEGER = DataTypeManager.DefaultDataTypes.INTEGER;
- public static final String FLOAT = DataTypeManager.DefaultDataTypes.FLOAT;
- public static final String DOUBLE = DataTypeManager.DefaultDataTypes.DOUBLE;
- public static final String BIGDECIMAL =
DataTypeManager.DefaultDataTypes.BIG_DECIMAL;
- public static final String BIGINTEGER =
DataTypeManager.DefaultDataTypes.BIG_INTEGER;
- public static final String BYTE = DataTypeManager.DefaultDataTypes.BYTE;
- public static final String SHORT = DataTypeManager.DefaultDataTypes.SHORT;
- public static final String LONG = DataTypeManager.DefaultDataTypes.LONG;
- public static final String CHAR = DataTypeManager.DefaultDataTypes.CHAR;
- public static final String OBJECT = DataTypeManager.DefaultDataTypes.OBJECT;
- public static final String CLOB = DataTypeManager.DefaultDataTypes.CLOB;
- public static final String BLOB = DataTypeManager.DefaultDataTypes.BLOB;
- public static final String XML = DataTypeManager.DefaultDataTypes.XML;
- public static final String NULL = DataTypeManager.DefaultDataTypes.NULL;
-
- //java class names
- public static final String STRING_CLASS =
DataTypeManager.DefaultDataClasses.STRING.getName();
- public static final String BOOLEAN_CLASS =
DataTypeManager.DefaultDataClasses.BOOLEAN.getName();
- public static final String TIME_CLASS =
DataTypeManager.DefaultDataClasses.TIME.getName();
- public static final String DATE_CLASS =
DataTypeManager.DefaultDataClasses.DATE.getName();
- public static final String TIMESTAMP_CLASS =
DataTypeManager.DefaultDataClasses.TIMESTAMP.getName();
- public static final String INTEGER_CLASS =
DataTypeManager.DefaultDataClasses.INTEGER.getName();
- public static final String FLOAT_CLASS =
DataTypeManager.DefaultDataClasses.FLOAT.getName();
- public static final String DOUBLE_CLASS =
DataTypeManager.DefaultDataClasses.DOUBLE.getName();
- public static final String BIGDECIMAL_CLASS =
DataTypeManager.DefaultDataClasses.BIG_DECIMAL.getName();
- public static final String BYTE_CLASS =
DataTypeManager.DefaultDataClasses.BYTE.getName();
- public static final String SHORT_CLASS =
DataTypeManager.DefaultDataClasses.SHORT.getName();
- public static final String LONG_CLASS =
DataTypeManager.DefaultDataClasses.LONG.getName();
- public static final String CHAR_CLASS =
DataTypeManager.DefaultDataClasses.CHAR.getName();
- public static final String BIGINTEGER_CLASS =
DataTypeManager.DefaultDataClasses.BIG_INTEGER.getName();
- public static final String OBJECT_CLASS =
DataTypeManager.DefaultDataClasses.OBJECT.getName();
- public static final String CLOB_CLASS = Clob.class.getName();
- public static final String BLOB_CLASS = Blob.class.getName();
- //## JDBC4.0-begin ##
- public static final String XML_CLASS = SQLXML.class.getName();
- //## JDBC4.0-end ##
- /*## JDBC3.0-JDK1.5-begin ##
- public static final String XML_CLASS =
DataTypeManager.DefaultDataClasses.OBJECT.getName();
- ## JDBC3.0-JDK1.5-end ##*/
-
- private static Map<String, Integer> NAME_TO_TYPE_MAP = new HashMap<String,
Integer>();
- private static Map<Integer, String> TYPE_TO_NAME_MAP = new HashMap<Integer,
String>();
- private static Map<String, String> NAME_TO_CLASSNAME = new HashMap<String,
String>();
- private static Map<String, String> CLASSNAME_TO_NAME = new HashMap<String,
String>();
-
- static {
- addTypeMapping(STRING, STRING_CLASS, Types.VARCHAR, Types.LONGVARCHAR,
Types.CHAR);
- addTypeMapping(CHAR, CHAR_CLASS, Types.CHAR, false);
- addTypeMapping(BOOLEAN, BOOLEAN_CLASS, Types.BIT);
- addTypeMapping(TIME, TIME_CLASS, Types.TIME);
- addTypeMapping(DATE, DATE_CLASS, Types.DATE);
- addTypeMapping(TIMESTAMP, TIMESTAMP_CLASS, Types.TIMESTAMP);
- addTypeMapping(INTEGER, INTEGER_CLASS, Types.INTEGER);
- addTypeMapping(FLOAT, FLOAT_CLASS, Types.REAL);
- addTypeMapping(DOUBLE, DOUBLE_CLASS, Types.DOUBLE, Types.FLOAT);
- addTypeMapping(BIGDECIMAL, BIGDECIMAL_CLASS, Types.NUMERIC, Types.DECIMAL);
- addTypeMapping(BIGINTEGER, BIGINTEGER_CLASS, Types.NUMERIC, false);
- addTypeMapping(BYTE, BYTE_CLASS, Types.TINYINT);
- addTypeMapping(SHORT, SHORT_CLASS, Types.SMALLINT);
- addTypeMapping(LONG, LONG_CLASS, Types.BIGINT);
- addTypeMapping(OBJECT, OBJECT_CLASS, Types.JAVA_OBJECT);
- addTypeMapping(CLOB, CLOB_CLASS, Types.CLOB);
- addTypeMapping(BLOB, BLOB_CLASS, Types.BLOB, Types.BINARY, Types.VARBINARY,
Types.LONGVARBINARY);
-
- addTypeMapping(NULL, null, Types.NULL);
-
- //## JDBC4.0-begin ##
- addTypeMapping(XML, XML_CLASS, Types.SQLXML);
- TYPE_TO_NAME_MAP.put(Types.NVARCHAR, STRING);
- TYPE_TO_NAME_MAP.put(Types.LONGNVARCHAR, STRING);
- TYPE_TO_NAME_MAP.put(Types.NCHAR, CHAR);
- TYPE_TO_NAME_MAP.put(Types.NCLOB, CLOB);
- //## JDBC4.0-end ##
-
- /*## JDBC3.0-JDK1.5-begin ##
- NAME_TO_CLASSNAME.put(XML, OBJECT_CLASS);
- ## JDBC3.0-JDK1.5-end ##*/
- }
-
- private static void addTypeMapping(String typeName, String javaClass, int sqlType, int
... secondaryTypes) {
- addTypeMapping(typeName, javaClass, sqlType, true);
- for (int type : secondaryTypes) {
- TYPE_TO_NAME_MAP.put(type, typeName);
- }
- }
-
- private static void addTypeMapping(String typeName, String javaClass, int sqlType,
boolean preferedType) {
- NAME_TO_TYPE_MAP.put(typeName, sqlType);
- if (preferedType) {
- TYPE_TO_NAME_MAP.put(sqlType, typeName);
- }
- if (javaClass != null) {
- NAME_TO_CLASSNAME.put(typeName, javaClass);
- CLASSNAME_TO_NAME.put(javaClass, typeName);
- }
- }
-
- /**
- * This method is used to obtain a short indicating JDBC SQL type for any object.
- * The short values that give the type info are from java.sql.Types.
- * @param Name of the metamatrix type.
- * @return A short value representing SQL Type for the given java type.
- */
- public static final int getSQLType(String typeName) {
-
- if (typeName == null) {
- return Types.NULL;
- }
-
- Integer sqlType = NAME_TO_TYPE_MAP.get(typeName);
-
- if (sqlType == null) {
- return Types.JAVA_OBJECT;
- }
-
- return sqlType.intValue();
- }
-
- /**
- * Get sql Type from java class type name. This should not be called with runtime
types
- * as Clob and Blob are represented by ClobType and BlobType respectively.
- * @param typeName
- * @return int
- */
- public static final int getSQLTypeFromClass(String className) {
-
- if (className == null) {
- return Types.NULL;
- }
-
- String name = CLASSNAME_TO_NAME.get(className);
-
- if (name == null) {
- return Types.JAVA_OBJECT;
- }
-
- return getSQLType(name);
- }
-
- /**
- * Get the sql type from the given runtime type
- * @param type
- * @return
- */
- public static final int getSQLTypeFromRuntimeType(Class<?> type) {
- if (type == null) {
- return Types.NULL;
- }
-
- String name = DataTypeManager.getDataTypeName(type);
-
- if (name == null) {
- return Types.JAVA_OBJECT;
- }
-
- return getSQLType(name);
- }
-
- /**
- * This method is used to obtain a the java class name given an int value
- * indicating JDBC SQL type. The int values that give the type info are from
- * java.sql.Types.
- * @param int value giving the SQL type code.
- * @return A String representing the java class name for the given SQL Type.
- */
- public static final String getJavaClassName(int jdbcSQLType) {
- String className = NAME_TO_CLASSNAME.get(getTypeName(jdbcSQLType));
-
- if (className == null) {
- return OBJECT_CLASS;
- }
-
- return className;
- }
-
- public static final String getTypeName(int sqlType) {
- String name = TYPE_TO_NAME_MAP.get(sqlType);
-
- if (name == null) {
- return OBJECT;
- }
-
- return name;
- }
-
- public static String[] getMMTypeNames() {
- return new String[] {
- STRING,
- BOOLEAN,
- TIME,
- DATE,
- TIMESTAMP,
- INTEGER,
- FLOAT,
- DOUBLE,
- BIGDECIMAL,
- BIGINTEGER,
- BYTE,
- SHORT,
- LONG,
- CHAR,
- OBJECT,
- CLOB,
- BLOB,
- XML
- };
- }
-
-}
Modified:
trunk/common-core/src/main/java/com/metamatrix/common/types/StandardXMLTranslator.java
===================================================================
---
trunk/common-core/src/main/java/com/metamatrix/common/types/StandardXMLTranslator.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/common-core/src/main/java/com/metamatrix/common/types/StandardXMLTranslator.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -23,57 +23,26 @@
package com.metamatrix.common.types;
import java.io.IOException;
-import java.io.StringReader;
import java.io.Writer;
-import java.util.Properties;
import javax.xml.transform.Source;
import javax.xml.transform.Transformer;
import javax.xml.transform.TransformerException;
import javax.xml.transform.TransformerFactory;
import javax.xml.transform.stream.StreamResult;
-import javax.xml.transform.stream.StreamSource;
public class StandardXMLTranslator extends XMLTranslator {
- static String lineSep = System.getProperty("line.separator"); //$NON-NLS-1$
- public static final String INDENT = "indent"; //$NON-NLS-1$
- public static final String idenityTransform =
- "<xsl:stylesheet version=\"2.0\"
xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">" + lineSep +
//$NON-NLS-1$
- "<xsl:output method = \"xml\"
omit-xml-declaration=\"yes\"/>" + lineSep + //$NON-NLS-1$
- "<xsl:template match=\"@*|node()\">" + lineSep
+//$NON-NLS-1$
- " <xsl:copy>\r\n" + lineSep+ //$NON-NLS-1$
- " <xsl:apply-templates
select=\"@*|node()\"/>" +lineSep+//$NON-NLS-1$
- " </xsl:copy>" + lineSep + //$NON-NLS-1$
- "</xsl:template>" + lineSep +//$NON-NLS-1$
- "</xsl:stylesheet>" + lineSep + //$NON-NLS-1$
- ""; //$NON-NLS-1$
-
- static final String XMLPI = "<?xml version=\"1.0\"
encoding=\"UTF-8\"?>"; //$NON-NLS-1$
- static final String newLine = "\n"; //$NON-NLS-1$
-
private Source source;
- private Properties properties;
- public StandardXMLTranslator(Source source, Properties props) {
+ public StandardXMLTranslator(Source source) {
this.source = source;
- this.properties = props;
}
@Override
public void translate(Writer writer) throws TransformerException, IOException {
- Transformer t = TransformerFactory.newInstance().newTransformer(new
StreamSource(new StringReader(idenityTransform)));
- writer.write(XMLPI);
- if (useIndentation()) {
- writer.write(newLine);
- }
+ Transformer t = TransformerFactory.newInstance().newTransformer();
t.transform(source, new StreamResult(writer));
}
- private boolean useIndentation() {
- if (properties != null) {
- return "yes".equalsIgnoreCase(properties.getProperty(INDENT));
//$NON-NLS-1$
- }
- return false;
- }
}
Modified:
trunk/common-core/src/test/java/com/metamatrix/common/types/TestDataTypeManager.java
===================================================================
---
trunk/common-core/src/test/java/com/metamatrix/common/types/TestDataTypeManager.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/common-core/src/test/java/com/metamatrix/common/types/TestDataTypeManager.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -167,25 +167,25 @@
@Test public void testJDBCSQLTypeInfo() {
- String[] types = MMJDBCSQLTypeInfo.getMMTypeNames();
+ String[] types = JDBCSQLTypeInfo.getMMTypeNames();
for (int i = 0; i < types.length; i++) {
String type = types[i];
- assertEquals("Didn't get match for "+ type,
MMJDBCSQLTypeInfo.getSQLType(type),
MMJDBCSQLTypeInfo.getSQLTypeFromRuntimeType(DataTypeManager.getDataTypeClass(type)));
//$NON-NLS-1$
+ assertEquals("Didn't get match for "+ type,
JDBCSQLTypeInfo.getSQLType(type),
JDBCSQLTypeInfo.getSQLTypeFromRuntimeType(DataTypeManager.getDataTypeClass(type)));
//$NON-NLS-1$
//the classnames will not match the runtime types for xml, clob, blob
if (!type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.XML) &&
!type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.CLOB) &&
!type.equalsIgnoreCase(DataTypeManager.DefaultDataTypes.BLOB)) {
- assertEquals("Didn't get match for "+ type,
MMJDBCSQLTypeInfo.getSQLType(type),
MMJDBCSQLTypeInfo.getSQLTypeFromClass(DataTypeManager.getDataTypeClass(type).getName()));
//$NON-NLS-1$
+ assertEquals("Didn't get match for "+ type,
JDBCSQLTypeInfo.getSQLType(type),
JDBCSQLTypeInfo.getSQLTypeFromClass(DataTypeManager.getDataTypeClass(type).getName()));
//$NON-NLS-1$
}
}
- assertEquals(Types.TIMESTAMP,
MMJDBCSQLTypeInfo.getSQLTypeFromRuntimeType(DataTypeManager.DefaultDataClasses.TIMESTAMP));
+ assertEquals(Types.TIMESTAMP,
JDBCSQLTypeInfo.getSQLTypeFromRuntimeType(DataTypeManager.DefaultDataClasses.TIMESTAMP));
//## JDBC4.0-begin ##
- assertEquals(Types.SQLXML,
MMJDBCSQLTypeInfo.getSQLTypeFromRuntimeType(DataTypeManager.DefaultDataClasses.XML));
+ assertEquals(Types.SQLXML,
JDBCSQLTypeInfo.getSQLTypeFromRuntimeType(DataTypeManager.DefaultDataClasses.XML));
//## JDBC4.0-end ##
- assertEquals(DataTypeManager.DefaultDataTypes.STRING,
MMJDBCSQLTypeInfo.getTypeName(Types.CHAR));
- assertEquals(Types.CHAR,
MMJDBCSQLTypeInfo.getSQLTypeFromRuntimeType(DataTypeManager.DefaultDataClasses.CHAR));
+ assertEquals(DataTypeManager.DefaultDataTypes.STRING,
JDBCSQLTypeInfo.getTypeName(Types.CHAR));
+ assertEquals(Types.CHAR,
JDBCSQLTypeInfo.getSQLTypeFromRuntimeType(DataTypeManager.DefaultDataClasses.CHAR));
}
@Test public void testRuntimeTypeConversion() throws Exception {
Modified:
trunk/common-core/src/test/java/com/metamatrix/common/types/TestXMLStreamSourceTranslator.java
===================================================================
---
trunk/common-core/src/test/java/com/metamatrix/common/types/TestXMLStreamSourceTranslator.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/common-core/src/test/java/com/metamatrix/common/types/TestXMLStreamSourceTranslator.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -23,7 +23,6 @@
package com.metamatrix.common.types;
import java.io.StringReader;
-import java.util.Properties;
import java.util.StringTokenizer;
import javax.xml.transform.stream.StreamSource;
@@ -78,7 +77,7 @@
"</Books:bookCollection>"; //$NON-NLS-1$
public void testStreamSourceWithStream() throws Exception {
- StandardXMLTranslator translator = new StandardXMLTranslator(new StreamSource(new
StringReader(sourceXML)), new Properties());
+ StandardXMLTranslator translator = new StandardXMLTranslator(new StreamSource(new
StringReader(sourceXML)));
compareDocuments(sourceXML, translator.getString());
}
Modified: trunk/connector-api/src/main/java/org/teiid/connector/api/TypeFacility.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/connector/api/TypeFacility.java 2010-03-25
16:42:20 UTC (rev 2000)
+++ trunk/connector-api/src/main/java/org/teiid/connector/api/TypeFacility.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -26,7 +26,7 @@
import java.util.TimeZone;
import com.metamatrix.common.types.DataTypeManager;
-import com.metamatrix.common.types.MMJDBCSQLTypeInfo;
+import com.metamatrix.common.types.JDBCSQLTypeInfo;
/**
*/
@@ -95,11 +95,11 @@
* @return
*/
public static final int getSQLTypeFromRuntimeType(Class<?> type) {
- return MMJDBCSQLTypeInfo.getSQLTypeFromRuntimeType(type);
+ return JDBCSQLTypeInfo.getSQLTypeFromRuntimeType(type);
}
public static final String getDataTypeNameFromSQLType(int sqlType) {
- return MMJDBCSQLTypeInfo.getTypeName(sqlType);
+ return JDBCSQLTypeInfo.getTypeName(sqlType);
}
/**
Modified:
trunk/connectors/connector-xml-file/src/main/java/org/teiid/connector/xmlsource/file/FileProcedureExecution.java
===================================================================
---
trunk/connectors/connector-xml-file/src/main/java/org/teiid/connector/xmlsource/file/FileProcedureExecution.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/connectors/connector-xml-file/src/main/java/org/teiid/connector/xmlsource/file/FileProcedureExecution.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -27,11 +27,10 @@
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStream;
+import java.sql.SQLXML;
import java.util.Arrays;
import java.util.List;
-import javax.xml.transform.Source;
-
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.DataNotAvailableException;
import org.teiid.connector.api.ExecutionContext;
@@ -55,7 +54,7 @@
private Call procedure;
private FileManagedConnectionFactory config;
private boolean returnedResult;
- protected Source returnValue;
+ private SQLXML returnValue;
/**
* @param env
@@ -95,13 +94,13 @@
String encoding = this.config.getCharacterEncodingScheme();
- returnValue = new InputStreamFactory(encoding) {
+ returnValue = (SQLXML)this.config.getTypeFacility().convertToRuntimeType(new
InputStreamFactory(encoding) {
@Override
public InputStream getInputStream() throws IOException {
return new BufferedInputStream(new FileInputStream(xmlFile));
}
- };
+ });
this.config.getLogger().logDetail(XMLSourcePlugin.Util.getString("executing_procedure",
new Object[] {procedure.getProcedureName()})); //$NON-NLS-1$
}
Modified:
trunk/connectors/connector-xml-file/src/test/java/org/teiid/connector/xmlsource/file/TestFileExecution.java
===================================================================
---
trunk/connectors/connector-xml-file/src/test/java/org/teiid/connector/xmlsource/file/TestFileExecution.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/connectors/connector-xml-file/src/test/java/org/teiid/connector/xmlsource/file/TestFileExecution.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -22,9 +22,8 @@
package org.teiid.connector.xmlsource.file;
-import java.io.FileReader;
+import java.io.File;
import java.io.PrintWriter;
-import java.io.Reader;
import java.sql.SQLXML;
import java.util.List;
@@ -33,60 +32,54 @@
import org.mockito.Mockito;
import org.teiid.connector.api.ConnectorException;
import org.teiid.connector.api.ExecutionContext;
-import org.teiid.connector.language.LanguageFactory;
import org.teiid.connector.language.Call;
+import org.teiid.connector.language.LanguageFactory;
import org.teiid.connector.metadata.runtime.Procedure;
import org.teiid.connector.metadata.runtime.RuntimeMetadata;
-import org.teiid.connector.xmlsource.file.FileConnection;
-import org.teiid.connector.xmlsource.file.FileProcedureExecution;
-import org.teiid.connector.xmlsource.file.FileManagedConnectionFactory;
+import com.metamatrix.core.util.ObjectConverterUtil;
import com.metamatrix.core.util.UnitTestUtil;
/**
*/
+@SuppressWarnings("nls")
public class TestFileExecution extends TestCase {
- public void testGoodFile() throws Exception {
+ public void testGoodFile() throws Exception {
String file = UnitTestUtil.getTestDataPath();
FileManagedConnectionFactory config = new FileManagedConnectionFactory();
config.setLogWriter(Mockito.mock(PrintWriter.class));
config.setDirectoryLocation(file);
- try {
- FileConnection conn = new FileConnection(config);
- assertTrue(conn.isConnected());
- RuntimeMetadata metadata = Mockito.mock(RuntimeMetadata.class);
+ FileConnection conn = new FileConnection(config);
+ assertTrue(conn.isConnected());
+ RuntimeMetadata metadata = Mockito.mock(RuntimeMetadata.class);
- LanguageFactory fact = config.getLanguageFactory();
- Call procedure = fact.createCall("GetXMLFile", null,
createMockProcedureMetadata("BookCollection.xml")); //$NON-NLS-1$
+ LanguageFactory fact = config.getLanguageFactory();
+ Call procedure = fact.createCall("GetXMLFile", null,
createMockProcedureMetadata("BookCollection.xml")); //$NON-NLS-1$
- FileProcedureExecution exec =
(FileProcedureExecution)conn.createExecution(procedure,
Mockito.mock(ExecutionContext.class), metadata); //$NON-NLS-1$ //$NON-NLS-2$
-
- exec.execute();
-
- List result = exec.next();
- assertNotNull(result);
- assertNull(exec.next());
- try {
- exec.getOutputParameterValues();
- fail("should have thrown error in returning a return");
//$NON-NLS-1$
- }catch(Exception e) {
- }
- SQLXML xmlSource = (SQLXML)result.get(0);
- assertNotNull(xmlSource);
- String xml = xmlSource.getString();
-
- String fileContents = readFile(file+"/BookCollection.xml");
//$NON-NLS-1$
- fileContents = fileContents.replaceAll("\r", "");
//$NON-NLS-1$ //$NON-NLS-2$
- //System.out.println(fileContents);
-
- assertEquals(fileContents, xml);
- } catch (ConnectorException e) {
- e.printStackTrace();
- fail("must have passed connection"); //$NON-NLS-1$
- }
+ FileProcedureExecution exec =
(FileProcedureExecution)conn.createExecution(procedure,
Mockito.mock(ExecutionContext.class), metadata); //$NON-NLS-1$ //$NON-NLS-2$
+
+ exec.execute();
+
+ List<?> result = exec.next();
+ assertNotNull(result);
+ assertNull(exec.next());
+ try {
+ exec.getOutputParameterValues();
+ fail("should have thrown error in returning a return");
//$NON-NLS-1$
+ }catch(Exception e) {
+ }
+ SQLXML xmlSource = (SQLXML)result.get(0);
+ assertNotNull(xmlSource);
+ String xml = xmlSource.getString();
+
+ String fileContents = ObjectConverterUtil.convertFileToString(new
File(file+"/BookCollection.xml")); //$NON-NLS-1$
+ fileContents = fileContents.replaceAll("\r", "");
//$NON-NLS-1$ //$NON-NLS-2$
+ //System.out.println(fileContents);
+
+ assertEquals(fileContents, xml);
}
public void testBadFile() throws Exception {
@@ -111,18 +104,6 @@
}
}
- String readFile(String filename) throws Exception {
- Reader reader = new FileReader(filename);
- StringBuffer fileContents = new StringBuffer();
- int c= reader.read();
- while (c != -1) {
- fileContents.append((char)c);
- c = reader.read();
- }
- reader.close();
- return fileContents.toString();
- }
-
public static Procedure createMockProcedureMetadata(String nameInSource) {
Procedure rm = Mockito.mock(Procedure.class);
Mockito.stub(rm.getNameInSource()).toReturn(nameInSource);
Modified:
trunk/engine/src/main/java/com/metamatrix/common/buffer/impl/BufferManagerImpl.java
===================================================================
---
trunk/engine/src/main/java/com/metamatrix/common/buffer/impl/BufferManagerImpl.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/main/java/com/metamatrix/common/buffer/impl/BufferManagerImpl.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -371,7 +371,7 @@
if (value instanceof InputStreamFactory) {
return new XMLType(new SQLXMLImpl((InputStreamFactory)value));
}
- StandardXMLTranslator sxt = new StandardXMLTranslator(value, null);
+ StandardXMLTranslator sxt = new StandardXMLTranslator(value);
SQLXMLImpl sqlxml;
try {
sqlxml = XMLUtil.saveToBufferManager(BufferManagerImpl.this, sxt,
Streamable.STREAMING_BATCH_SIZE_IN_BYTES);
Modified: trunk/engine/src/main/java/com/metamatrix/common/log/LogConstants.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/common/log/LogConstants.java 2010-03-25
16:42:20 UTC (rev 2000)
+++ trunk/engine/src/main/java/com/metamatrix/common/log/LogConstants.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -26,9 +26,7 @@
public interface LogConstants {
// add the new contexts to the Log4JUtil.java class, for configuration purpose
- public static final String CTX_SESSION = "SESSION"; //$NON-NLS-1$
- public static final String CTX_MEMBERSHIP = "MEMBERSHIP"; //$NON-NLS-1$
- public static final String CTX_AUTHORIZATION = "AUTHORIZATION"; //$NON-NLS-1$
+ public static final String CTX_SECURITY = "SECURITY"; //$NON-NLS-1$
public static final String CTX_TRANSPORT = "TRANSPORT"; //$NON-NLS-1$
public static final String CTX_QUERY_PLANNER = "PLANNER"; //$NON-NLS-1$
public static final String CTX_DQP = "PROCESSOR"; //$NON-NLS-1$
Modified: trunk/engine/src/main/java/com/metamatrix/query/analysis/AnalysisRecord.java
===================================================================
---
trunk/engine/src/main/java/com/metamatrix/query/analysis/AnalysisRecord.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/main/java/com/metamatrix/query/analysis/AnalysisRecord.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -25,6 +25,10 @@
import java.io.*;
import java.util.*;
+import com.metamatrix.common.log.LogConstants;
+import com.metamatrix.common.log.LogManager;
+import com.metamatrix.core.log.MessageLevel;
+
/**
* <p>The AnalysisRecord holds all debug/analysis information for
* a particular query as it is executed. This includes:</p>
@@ -38,37 +42,41 @@
public class AnalysisRecord implements Serializable {
// Flags regarding what should be recorded
- private boolean recordQueryPlan = false;
- private boolean recordAnnotations = false;
- private boolean recordDebug = false;
+ private boolean recordQueryPlan;
+ private boolean recordDebug;
+ private boolean logDebug;
// Query plan
private Map queryPlan;
// Annotations
- private Collection annotations;
+ private Collection<QueryAnnotation> annotations;
// Debug trace log
private StringWriter stringWriter; // inner
private PrintWriter debugWriter; // public
- public AnalysisRecord(boolean recordQueryPlan, boolean recordAnnotations, boolean
recordDebug) {
+ public AnalysisRecord(boolean recordQueryPlan, boolean recordDebug) {
this.recordQueryPlan = recordQueryPlan;
- this.recordAnnotations = recordAnnotations;
- this.recordDebug = recordDebug;
+ this.logDebug = recordDebug;
+ this.recordDebug = recordDebug |
LogManager.isMessageToBeRecorded(LogConstants.CTX_QUERY_PLANNER, MessageLevel.TRACE);
- if(recordAnnotations) {
- this.annotations = new ArrayList();
+ if(recordQueryPlan) {
+ this.annotations = new ArrayList<QueryAnnotation>();
}
- if(recordDebug) {
+ if(this.recordDebug) {
this.stringWriter = new StringWriter();
this.debugWriter = new PrintWriter(this.stringWriter);
}
}
+ public boolean logDebug() {
+ return logDebug;
+ }
+
public static AnalysisRecord createNonRecordingRecord() {
- return new AnalysisRecord(false, false, false);
+ return new AnalysisRecord(false, false);
}
/**
@@ -84,7 +92,7 @@
* @return True to record
*/
public boolean recordAnnotations() {
- return this.recordAnnotations;
+ return this.recordQueryPlan;
}
/**
@@ -124,7 +132,7 @@
* Get annotations.
* @return
*/
- public Collection getAnnotations() {
+ public Collection<QueryAnnotation> getAnnotations() {
return this.annotations;
}
Modified: trunk/engine/src/main/java/com/metamatrix/query/analysis/QueryAnnotation.java
===================================================================
---
trunk/engine/src/main/java/com/metamatrix/query/analysis/QueryAnnotation.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/main/java/com/metamatrix/query/analysis/QueryAnnotation.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -28,6 +28,7 @@
public class QueryAnnotation {
public static final String MATERIALIZED_VIEW = "Materialized View";
//$NON-NLS-1$
+ public static final String HINTS = "Hints"; //$NON-NLS-1$
public static final int LOW = 1;
public static final int MEDIUM = 2;
Modified: trunk/engine/src/main/java/com/metamatrix/query/optimizer/QueryOptimizer.java
===================================================================
---
trunk/engine/src/main/java/com/metamatrix/query/optimizer/QueryOptimizer.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/main/java/com/metamatrix/query/optimizer/QueryOptimizer.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -70,7 +70,7 @@
throws QueryPlannerException, QueryMetadataException, MetaMatrixComponentException {
if (analysisRecord == null) {
- analysisRecord = new AnalysisRecord(false, false, false);
+ analysisRecord = new AnalysisRecord(false, false);
}
if (context == null) {
Modified:
trunk/engine/src/main/java/com/metamatrix/query/optimizer/proc/ProcedurePlanner.java
===================================================================
---
trunk/engine/src/main/java/com/metamatrix/query/optimizer/proc/ProcedurePlanner.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/main/java/com/metamatrix/query/optimizer/proc/ProcedurePlanner.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -22,7 +22,6 @@
package com.metamatrix.query.optimizer.proc;
-import java.util.Iterator;
import java.util.Map;
import com.metamatrix.api.exception.MetaMatrixComponentException;
Modified:
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java
===================================================================
---
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/RelationalPlanner.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -237,7 +237,7 @@
* @param groups List of groups (Strings) to be made dependent
* @param plan The canonical plan
*/
- private static void distributeDependentHints(Collection<String> groups,
PlanNode plan, QueryMetadataInterface metadata, NodeConstants.Info hintProperty)
+ private void distributeDependentHints(Collection<String> groups, PlanNode plan,
QueryMetadataInterface metadata, NodeConstants.Info hintProperty)
throws QueryMetadataException, MetaMatrixComponentException {
if(groups == null || groups.isEmpty()) {
@@ -261,7 +261,9 @@
}
if(! appliedHint) {
- LogManager.logWarning(LogConstants.CTX_QUERY_PLANNER,
QueryExecPlugin.Util.getString(ErrorMessageKeys.OPTIMIZER_0010, groupName));
+ String msg =
QueryExecPlugin.Util.getString(ErrorMessageKeys.OPTIMIZER_0010, groupName);
+ LogManager.logInfo(LogConstants.CTX_QUERY_PLANNER, msg);
+ this.analysisRecord.addAnnotation(new
QueryAnnotation(QueryAnnotation.HINTS, msg, "ignoring hint",
QueryAnnotation.MEDIUM)); //$NON-NLS-1$
}
}
}
Modified:
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleChooseDependent.java
===================================================================
---
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleChooseDependent.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/main/java/com/metamatrix/query/optimizer/relational/rules/RuleChooseDependent.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -31,8 +31,6 @@
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.query.QueryMetadataException;
import com.metamatrix.api.exception.query.QueryPlannerException;
-import com.metamatrix.common.log.LogConstants;
-import com.metamatrix.common.log.LogManager;
import com.metamatrix.query.analysis.AnalysisRecord;
import com.metamatrix.query.metadata.QueryMetadataInterface;
import com.metamatrix.query.optimizer.capabilities.CapabilitiesFinder;
@@ -68,7 +66,7 @@
throws QueryPlannerException, QueryMetadataException,
MetaMatrixComponentException {
// Find first criteria node in plan with conjuncts
- List<CandidateJoin> matches = findCandidate(plan, metadata);
+ List<CandidateJoin> matches = findCandidate(plan, metadata,
analysisRecord);
boolean pushCriteria = false;
@@ -84,7 +82,7 @@
JoinStrategyType joinStrategy =
(JoinStrategyType)joinNode.getProperty(NodeConstants.Info.JOIN_STRATEGY);
- PlanNode chosenNode = chooseDepWithoutCosting(sourceNode,
bothCandidates?siblingNode:null);
+ PlanNode chosenNode = chooseDepWithoutCosting(sourceNode,
bothCandidates?siblingNode:null, analysisRecord);
if(chosenNode != null) {
pushCriteria |= markDependent(chosenNode, joinNode);
continue;
@@ -148,7 +146,7 @@
* @param node Root node to search
* @param matches Collection to accumulate matches in
*/
- List<CandidateJoin> findCandidate(PlanNode root, QueryMetadataInterface
metadata) {
+ List<CandidateJoin> findCandidate(PlanNode root, QueryMetadataInterface
metadata, AnalysisRecord analysisRecord) {
List<CandidateJoin> candidates = new ArrayList<CandidateJoin>();
@@ -159,7 +157,7 @@
PlanNode child = (PlanNode)j.next();
child = FrameUtil.findJoinSourceNode(child);
- if(child.hasBooleanProperty(NodeConstants.Info.MAKE_NOT_DEP) ||
!isValidJoin(joinNode, child)) {
+ if(child.hasBooleanProperty(NodeConstants.Info.MAKE_NOT_DEP) ||
!isValidJoin(joinNode, child, analysisRecord)) {
continue;
}
if (candidate == null) {
@@ -185,39 +183,48 @@
* join that has the outer side not the same as the dependent.
* @param joinNode The join node to check
* @param sourceNode The access node being considered
+ * @param analysisRecord TODO
* @return True if valid for making dependent
*/
- boolean isValidJoin(PlanNode joinNode, PlanNode sourceNode) {
+ boolean isValidJoin(PlanNode joinNode, PlanNode sourceNode, AnalysisRecord
analysisRecord) {
JoinType jtype = (JoinType) joinNode.getProperty(NodeConstants.Info.JOIN_TYPE);
// Check that join is not a CROSS join or FULL OUTER join
if(jtype.equals(JoinType.JOIN_CROSS) || jtype.equals(JoinType.JOIN_FULL_OUTER))
{
- LogManager.logTrace(LogConstants.CTX_QUERY_PLANNER, new Object[]
{"Rejecting dependent access node as parent join is CROSS or FULL OUTER: ",
sourceNode.nodeToString()}); //$NON-NLS-1$
+ if (analysisRecord.recordDebug()) {
+ analysisRecord.println("Rejecting dependent access node as parent join is
CROSS or FULL OUTER: "+ sourceNode.nodeToString()); //$NON-NLS-1$
+ }
return false;
}
// Check that join criteria exist
List jcrit = (List) joinNode.getProperty(NodeConstants.Info.JOIN_CRITERIA);
if(jcrit == null || jcrit.size() == 0) {
- LogManager.logTrace(LogConstants.CTX_QUERY_PLANNER, new Object[]
{"Rejecting dependent access node as parent join has no join criteria: ",
sourceNode.nodeToString()}); //$NON-NLS-1$
+ if (analysisRecord.recordDebug()) {
+ analysisRecord.println("Rejecting dependent access node as parent join has
no join criteria: "+ sourceNode.nodeToString()); //$NON-NLS-1$
+ }
return false;
}
if(joinNode.getProperty(NodeConstants.Info.LEFT_EXPRESSIONS) == null) {
- LogManager.logTrace(LogConstants.CTX_QUERY_PLANNER, new Object[]
{"Rejecting dependent access node as parent join has no equality expressions: ",
sourceNode.nodeToString()}); //$NON-NLS-1$
+ if (analysisRecord.recordDebug()) {
+ analysisRecord.println("Rejecting dependent access node as parent join has
no equality expressions: "+ sourceNode.nodeToString()); //$NON-NLS-1$
+ }
return false;
}
// Check that for a left or right outer join the dependent side must be the inner
if(jtype.isOuter() && JoinUtil.getInnerSideJoinNodes(joinNode)[0] !=
sourceNode) {
- LogManager.logTrace(LogConstants.CTX_QUERY_PLANNER, new Object[]
{"Rejecting dependent access node as it is on outer side of a join: ",
sourceNode.nodeToString()}); //$NON-NLS-1$
+ if (analysisRecord.recordDebug()) {
+ analysisRecord.println("Rejecting dependent access node as it is on outer
side of a join: "+ sourceNode.nodeToString()); //$NON-NLS-1$
+ }
return false;
}
return true;
}
- PlanNode chooseDepWithoutCosting(PlanNode rootNode1, PlanNode rootNode2) {
+ PlanNode chooseDepWithoutCosting(PlanNode rootNode1, PlanNode rootNode2,
AnalysisRecord analysisRecord) {
PlanNode sourceNode1 = FrameUtil.findJoinSourceNode(rootNode1);
PlanNode sourceNode2 = null;
@@ -228,23 +235,31 @@
if (sourceNode2 != null &&
sourceNode2.hasCollectionProperty(NodeConstants.Info.ACCESS_PATTERNS) ) {
//Return null - query planning should fail because both access nodes
//have unsatisfied access patterns
- LogManager.logTrace(LogConstants.CTX_QUERY_PLANNER, new Object[]
{"Neither access node can be made dependent because both have unsatisfied access
patterns: ", sourceNode1.nodeToString(), "\n", sourceNode2.toString()});
//$NON-NLS-1$ //$NON-NLS-2$
+ if (analysisRecord.recordDebug()) {
+ analysisRecord.println("Neither access node can be made dependent
because both have unsatisfied access patterns: " + sourceNode1.nodeToString() +
"\n" + sourceNode2.toString()); //$NON-NLS-1$ //$NON-NLS-2$
+ }
return null;
}
return rootNode1;
} else if (sourceNode2 != null &&
sourceNode2.hasCollectionProperty(NodeConstants.Info.ACCESS_PATTERNS) ) {
//Access node 2 has unsatisfied access pattern,
//so try to make node 2 dependent
- LogManager.logTrace(LogConstants.CTX_QUERY_PLANNER, new Object[]
{"Making access node dependent to satisfy access pattern: ",
sourceNode2.nodeToString()}); //$NON-NLS-1$
+ if (analysisRecord.recordDebug()) {
+ analysisRecord.println("Making access node dependent to satisfy access
pattern: "+ sourceNode2.nodeToString()); //$NON-NLS-1$
+ }
return rootNode2;
}
// Check for hints, which over-rule heuristics
if(sourceNode1.hasBooleanProperty(NodeConstants.Info.MAKE_DEP)) {
- LogManager.logTrace(LogConstants.CTX_QUERY_PLANNER, new Object[]
{"Making access node dependent due to hint: ", sourceNode1.nodeToString()});
//$NON-NLS-1$
+ if (analysisRecord.recordDebug()) {
+ analysisRecord.println("Making access node dependent due to hint: "+
sourceNode1.nodeToString()); //$NON-NLS-1$
+ }
return rootNode1;
} else if(sourceNode2 != null &&
sourceNode2.hasBooleanProperty(NodeConstants.Info.MAKE_DEP)) {
- LogManager.logTrace(LogConstants.CTX_QUERY_PLANNER, new Object[]
{"Making access node dependent due to hint: ", sourceNode2.nodeToString()});
//$NON-NLS-1$
+ if (analysisRecord.recordDebug()) {
+ analysisRecord.println("Making access node dependent due to hint: "+
sourceNode2.nodeToString()); //$NON-NLS-1$
+ }
return rootNode2;
}
Modified:
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java
===================================================================
---
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/impl/ConnectorManager.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -239,7 +239,7 @@
* @param qr Request that contains the MetaMatrix command information in the
transaction.
*/
void logSRCCommand(AtomicRequestMessage qr, ExecutionContext context, Event
cmdStatus, Integer finalRowCnt) {
- if (!LogManager.isMessageToBeRecorded(LogConstants.CTX_COMMANDLOGGING,
MessageLevel.INFO)) {
+ if (!LogManager.isMessageToBeRecorded(LogConstants.CTX_COMMANDLOGGING,
MessageLevel.DETAIL)) {
return;
}
String sqlStr = null;
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2010-03-25
16:42:20 UTC (rev 2000)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPCore.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -547,7 +547,7 @@
}
void logMMCommand(RequestWorkItem workItem, Event status, Integer rowCount) {
- if (!LogManager.isMessageToBeRecorded(LogConstants.CTX_COMMANDLOGGING,
MessageLevel.INFO)) {
+ if (!LogManager.isMessageToBeRecorded(LogConstants.CTX_COMMANDLOGGING,
MessageLevel.DETAIL)) {
return;
}
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2010-03-25
16:42:20 UTC (rev 2000)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/Request.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -50,6 +50,7 @@
import com.metamatrix.common.types.DataTypeManager;
import com.metamatrix.core.id.IDGenerator;
import com.metamatrix.core.id.IntegerIDFactory;
+import com.metamatrix.core.log.MessageLevel;
import com.metamatrix.core.util.Assertion;
import com.metamatrix.dqp.DQPPlugin;
import com.metamatrix.dqp.message.RequestID;
@@ -255,7 +256,7 @@
context.setSecurityFunctionEvaluator(new SecurityFunctionEvaluator() {
@Override
public boolean hasRole(String roleType, String roleName) throws
MetaMatrixComponentException {
- if (isEntitled() || !useEntitlements) {
+ if (!useEntitlements) {
return true;
}
if (!DATA_ROLE.equalsIgnoreCase(roleType)) {
@@ -450,14 +451,12 @@
} finally {
String debugLog = analysisRecord.getDebugLog();
if(debugLog != null && debugLog.length() > 0) {
- LogManager.logInfo(LogConstants.CTX_DQP, debugLog);
+
LogManager.log(analysisRecord.logDebug()?MessageLevel.INFO:MessageLevel.TRACE,
LogConstants.CTX_QUERY_PLANNER, debugLog);
}
}
LogManager.logDetail(LogConstants.CTX_DQP, new Object[] {
DQPPlugin.Util.getString("BasicInterceptor.ProcessTree_for__4"), requestId,
processPlan }); //$NON-NLS-1$
} catch (QueryMetadataException e) {
- Object[] params = new Object[] { requestId};
- String msg =
DQPPlugin.Util.getString("DQPCore.Unknown_query_metadata_exception_while_registering_query__{0}.",
params); //$NON-NLS-1$
- throw new QueryPlannerException(e, msg);
+ throw new QueryPlannerException(e,
DQPPlugin.Util.getString("DQPCore.Unknown_query_metadata_exception_while_registering_query__{0}.",
requestId)); //$NON-NLS-1$
}
}
@@ -470,7 +469,7 @@
debug = option.getDebug();
}
- this.analysisRecord = new AnalysisRecord(getPlan, getPlan, debug);
+ this.analysisRecord = new AnalysisRecord(getPlan, debug);
}
public void processRequest()
@@ -545,15 +544,8 @@
}
protected void validateAccess(Command command) throws QueryValidatorException,
MetaMatrixComponentException {
- AuthorizationValidationVisitor visitor = new
AuthorizationValidationVisitor(this.workContext.getVDB(), !isEntitled() &&
this.useEntitlements, this.workContext.getAllowedDataPolicies(),
this.workContext.getUserName());
+ AuthorizationValidationVisitor visitor = new
AuthorizationValidationVisitor(this.workContext.getVDB(), this.useEntitlements,
this.workContext.getAllowedDataPolicies(), this.workContext.getUserName());
validateWithVisitor(visitor, this.metadata, command);
}
- protected boolean isEntitled(){
- if (this.workContext.getSubject() == null) {
-
LogManager.logDetail(com.metamatrix.common.log.LogConstants.CTX_AUTHORIZATION,new
Object[]{ "Automatically entitling principal", this.workContext.getUserName()});
//$NON-NLS-1$
- return true;
- }
- return false;
- }
}
Modified:
trunk/engine/src/main/java/org/teiid/dqp/internal/process/validator/AuthorizationValidationVisitor.java
===================================================================
---
trunk/engine/src/main/java/org/teiid/dqp/internal/process/validator/AuthorizationValidationVisitor.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/main/java/org/teiid/dqp/internal/process/validator/AuthorizationValidationVisitor.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -44,6 +44,7 @@
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.MetaMatrixProcessingException;
import com.metamatrix.api.exception.query.QueryMetadataException;
+import com.metamatrix.common.log.LogConstants;
import com.metamatrix.common.log.LogManager;
import com.metamatrix.core.log.MessageLevel;
import com.metamatrix.dqp.DQPPlugin;
@@ -316,16 +317,15 @@
* Out of resources specified, return the subset for which the specified not have
authorization to access.
*/
public Set<String> getInaccessibleResources(DataPolicy.PermissionType action,
Set<String> resources, Context context) {
-
- LogManager.logDetail(com.metamatrix.common.log.LogConstants.CTX_AUTHORIZATION,
new Object[]{"getInaccessibleResources(", this.userName, ", ",
context, ", ", resources, ")"}); //$NON-NLS-1$ //$NON-NLS-2$
//$NON-NLS-3$ //$NON-NLS-4$
-
if (!this.useEntitlements) {
- return Collections.EMPTY_SET;
+ return Collections.emptySet();
}
- // Audit - request
- AuditMessage msg = new AuditMessage(context.name(),
"getInaccessibleResources-request", this.userName, resources.toArray(new
String[resources.size()])); //$NON-NLS-1$
- LogManager.log(MessageLevel.INFO,
com.metamatrix.common.log.LogConstants.CTX_AUDITLOGGING, msg);
+ if (LogManager.isMessageToBeRecorded(LogConstants.CTX_AUDITLOGGING,
MessageLevel.DETAIL)) {
+ // Audit - request
+ AuditMessage msg = new AuditMessage(context.name(),
"getInaccessibleResources-request", this.userName, resources.toArray(new
String[resources.size()])); //$NON-NLS-1$
+ LogManager.logDetail(LogConstants.CTX_AUDITLOGGING, msg);
+ }
HashSet<String> results = new HashSet<String>(resources);
@@ -344,13 +344,15 @@
}
}
- if (results.isEmpty()) {
- msg = new AuditMessage(context.name(), "getInaccessibleResources-granted
all", this.userName, resources.toArray(new String[resources.size()])); //$NON-NLS-1$
- LogManager.log(MessageLevel.INFO,
com.metamatrix.common.log.LogConstants.CTX_AUDITLOGGING, msg);
- } else {
- msg = new AuditMessage(context.name(),
"getInaccessibleResources-denied", this.userName, resources.toArray(new
String[resources.size()])); //$NON-NLS-1$
- LogManager.log(MessageLevel.INFO,
com.metamatrix.common.log.LogConstants.CTX_AUDITLOGGING, msg);
- }
+ if (LogManager.isMessageToBeRecorded(LogConstants.CTX_AUDITLOGGING,
MessageLevel.DETAIL)) {
+ if (results.isEmpty()) {
+ AuditMessage msg = new AuditMessage(context.name(),
"getInaccessibleResources-granted all", this.userName, resources.toArray(new
String[resources.size()])); //$NON-NLS-1$
+ LogManager.logDetail(LogConstants.CTX_AUDITLOGGING, msg);
+ } else {
+ AuditMessage msg = new AuditMessage(context.name(),
"getInaccessibleResources-denied", this.userName, resources.toArray(new
String[resources.size()])); //$NON-NLS-1$
+ LogManager.logDetail(LogConstants.CTX_AUDITLOGGING, msg);
+ }
+ }
return results;
}
}
Modified:
trunk/engine/src/test/java/com/metamatrix/query/analysis/TestAnalysisRecord.java
===================================================================
---
trunk/engine/src/test/java/com/metamatrix/query/analysis/TestAnalysisRecord.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/com/metamatrix/query/analysis/TestAnalysisRecord.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -41,7 +41,7 @@
}
public void testQueryPlan() {
- AnalysisRecord rec = new AnalysisRecord(true, false, false);
+ AnalysisRecord rec = new AnalysisRecord(true, false);
assertTrue(rec.recordQueryPlan());
Map plan = new HashMap();
@@ -51,7 +51,7 @@
}
public void testAnnotations() {
- AnalysisRecord rec = new AnalysisRecord(false, true, false);
+ AnalysisRecord rec = new AnalysisRecord(true, false);
assertTrue(rec.recordAnnotations());
QueryAnnotation ann1 = new QueryAnnotation("cat", "ann",
"res", QueryAnnotation.MEDIUM); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
@@ -60,7 +60,7 @@
rec.addAnnotation(ann1);
rec.addAnnotation(ann2);
- Collection annotations = rec.getAnnotations();
+ Collection<QueryAnnotation> annotations = rec.getAnnotations();
assertEquals(2, annotations.size());
assertTrue(annotations.contains(ann1));
assertTrue(annotations.contains(ann2));
@@ -68,7 +68,7 @@
}
public void testDebugLog() {
- AnalysisRecord rec = new AnalysisRecord(false, false, true);
+ AnalysisRecord rec = new AnalysisRecord(false, true);
assertTrue(rec.recordDebug());
rec.println("a"); //$NON-NLS-1$
Modified: trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestOptimizer.java
===================================================================
---
trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestOptimizer.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestOptimizer.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -282,7 +282,7 @@
// plan
ProcessorPlan plan = null;
if (analysisRecord == null) {
- analysisRecord = new AnalysisRecord(false, false, DEBUG);
+ analysisRecord = new AnalysisRecord(false, DEBUG);
}
if (shouldSucceed) {
try {
Modified:
trunk/engine/src/test/java/com/metamatrix/query/optimizer/batch/TestBatchedUpdatePlanner.java
===================================================================
---
trunk/engine/src/test/java/com/metamatrix/query/optimizer/batch/TestBatchedUpdatePlanner.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/com/metamatrix/query/optimizer/batch/TestBatchedUpdatePlanner.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -95,7 +95,7 @@
// plan
ProcessorPlan plan = null;
- AnalysisRecord analysisRecord = new AnalysisRecord(false, false, DEBUG);
+ AnalysisRecord analysisRecord = new AnalysisRecord(false, DEBUG);
if (shouldSucceed) {
try {
//do planning
Modified:
trunk/engine/src/test/java/com/metamatrix/query/optimizer/proc/TestProcedurePlanner.java
===================================================================
---
trunk/engine/src/test/java/com/metamatrix/query/optimizer/proc/TestProcedurePlanner.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/com/metamatrix/query/optimizer/proc/TestProcedurePlanner.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -82,7 +82,7 @@
}
userCommand = QueryRewriter.rewrite(userCommand, metadata, null);
- AnalysisRecord analysisRecord = new AnalysisRecord(false, false, DEBUG);
+ AnalysisRecord analysisRecord = new AnalysisRecord(false, DEBUG);
try {
return QueryOptimizer.optimizePlan(userCommand, metadata, null, new
DefaultCapabilitiesFinder(), analysisRecord, null);
Modified:
trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/TestMaterialization.java
===================================================================
---
trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/TestMaterialization.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/TestMaterialization.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -43,16 +43,16 @@
String userSql = "SELECT MATVIEW.E1 FROM MATVIEW"; //$NON-NLS-1$
QueryMetadataInterface metadata = FakeMetadataFactory.exampleMaterializedView();
- AnalysisRecord analysis = new AnalysisRecord(false, true, DEBUG);
+ AnalysisRecord analysis = new AnalysisRecord(true, DEBUG);
Command command = helpGetCommand(userSql, metadata, null);
TestOptimizer.helpPlanCommand(command, metadata, getGenericFinder(), analysis,
new String[] {"SELECT g_0.e1 FROM MatTable.MatTable AS g_0"},
ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$
- Collection annotations = analysis.getAnnotations();
+ Collection<QueryAnnotation> annotations = analysis.getAnnotations();
assertNotNull("Expected annotations but got none", annotations);
//$NON-NLS-1$
assertTrue("Expected one annotation", annotations.size() == 1);
//$NON-NLS-1$
- assertEquals("Expected catagory mat view",
((QueryAnnotation)annotations.iterator().next()).getCategory(),
QueryAnnotation.MATERIALIZED_VIEW); //$NON-NLS-1$
+ assertEquals("Expected catagory mat view",
annotations.iterator().next().getCategory(), QueryAnnotation.MATERIALIZED_VIEW);
//$NON-NLS-1$
}
@Ignore("we no longer auto detect this case, if we need this logic it will have
to be added to the rewriter since it changes select into to an insert")
@@ -60,32 +60,32 @@
String userSql = "SELECT MATVIEW.E1 INTO MatTable.MatStage FROM
MATVIEW"; //$NON-NLS-1$
QueryMetadataInterface metadata = FakeMetadataFactory.exampleMaterializedView();
- AnalysisRecord analysis = new AnalysisRecord(false, true, DEBUG);
+ AnalysisRecord analysis = new AnalysisRecord(true, DEBUG);
Command command = helpGetCommand(userSql, metadata, null);
TestOptimizer.helpPlanCommand(command, metadata, getGenericFinder(), analysis,
new String[] {"SELECT g_0.x FROM MatSrc.MatSrc AS g_0"},
ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$
- Collection annotations = analysis.getAnnotations();
+ Collection<QueryAnnotation> annotations = analysis.getAnnotations();
assertNotNull("Expected annotations but got none", annotations);
//$NON-NLS-1$
assertTrue("Expected one annotation", annotations.size() == 1);
//$NON-NLS-1$
- assertEquals("Expected catagory mat view",
((QueryAnnotation)annotations.iterator().next()).getCategory(),
QueryAnnotation.MATERIALIZED_VIEW); //$NON-NLS-1$
+ assertEquals("Expected catagory mat view",
annotations.iterator().next().getCategory(), QueryAnnotation.MATERIALIZED_VIEW);
//$NON-NLS-1$
}
@Test public void testMaterializedTransformationNoCache() throws Exception {
String userSql = "SELECT MATVIEW.E1 FROM MATVIEW OPTION NOCACHE
MatView.MatView"; //$NON-NLS-1$
QueryMetadataInterface metadata = FakeMetadataFactory.exampleMaterializedView();
- AnalysisRecord analysis = new AnalysisRecord(false, true, DEBUG);
+ AnalysisRecord analysis = new AnalysisRecord(true, DEBUG);
Command command = helpGetCommand(userSql, metadata, null);
TestOptimizer.helpPlanCommand(command, metadata, getGenericFinder(), analysis,
new String[] {"SELECT g_0.x FROM MatSrc.MatSrc AS g_0"},
ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$
- Collection annotations = analysis.getAnnotations();
+ Collection<QueryAnnotation> annotations = analysis.getAnnotations();
assertNotNull("Expected annotations but got none", annotations);
//$NON-NLS-1$
assertTrue("Expected one annotation", annotations.size() == 1);
//$NON-NLS-1$
- assertEquals("Expected catagory mat view",
((QueryAnnotation)annotations.iterator().next()).getCategory(),
QueryAnnotation.MATERIALIZED_VIEW); //$NON-NLS-1$
+ assertEquals("Expected catagory mat view",
annotations.iterator().next().getCategory(), QueryAnnotation.MATERIALIZED_VIEW);
//$NON-NLS-1$
}
//related to defect 14423
@@ -93,23 +93,23 @@
String userSql = "SELECT MATVIEW.E1 FROM MATVIEW OPTION NOCACHE";
//$NON-NLS-1$
QueryMetadataInterface metadata = FakeMetadataFactory.exampleMaterializedView();
- AnalysisRecord analysis = new AnalysisRecord(false, true, DEBUG);
+ AnalysisRecord analysis = new AnalysisRecord(true, DEBUG);
Command command = helpGetCommand(userSql, metadata, null);
TestOptimizer.helpPlanCommand(command, metadata, getGenericFinder(), analysis,
new String[] {"SELECT g_0.x FROM MatSrc.MatSrc AS g_0"},
ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$
- Collection annotations = analysis.getAnnotations();
+ Collection<QueryAnnotation> annotations = analysis.getAnnotations();
assertNotNull("Expected annotations but got none", annotations);
//$NON-NLS-1$
assertTrue("Expected one annotation", annotations.size() == 1);
//$NON-NLS-1$
- assertEquals("Expected catagory mat view",
((QueryAnnotation)annotations.iterator().next()).getCategory(),
QueryAnnotation.MATERIALIZED_VIEW); //$NON-NLS-1$
+ assertEquals("Expected catagory mat view",
annotations.iterator().next().getCategory(), QueryAnnotation.MATERIALIZED_VIEW);
//$NON-NLS-1$
}
@Test public void testNoCacheInTransformation() throws Exception {
String userSql = "SELECT VGROUP.E1 FROM VGROUP"; //$NON-NLS-1$
QueryMetadataInterface metadata = FakeMetadataFactory.exampleMaterializedView();
- AnalysisRecord analysis = new AnalysisRecord(false, true, DEBUG);
+ AnalysisRecord analysis = new AnalysisRecord(true, DEBUG);
Command command = helpGetCommand(userSql, metadata, null);
@@ -120,7 +120,7 @@
String userSql = "SELECT MATVIEW1.E1 FROM MATVIEW1 option nocache
matview.matview1"; //$NON-NLS-1$
QueryMetadataInterface metadata = FakeMetadataFactory.exampleMaterializedView();
- AnalysisRecord analysis = new AnalysisRecord(false, true, DEBUG);
+ AnalysisRecord analysis = new AnalysisRecord(true, DEBUG);
Command command = helpGetCommand(userSql, metadata, null);
@@ -131,7 +131,7 @@
String userSql = "SELECT MATVIEW1.E1 FROM MATVIEW1 option nocache";
//$NON-NLS-1$
QueryMetadataInterface metadata = FakeMetadataFactory.exampleMaterializedView();
- AnalysisRecord analysis = new AnalysisRecord(false, true, DEBUG);
+ AnalysisRecord analysis = new AnalysisRecord(true, DEBUG);
Command command = helpGetCommand(userSql, metadata, null);
Modified:
trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestRuleAccessPatternValidation.java
===================================================================
---
trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestRuleAccessPatternValidation.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestRuleAccessPatternValidation.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -119,7 +119,7 @@
System.out.println("EXECUTING " + rule); //$NON-NLS-1$
}
- plan = rule.execute(plan, metadata, FINDER, rules, new AnalysisRecord(false,
false, debug), context);
+ plan = rule.execute(plan, metadata, FINDER, rules, new AnalysisRecord(false,
debug), context);
if(debug) {
System.out.println("\nAFTER: \n" + plan); //$NON-NLS-1$
}
Modified:
trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestRuleChooseDependent.java
===================================================================
---
trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestRuleChooseDependent.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/com/metamatrix/query/optimizer/relational/rules/TestRuleChooseDependent.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -35,6 +35,7 @@
import com.metamatrix.api.exception.MetaMatrixComponentException;
import com.metamatrix.api.exception.query.QueryMetadataException;
import com.metamatrix.api.exception.query.QueryPlannerException;
+import com.metamatrix.query.analysis.AnalysisRecord;
import com.metamatrix.query.optimizer.TestOptimizer;
import com.metamatrix.query.optimizer.capabilities.FakeCapabilitiesFinder;
import com.metamatrix.query.optimizer.relational.RuleStack;
@@ -168,7 +169,7 @@
public void helpTestValidJoin(PlanNode joinNode, PlanNode accessNode, boolean
expectedValid) {
RuleChooseDependent rule = new RuleChooseDependent();
RuleChooseJoinStrategy.chooseJoinStrategy(joinNode, metadata);
- boolean isValid = rule.isValidJoin(joinNode, accessNode);
+ boolean isValid = rule.isValidJoin(joinNode, accessNode,
AnalysisRecord.createNonRecordingRecord());
assertEquals("Valid join check is wrong ", expectedValid, isValid);
//$NON-NLS-1$
}
Modified:
trunk/engine/src/test/java/com/metamatrix/query/optimizer/xml/TestXMLPlanner.java
===================================================================
---
trunk/engine/src/test/java/com/metamatrix/query/optimizer/xml/TestXMLPlanner.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/com/metamatrix/query/optimizer/xml/TestXMLPlanner.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -793,7 +793,7 @@
throws QueryPlannerException, QueryMetadataException,
MetaMatrixComponentException {
IDGenerator idGenerator = new IDGenerator();
idGenerator.setDefaultFactory(new IntegerIDFactory());
- AnalysisRecord analysis = new AnalysisRecord(false, false, DEBUG);
+ AnalysisRecord analysis = new AnalysisRecord(false, DEBUG);
try {
if (DEBUG) {
System.out.println("\n####################################\n" +
command); //$NON-NLS-1$
Modified: trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java
===================================================================
---
trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -144,7 +144,7 @@
static ProcessorPlan helpGetPlan(Command command, QueryMetadataInterface metadata,
CapabilitiesFinder capFinder, CommandContext context) {
if(DEBUG) System.out.println("\n####################################\n" +
command); //$NON-NLS-1$
- AnalysisRecord analysisRecord = new AnalysisRecord(false, false, DEBUG);
+ AnalysisRecord analysisRecord = new AnalysisRecord(false, DEBUG);
try {
QueryResolver.resolveCommand(command, metadata);
Modified:
trunk/engine/src/test/java/com/metamatrix/query/processor/dynamic/TestSqlEval.java
===================================================================
---
trunk/engine/src/test/java/com/metamatrix/query/processor/dynamic/TestSqlEval.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/com/metamatrix/query/processor/dynamic/TestSqlEval.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -70,7 +70,7 @@
}
String toXMLString(Source xmlSrc) throws Exception{
- StandardXMLTranslator sxt = new StandardXMLTranslator(xmlSrc, null);
+ StandardXMLTranslator sxt = new StandardXMLTranslator(xmlSrc);
return sxt.getString();
}
Modified:
trunk/engine/src/test/java/com/metamatrix/query/processor/proc/TestProcedureProcessor.java
===================================================================
---
trunk/engine/src/test/java/com/metamatrix/query/processor/proc/TestProcedureProcessor.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/com/metamatrix/query/processor/proc/TestProcedureProcessor.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -91,7 +91,7 @@
}
QueryRewriter.rewrite(userCommand, metadata, new CommandContext());
- AnalysisRecord analysisRecord = new AnalysisRecord(false, false, DEBUG);
+ AnalysisRecord analysisRecord = new AnalysisRecord(false, DEBUG);
try {
if ( capabilitiesFinder == null ) capabilitiesFinder = new
DefaultCapabilitiesFinder();
ProcessorPlan plan = QueryOptimizer.optimizePlan(userCommand, metadata, null,
capabilitiesFinder, analysisRecord, null);
Modified:
trunk/engine/src/test/java/com/metamatrix/query/processor/xml/TestXMLProcessor.java
===================================================================
---
trunk/engine/src/test/java/com/metamatrix/query/processor/xml/TestXMLProcessor.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/com/metamatrix/query/processor/xml/TestXMLProcessor.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -2951,7 +2951,7 @@
if (shouldSucceed){
- AnalysisRecord analysisRecord = new AnalysisRecord(false, false, DEBUG);
+ AnalysisRecord analysisRecord = new AnalysisRecord(false, DEBUG);
CommandContext planningContext = new CommandContext(); //this should be the
same as the processing context, but that's not easy to do
ProcessorPlan plan = QueryOptimizer.optimizePlan(command, metadata, null,
capFinder, analysisRecord, planningContext);
@@ -2995,7 +2995,7 @@
return plan;
}
Exception expected = null;
- AnalysisRecord analysisRecord = new AnalysisRecord(false, false, DEBUG);
+ AnalysisRecord analysisRecord = new AnalysisRecord(false, DEBUG);
try{
ProcessorPlan plan = QueryOptimizer.optimizePlan(command, metadata, null, new
DefaultCapabilitiesFinder(), analysisRecord, null);
@@ -3039,7 +3039,7 @@
private void helpTestProcess(String sql, String[] expectedDocs, FakeMetadataFacade
metadata, FakeDataManager dataMgr) throws Exception{
Command command = helpGetCommand(sql, metadata);
- AnalysisRecord analysisRecord = new AnalysisRecord(false, false, DEBUG);
+ AnalysisRecord analysisRecord = new AnalysisRecord(false, DEBUG);
XMLPlan plan = (XMLPlan)QueryOptimizer.optimizePlan(command, metadata, null, new
DefaultCapabilitiesFinder(), analysisRecord, null);
if(DEBUG) {
System.out.println(analysisRecord.getDebugLog());
Modified:
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestPreparedPlanCache.java
===================================================================
---
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestPreparedPlanCache.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/org/teiid/dqp/internal/process/TestPreparedPlanCache.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -155,7 +155,7 @@
pPlan.setPlan(new RelationalPlan(new ProjectNode(i)));
Map props = new HashMap();
props.put("desc", "desc"+i); //$NON-NLS-1$ //$NON-NLS-2$
- AnalysisRecord analysisRecord = new AnalysisRecord(true, true, false);
+ AnalysisRecord analysisRecord = new AnalysisRecord(true, false);
analysisRecord.setQueryPlan(props);
pPlan.setAnalysisRecord(analysisRecord);
ArrayList refs = new ArrayList();
Modified:
trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java
===================================================================
---
trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/engine/src/test/java/org/teiid/dqp/internal/process/multisource/TestMultiSourcePlanToProcessConverter.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -106,7 +106,7 @@
}
MultiSourceMetadataWrapper wrapper = new MultiSourceMetadataWrapper(metadata,
multiSourceModels);
- AnalysisRecord analysis = new AnalysisRecord(false, false, DEBUG);
+ AnalysisRecord analysis = new AnalysisRecord(false, DEBUG);
Command command = TestResolver.helpResolve(userSql, wrapper, analysis);
Modified:
trunk/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java
===================================================================
---
trunk/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -113,14 +113,14 @@
}
public void start() {
- dqpCore.setTransactionService((TransactionService)LogManager.createLoggingProxy(com.metamatrix.common.log.LogConstants.CTX_TXN_LOG,
transactionServerImpl, new Class[] {TransactionService.class}, MessageLevel.DETAIL));
+ dqpCore.setTransactionService((TransactionService)LogManager.createLoggingProxy(LogConstants.CTX_TXN_LOG,
transactionServerImpl, new Class[] {TransactionService.class}, MessageLevel.DETAIL));
// create the necessary services
createClientServices();
- this.csr.registerClientService(ILogon.class, logon,
com.metamatrix.common.log.LogConstants.CTX_SESSION);
- this.csr.registerClientService(DQP.class, proxyService(DQP.class, this.dqpCore),
com.metamatrix.common.log.LogConstants.CTX_DQP);
- this.csr.registerClientService(Admin.class, proxyService(Admin.class, admin),
com.metamatrix.common.log.LogConstants.CTX_ADMIN_API);
+ this.csr.registerClientService(ILogon.class, logon, LogConstants.CTX_SECURITY);
+ this.csr.registerClientService(DQP.class, proxyService(DQP.class, this.dqpCore),
LogConstants.CTX_DQP);
+ this.csr.registerClientService(Admin.class, proxyService(Admin.class, admin),
LogConstants.CTX_ADMIN_API);
if (this.jdbcSocketConfiguration.isEnabled()) {
this.jdbcSocket = new SocketTransport(this.jdbcSocketConfiguration, csr);
@@ -133,11 +133,11 @@
if (this.adminSocketConfiguration.isEnabled()) {
this.adminSocket = new SocketTransport(this.adminSocketConfiguration, csr);
this.adminSocket.start();
- LogManager.logInfo(com.metamatrix.common.log.LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.getString("socket_enabled","Teiid Admin",
(this.adminSocketConfiguration.getSSLConfiguration().isSslEnabled()?"mms://":"mm://")+this.adminSocketConfiguration.getHostAddress().getHostName()+":"+this.adminSocketConfiguration.getPortNumber()));
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
+ LogManager.logInfo(LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.getString("socket_enabled","Teiid Admin",
(this.adminSocketConfiguration.getSSLConfiguration().isSslEnabled()?"mms://":"mm://")+this.adminSocketConfiguration.getHostAddress().getHostName()+":"+this.adminSocketConfiguration.getPortNumber()));
//$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
} else {
- LogManager.logInfo(com.metamatrix.common.log.LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.getString("socket_not_enabled", "admin
connections")); //$NON-NLS-1$ //$NON-NLS-2$
+ LogManager.logInfo(LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.getString("socket_not_enabled", "admin
connections")); //$NON-NLS-1$ //$NON-NLS-2$
}
- LogManager.logInfo(com.metamatrix.common.log.LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.getString("engine_started", new
Date(System.currentTimeMillis()).toString())); //$NON-NLS-1$
+ LogManager.logInfo(LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.getString("engine_started", new
Date(System.currentTimeMillis()).toString())); //$NON-NLS-1$
}
public void stop() {
@@ -158,7 +158,7 @@
this.adminSocket.stop();
this.adminSocket = null;
}
- LogManager.logInfo(com.metamatrix.common.log.LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.getString("engine_stopped", new
Date(System.currentTimeMillis()).toString())); //$NON-NLS-1$
+ LogManager.logInfo(LogConstants.CTX_RUNTIME,
IntegrationPlugin.Util.getString("engine_stopped", new
Date(System.currentTimeMillis()).toString())); //$NON-NLS-1$
}
private void createClientServices() {
Modified: trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java 2010-03-25 16:42:20
UTC (rev 2000)
+++ trunk/runtime/src/main/java/org/teiid/deployers/VDBRepository.java 2010-03-25 16:55:55
UTC (rev 2001)
@@ -123,7 +123,7 @@
// now save the change in the configuration.
saveVDB(vdb);
- LogManager.logInfo(LogConstants.CTX_DQP,
RuntimePlugin.Util.getString("VDBService.vdb_change_status", new Object[] {
vdbName, vdbVersion, status})); //$NON-NLS-1$
+ LogManager.logInfo(LogConstants.CTX_RUNTIME,
RuntimePlugin.Util.getString("VDBService.vdb_change_status", new Object[] {
vdbName, vdbVersion, status})); //$NON-NLS-1$
}
}
Modified: trunk/runtime/src/main/java/org/teiid/logging/Log4JUtil.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/logging/Log4JUtil.java 2010-03-25 16:42:20 UTC
(rev 2000)
+++ trunk/runtime/src/main/java/org/teiid/logging/Log4JUtil.java 2010-03-25 16:55:55 UTC
(rev 2001)
@@ -104,9 +104,7 @@
contexts.add(ROOT_CONTEXT+com.metamatrix.common.log.LogConstants.CTX_TXN_LOG);
contexts.add(ROOT_CONTEXT+com.metamatrix.common.log.LogConstants.CTX_COMMANDLOGGING);
contexts.add(ROOT_CONTEXT+com.metamatrix.common.log.LogConstants.CTX_AUDITLOGGING);
- contexts.add(ROOT_CONTEXT+com.metamatrix.common.log.LogConstants.CTX_SESSION);
- contexts.add(ROOT_CONTEXT+com.metamatrix.common.log.LogConstants.CTX_AUTHORIZATION);
- contexts.add(ROOT_CONTEXT+com.metamatrix.common.log.LogConstants.CTX_MEMBERSHIP);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.common.log.LogConstants.CTX_SECURITY);
contexts.add(ROOT_CONTEXT+com.metamatrix.common.log.LogConstants.CTX_TRANSPORT);
contexts.add(ROOT_CONTEXT+com.metamatrix.common.log.LogConstants.CTX_ADMIN_API);
contexts.add(ROOT_CONTEXT+com.metamatrix.common.log.LogConstants.CTX_QUERY_PLANNER);
Modified: trunk/runtime/src/main/java/org/teiid/services/SessionServiceImpl.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/services/SessionServiceImpl.java 2010-03-25
16:42:20 UTC (rev 2000)
+++ trunk/runtime/src/main/java/org/teiid/services/SessionServiceImpl.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -97,21 +97,21 @@
for (SessionMetadata info : sessionCache.values()) {
try {
if (!info.isEmbedded() && currentTime - info.getLastPingTime() >
ServerConnection.PING_INTERVAL * 5) {
- LogManager.logInfo(LogConstants.CTX_SESSION, RuntimePlugin.Util.getString(
"SessionServiceImpl.keepaliveFailed", info.getSessionId())); //$NON-NLS-1$
+ LogManager.logInfo(LogConstants.CTX_SECURITY, RuntimePlugin.Util.getString(
"SessionServiceImpl.keepaliveFailed", info.getSessionId())); //$NON-NLS-1$
closeSession(info.getSessionId());
} else if (sessionExpirationTimeLimit > 0 && currentTime -
info.getCreatedTime() > sessionExpirationTimeLimit) {
- LogManager.logInfo(LogConstants.CTX_SESSION, RuntimePlugin.Util.getString(
"SessionServiceImpl.expireSession", info.getSessionId())); //$NON-NLS-1$
+ LogManager.logInfo(LogConstants.CTX_SECURITY, RuntimePlugin.Util.getString(
"SessionServiceImpl.expireSession", info.getSessionId())); //$NON-NLS-1$
closeSession(info.getSessionId());
}
} catch (Exception e) {
- LogManager.logDetail(LogConstants.CTX_SESSION, e, "error running session
monitor, unable to monitor: " + info.getSessionId()); //$NON-NLS-1$
+ LogManager.logDetail(LogConstants.CTX_SECURITY, e, "error running session
monitor, unable to monitor: " + info.getSessionId()); //$NON-NLS-1$
}
}
}
@Override
public void closeSession(long sessionID) throws InvalidSessionException {
- LogManager.logDetail(LogConstants.CTX_SESSION, new Object[] {"closeSession",
sessionID}); //$NON-NLS-1$
+ LogManager.logDetail(LogConstants.CTX_SECURITY, new Object[] {"closeSession",
sessionID}); //$NON-NLS-1$
SessionMetadata info = this.sessionCache.remove(sessionID);
if (info == null) {
throw new
InvalidSessionException(RuntimePlugin.Util.getString("SessionServiceImpl.invalid_session",
sessionID)); //$NON-NLS-1$
@@ -120,7 +120,7 @@
try {
dqp.terminateSession(info.getSessionId());
} catch (Exception e) {
- LogManager.logWarning(LogConstants.CTX_SESSION,e,"Exception
terminitating session"); //$NON-NLS-1$
+ LogManager.logWarning(LogConstants.CTX_SECURITY,e,"Exception
terminitating session"); //$NON-NLS-1$
}
}
@@ -131,7 +131,7 @@
context.logout();
}
} catch (LoginException e) {
- LogManager.logWarning(LogConstants.CTX_SESSION,e,"Exception terminitating
session"); //$NON-NLS-1$
+ LogManager.logWarning(LogConstants.CTX_SECURITY,e,"Exception terminitating
session"); //$NON-NLS-1$
}
}
@@ -141,8 +141,6 @@
ArgCheck.isNotNull(applicationName);
ArgCheck.isNotNull(properties);
- Properties productInfo = new Properties();
-
LoginContext loginContext = null;
String securityDomain = "none"; //$NON-NLS-1$
Object securityContext = null;
@@ -173,10 +171,6 @@
else {
vdb = this.vdbRepository.getVDB(vdbName, Integer.parseInt(vdbVersion));
}
-
- // Reset product info with validated constants
- productInfo.put(TeiidURL.JDBC.VDB_NAME, vdb.getName());
- productInfo.put(TeiidURL.JDBC.VDB_VERSION, vdb.getVersion());
} catch (VirtualDatabaseException e) {
throw new
SessionServiceException(RuntimePlugin.Util.getString("VDBService.VDB_does_not_exist._2",
vdbName, vdbVersion==null?"latest":vdbVersion)); //$NON-NLS-1$ //$NON-NLS-2$
}
@@ -208,7 +202,7 @@
newSession.setSecurityContext(securityContext);
newSession.setVdb(vdb);
newSession.setSessionToken(new SessionToken(id, userName));
- LogManager.logDetail(LogConstants.CTX_SESSION, new Object[] {"Logon
successful for \"", userName, "\" - created SessionID \"",
"" + id, "\"" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//$NON-NLS-4$
+ LogManager.logDetail(LogConstants.CTX_SECURITY, new Object[] {"Logon
successful for \"", userName, "\" - created SessionID \"",
"" + id, "\"" }); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
//$NON-NLS-4$
this.sessionCache.put(newSession.getSessionId(), newSession);
return newSession;
}
@@ -260,12 +254,12 @@
@Override
public boolean terminateSession(long terminatedSessionID, long adminSessionID) {
Object[] params = {adminSessionID, terminatedSessionID};
- LogManager.logInfo(LogConstants.CTX_SESSION, RuntimePlugin.Util.getString(
"SessionServiceImpl.terminateSession", params)); //$NON-NLS-1$
+ LogManager.logInfo(LogConstants.CTX_SECURITY, RuntimePlugin.Util.getString(
"SessionServiceImpl.terminateSession", params)); //$NON-NLS-1$
try {
closeSession(terminatedSessionID);
return true;
} catch (InvalidSessionException e) {
- LogManager.logWarning(LogConstants.CTX_SESSION,e,RuntimePlugin.Util.getString("SessionServiceImpl.invalid_session",
new Object[] {e.getMessage()})); //$NON-NLS-1$
+ LogManager.logWarning(LogConstants.CTX_SECURITY,e,RuntimePlugin.Util.getString("SessionServiceImpl.invalid_session",
new Object[] {e.getMessage()})); //$NON-NLS-1$
return false;
}
}
@@ -305,7 +299,7 @@
public void setSecurityDomains(String domainNameOrder) {
if (domainNameOrder != null && domainNameOrder.trim().length()>0) {
- LogManager.logDetail(LogConstants.CTX_MEMBERSHIP, "Security Enabled:
true"); //$NON-NLS-1$
+ LogManager.logDetail(LogConstants.CTX_SECURITY, "Security Enabled:
true"); //$NON-NLS-1$
String[] domainNames = domainNameOrder.split(","); //$NON-NLS-1$
for (String domainName : domainNames) {
@@ -316,7 +310,7 @@
public void setAdminSecurityDomain(String domain) {
this.adminSecurityDomains.add(domain);
- LogManager.logDetail(LogConstants.CTX_MEMBERSHIP, "Admin Security Enabled:
true"); //$NON-NLS-1$
+ LogManager.logDetail(LogConstants.CTX_SECURITY, "Admin Security Enabled:
true"); //$NON-NLS-1$
}
public void start() {
Modified: trunk/runtime/src/main/java/org/teiid/services/TeiidLoginContext.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/services/TeiidLoginContext.java 2010-03-25
16:42:20 UTC (rev 2000)
+++ trunk/runtime/src/main/java/org/teiid/services/TeiidLoginContext.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -59,7 +59,7 @@
public void authenticateUser(String username, Credentials credential, String
applicationName, List<String> domains) throws LoginException {
- LogManager.logDetail(LogConstants.CTX_MEMBERSHIP, new Object[]
{"authenticateUser", username, applicationName}); //$NON-NLS-1$
+ LogManager.logDetail(LogConstants.CTX_SECURITY, new Object[]
{"authenticateUser", username, applicationName}); //$NON-NLS-1$
final String baseUsername = getBaseUsername(username);
final char[] password = credential.getCredentialsAsCharArray();
@@ -92,10 +92,10 @@
this.loginContext.login();
this.userName = baseUsername+AT+domain;
this.securitydomain = domain;
- LogManager.logDetail(LogConstants.CTX_MEMBERSHIP, new Object[] {"Logon
successful for \"", username, "\""}); //$NON-NLS-1$
//$NON-NLS-2$
+ LogManager.logDetail(LogConstants.CTX_SECURITY, new Object[] {"Logon successful
for \"", username, "\""}); //$NON-NLS-1$ //$NON-NLS-2$
return;
} catch (LoginException e) {
- LogManager.logDetail(LogConstants.CTX_MEMBERSHIP,e, e.getMessage());
+ LogManager.logDetail(LogConstants.CTX_SECURITY,e, e.getMessage());
}
}
throw new
LoginException(RuntimePlugin.Util.getString("SessionServiceImpl.The_username_0_and/or_password_are_incorrect",
username )); //$NON-NLS-1$
Modified:
trunk/test-integration/common/src/test/java/org/teiid/dqp/internal/process/BaseQueryTest.java
===================================================================
---
trunk/test-integration/common/src/test/java/org/teiid/dqp/internal/process/BaseQueryTest.java 2010-03-25
16:42:20 UTC (rev 2000)
+++
trunk/test-integration/common/src/test/java/org/teiid/dqp/internal/process/BaseQueryTest.java 2010-03-25
16:55:55 UTC (rev 2001)
@@ -60,7 +60,7 @@
Command command = TestOptimizer.helpGetCommand(sql, metadata, null);
// plan
- AnalysisRecord analysisRecord = new AnalysisRecord(false, debug, debug);
+ AnalysisRecord analysisRecord = new AnalysisRecord(false, debug);
ProcessorPlan plan = null;
try {
plan = QueryOptimizer.optimizePlan(command, metadata, null, capFinder,
analysisRecord, createCommandContext());