[teiid-commits] teiid SVN: r1942 - in trunk: client-jdbc/src/test/java/com/metamatrix/jdbc and 35 other directories.
teiid-commits at lists.jboss.org
teiid-commits at lists.jboss.org
Tue Mar 9 00:42:44 EST 2010
Author: shawkins
Date: 2010-03-09 00:42:40 -0500 (Tue, 09 Mar 2010)
New Revision: 1942
Added:
trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/TestEmbeddedDriver.java
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/teiid/
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/teiid/TeiidCapabilities.java
trunk/runtime/src/main/java/org/teiid/logging/
trunk/runtime/src/main/java/org/teiid/logging/Log4JUtil.java
trunk/runtime/src/main/java/org/teiid/logging/LogConfigurationProvider.java
trunk/runtime/src/main/java/org/teiid/logging/LogListernerProvider.java
Removed:
trunk/runtime/src/main/java/com/metamatrix/dqp/embedded/admin/
trunk/runtime/src/main/java/com/metamatrix/jdbc/
trunk/runtime/src/main/java/org/teiid/configuration/
trunk/runtime/src/test/java/com/metamatrix/jdbc/
trunk/runtime/src/test/java/com/metamatrix/platform/security/membership/
trunk/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/extension/
trunk/test-integration/common/src/test/java/com/metamatrix/connector/jdbc/util/
trunk/test-integration/common/src/test/java/com/metamatrix/server/integration/
trunk/test-integration/common/src/test/java/com/metamatrix/systemmodel/
trunk/test-integration/common/src/test/java/org/teiid/runtime/
trunk/test-integration/db/src/test/java/org/teiid/connector/metadata/TestMetadataInConnector.java
Modified:
trunk/build/kit-jboss-container/deploy/teiid/teiid-jboss-beans.xml
trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/BaseColumn.java
trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureParameter.java
trunk/connector-api/src/main/java/org/teiid/connector/visitor/util/SQLStringVisitor.java
trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/mm/MMCapabilities.java
trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/extension/TestSQLConversionVisitor.java
trunk/engine/src/main/java/com/metamatrix/common/buffer/impl/FileStorageManager.java
trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/language/LanguageBridgeFactory.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java
trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java
trunk/engine/src/main/java/org/teiid/metadata/TransformationMetadata.java
trunk/engine/src/test/java/com/metamatrix/query/function/TestResolvedFunctions.java
trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestJoinOptimization.java
trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestOptimizer.java
trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java
trunk/engine/src/test/java/com/metamatrix/query/resolver/TestResolver.java
trunk/engine/src/test/java/com/metamatrix/query/unittest/FakeMetadataFactory.java
trunk/engine/src/test/java/com/metamatrix/query/validator/TestValidator.java
trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestGroupImpl.java
trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestInlineViewImpl.java
trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestProcedureImpl.java
trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestSetQueryImpl.java
trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TstLanguageBridgeFactory.java
trunk/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java
trunk/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java
trunk/runtime/src/main/java/org/teiid/logging/CommonsLogManagerAdapter.java
trunk/runtime/src/main/java/org/teiid/services/BufferServiceImpl.java
trunk/runtime/src/test/java/org/teiid/transport/TestCommSockets.java
trunk/test-integration/common/src/test/java/org/teiid/connector/language/TestLanguageUtil.java
trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestElement.java
trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestMetadataObject.java
trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestParams.java
trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestProcedure.java
trunk/test-integration/common/src/test/java/org/teiid/connector/visitor/util/TestSQLStringVisitor.java
Log:
TEIID-833 cleaning up tests post merge
Modified: trunk/build/kit-jboss-container/deploy/teiid/teiid-jboss-beans.xml
===================================================================
--- trunk/build/kit-jboss-container/deploy/teiid/teiid-jboss-beans.xml 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/build/kit-jboss-container/deploy/teiid/teiid-jboss-beans.xml 2010-03-09 05:42:40 UTC (rev 1942)
@@ -57,13 +57,13 @@
<!--
The number of batch columns guaranteed to a processing operation. Set this value lower if the workload typically
processes larger numbers of concurrent queries with large intermediate results from operations such as sorting,
- grouping, etc. (default 124)
+ grouping, etc. (default 128)
-->
<property name="maxProcessingBatchesColumns">128</property>
<!-- Max File size in MB (default 2GB)-->
- <property name="maxFileSize">2024</property>
- <!-- Max open buffer files (default 128) -->
- <property name="maxOpenFiles">256</property>
+ <property name="maxFileSize">2048</property>
+ <!-- Max open buffer files (default 64) -->
+ <property name="maxOpenFiles">64</property>
</bean>
<bean name="RuntimeEngineDeployer" class="org.teiid.jboss.deployers.RuntimeEngineDeployer">
Copied: trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/TestEmbeddedDriver.java (from rev 1934, trunk/runtime/src/test/java/com/metamatrix/jdbc/TestEmbeddedDriver.java)
===================================================================
--- trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/TestEmbeddedDriver.java (rev 0)
+++ trunk/client-jdbc/src/test/java/com/metamatrix/jdbc/TestEmbeddedDriver.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -0,0 +1,90 @@
+/*
+ * 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.jdbc;
+
+import java.sql.DriverManager;
+import java.sql.SQLException;
+
+import junit.framework.TestCase;
+
+
+/**
+ * @since 4.3
+ */
+public class TestEmbeddedDriver extends TestCase {
+
+ EmbeddedDriver driver = new EmbeddedDriver();
+
+ /*
+ * Test method for 'com.metamatrix.jdbc.EmbeddedDriver.acceptsURL(String)'
+ * // (\\w:[\\\\,\\/]|file:\\/\\/|\\/|\\\\|(\\.){1,2}){1}
+ */
+ public void testAcceptsURL() throws SQLException {
+ // Windows Path
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT at c:\\metamatrix\\dqp\\dqp.properties")); //$NON-NLS-1$
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT at c:\\metamatrix\\dqp\\dqp.properties;version=1")); //$NON-NLS-1$
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT at c:\\metamatrix\\dqp\\dqp.properties;version=1;txnAutoWrap=ON;partialResultsMode=YES")); //$NON-NLS-1$
+
+ // Alternative windows path
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT at c:/metamatrix/dqp/dqp.properties")); //$NON-NLS-1$
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT at c:/metamatrix/dqp/dqp.properties;version=1")); //$NON-NLS-1$
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT at c:/metamatrix/dqp/dqp.properties;version=1;txnAutoWrap=ON;partialResultsMode=YES")); //$NON-NLS-1$
+
+ // Abosolute path (Unix or windows)
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT@/metamatrix/dqp/dqp.properties")); //$NON-NLS-1$
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT@/metamatrix/dqp/dqp.properties;version=1")); //$NON-NLS-1$
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT@/metamatrix/dqp/dqp.properties;version=1;txnAutoWrap=ON;partialResultsMode=YES")); //$NON-NLS-1$
+
+ // relative path
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT at ../../metamatrix/dqp/dqp.properties")); //$NON-NLS-1$
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT at ../../metamatrix/dqp/dqp.properties;version=1")); //$NON-NLS-1$
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT at ../../metamatrix/dqp/dqp.properties;version=1;txnAutoWrap=ON;partialResultsMode=YES")); //$NON-NLS-1$
+
+ // File URL should be supported (not sure)
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT at file:///c:/metamatrix/dqp/dqp.properties")); //$NON-NLS-1$
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT at testdata/dqp/dqp.properties;partialResultsMode=true")); //$NON-NLS-1$
+
+ // ClassPath based URL
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT at classpath:/dqp.properties;partialResultsMode=true")); //$NON-NLS-1$
+
+ // These are specific to the MMDriver and should not be suported
+ assertFalse(driver.acceptsURL("jdbc:metamatrix:BQT at mm://host:7001;version=1")); //$NON-NLS-1$
+ assertFalse(driver.acceptsURL("jdbc:metamatrix:BQT at mms://host:7001;version=1")); //$NON-NLS-1$
+ //assertFalse(driver.acceptsURL("jdbc:metamatrix:BQT at http://host:7001;version=1"));
+
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT")); //$NON-NLS-1$
+ assertFalse(driver.acceptsURL("jdbc:metamatrix:BQT!/path/foo.properties")); //$NON-NLS-1$
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT;")); //$NON-NLS-1$
+ assertTrue(driver.acceptsURL("jdbc:metamatrix:BQT;version=1;logFile=foo.txt")); //$NON-NLS-1$
+ }
+
+ public void test() throws Exception {
+ try {
+ Class.forName("com.metamatrix.jdbc.EmbeddedDriver"); //$NON-NLS-1$
+ DriverManager.getConnection("jdbc:metamatrix:Parts at invalidConfig.properties;version=1"); //$NON-NLS-1$
+ fail();
+ } catch (SQLException e) {
+ }
+ }
+
+}
Modified: trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/BaseColumn.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/BaseColumn.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/BaseColumn.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -80,6 +80,10 @@
return radix;
}
+ /**
+ * 1 based ordinal position
+ * @return
+ */
public int getPosition() {
return position;
}
Modified: trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureParameter.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureParameter.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/connector-api/src/main/java/org/teiid/connector/metadata/runtime/ProcedureParameter.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -22,10 +22,6 @@
package org.teiid.connector.metadata.runtime;
-import java.util.Collections;
-import java.util.List;
-
-
/**
* ProcedureParameterRecordImpl
*/
@@ -35,7 +31,6 @@
Unknown,
In,
InOut,
- ResultSet,
Out,
ReturnValue
}
@@ -69,15 +64,4 @@
return this.procedure;
}
- /**
- * Get the result set columns only if this parameter represents a result set.
- * @return
- */
- public List<Column> getResultSetColumns() {
- if (this.type == Type.ResultSet) {
- return this.procedure.getResultSet().getColumns();
- }
- return Collections.emptyList();
- }
-
}
\ No newline at end of file
Modified: trunk/connector-api/src/main/java/org/teiid/connector/visitor/util/SQLStringVisitor.java
===================================================================
--- trunk/connector-api/src/main/java/org/teiid/connector/visitor/util/SQLStringVisitor.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/connector-api/src/main/java/org/teiid/connector/visitor/util/SQLStringVisitor.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -692,7 +692,7 @@
buffer.append(Tokens.SPACE);
}
append(obj.getDerivedColumns());
- if (obj.getFrom() != null) {
+ if (obj.getFrom() != null && !obj.getFrom().isEmpty()) {
buffer.append(Tokens.SPACE).append(SQLReservedWords.FROM).append(Tokens.SPACE);
append(obj.getFrom());
}
Modified: trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/mm/MMCapabilities.java
===================================================================
--- trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/mm/MMCapabilities.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/mm/MMCapabilities.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -1,25 +1,6 @@
/*
- * 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.
+ * Copyright © 2000-2005 MetaMatrix, Inc. All rights reserved.
*/
-
/*
*/
package org.teiid.connector.jdbc.mm;
@@ -29,18 +10,13 @@
import org.teiid.connector.jdbc.JDBCCapabilities;
-
/**
- * @since 4.3
+ * Capabilities compatible with MM 5.5.x
*/
public class MMCapabilities extends JDBCCapabilities {
- /**
- * @see org.teiid.connector.api.ConnectorCapabilities#getSupportedFunctions()
- * @since 4.3
- */
- public List getSupportedFunctions() {
- List supportedFunctions = new ArrayList();
+ public List<String> getSupportedFunctions() {
+ List<String> supportedFunctions = new ArrayList<String>();
supportedFunctions.addAll(super.getSupportedFunctions());
supportedFunctions.add("ABS"); //$NON-NLS-1$
supportedFunctions.add("ACOS"); //$NON-NLS-1$
@@ -129,9 +105,6 @@
supportedFunctions.add("CAST"); //$NON-NLS-1$
supportedFunctions.add("CONVERT"); //$NON-NLS-1$
supportedFunctions.add("USER"); //$NON-NLS-1$
- supportedFunctions.add("FROM_UNIXTIME"); //$NON-NLS-1$
- supportedFunctions.add("NULLIF"); //$NON-NLS-1$
- supportedFunctions.add("COALESCE"); //$NON-NLS-1$
return supportedFunctions;
}
@@ -139,10 +112,6 @@
return true;
}
- /**
- * @see org.teiid.connector.api.ConnectorCapabilities#supportsFunctionsInGroupBy()
- * @since 5.0
- */
public boolean supportsFunctionsInGroupBy() {
return true;
}
@@ -154,14 +123,4 @@
public boolean supportsRowOffset() {
return true;
}
-
- @Override
- public boolean supportsExcept() {
- return true;
- }
-
- @Override
- public boolean supportsIntersect() {
- return true;
- }
-}
+}
\ No newline at end of file
Added: trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/teiid/TeiidCapabilities.java
===================================================================
--- trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/teiid/TeiidCapabilities.java (rev 0)
+++ trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/teiid/TeiidCapabilities.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -0,0 +1,167 @@
+/*
+ * 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 org.teiid.connector.jdbc.teiid;
+
+import java.util.ArrayList;
+import java.util.List;
+
+import org.teiid.connector.jdbc.JDBCCapabilities;
+
+
+/**
+ * @since 4.3
+ */
+public class TeiidCapabilities extends JDBCCapabilities {
+
+ /**
+ * @see org.teiid.connector.api.ConnectorCapabilities#getSupportedFunctions()
+ * @since 4.3
+ */
+ public List<String> getSupportedFunctions() {
+ List<String> supportedFunctions = new ArrayList<String>();
+ supportedFunctions.addAll(super.getSupportedFunctions());
+ supportedFunctions.add("ABS"); //$NON-NLS-1$
+ supportedFunctions.add("ACOS"); //$NON-NLS-1$
+ supportedFunctions.add("ASIN"); //$NON-NLS-1$
+ supportedFunctions.add("ATAN"); //$NON-NLS-1$
+ supportedFunctions.add("ATAN2"); //$NON-NLS-1$
+ supportedFunctions.add("CEILING"); //$NON-NLS-1$
+ supportedFunctions.add("COS"); //$NON-NLS-1$
+ supportedFunctions.add("COT"); //$NON-NLS-1$
+ supportedFunctions.add("DEGREES"); //$NON-NLS-1$
+ supportedFunctions.add("EXP"); //$NON-NLS-1$
+ supportedFunctions.add("FLOOR"); //$NON-NLS-1$
+ supportedFunctions.add("FORMATBIGDECIMAL"); //$NON-NLS-1$
+ supportedFunctions.add("FORMATBIGINTEGER"); //$NON-NLS-1$
+ supportedFunctions.add("FORMATDOUBLE"); //$NON-NLS-1$
+ supportedFunctions.add("FORMATFLOAT"); //$NON-NLS-1$
+ supportedFunctions.add("FORMATINTEGER"); //$NON-NLS-1$
+ supportedFunctions.add("FORMATLONG"); //$NON-NLS-1$
+ supportedFunctions.add("LOG"); //$NON-NLS-1$
+ supportedFunctions.add("LOG10"); //$NON-NLS-1$
+ supportedFunctions.add("MOD"); //$NON-NLS-1$
+ supportedFunctions.add("PARSEBIGDECIMAL"); //$NON-NLS-1$
+ supportedFunctions.add("PARSEBIGINTEGER"); //$NON-NLS-1$
+ supportedFunctions.add("PARSEDOUBLE"); //$NON-NLS-1$
+ supportedFunctions.add("PARSEFLOAT"); //$NON-NLS-1$
+ supportedFunctions.add("PARSEINTEGER"); //$NON-NLS-1$
+ supportedFunctions.add("PARSELONG"); //$NON-NLS-1$
+ supportedFunctions.add("PI"); //$NON-NLS-1$
+ supportedFunctions.add("POWER"); //$NON-NLS-1$
+ supportedFunctions.add("RADIANS"); //$NON-NLS-1$
+ supportedFunctions.add("RAND"); //$NON-NLS-1$
+ supportedFunctions.add("ROUND"); //$NON-NLS-1$
+ supportedFunctions.add("SIGN"); //$NON-NLS-1$
+ supportedFunctions.add("SIN"); //$NON-NLS-1$
+ supportedFunctions.add("SQRT"); //$NON-NLS-1$
+ supportedFunctions.add("TAN"); //$NON-NLS-1$
+ supportedFunctions.add("ASCII"); //$NON-NLS-1$
+ supportedFunctions.add("CHAR"); //$NON-NLS-1$
+ supportedFunctions.add("CHR"); //$NON-NLS-1$
+ supportedFunctions.add("CONCAT"); //$NON-NLS-1$
+ supportedFunctions.add("CONCAT2"); //$NON-NLS-1$
+ supportedFunctions.add("||"); //$NON-NLS-1$
+ supportedFunctions.add("INITCAP"); //$NON-NLS-1$
+ supportedFunctions.add("INSERT"); //$NON-NLS-1$
+ supportedFunctions.add("LCASE"); //$NON-NLS-1$
+ supportedFunctions.add("LENGTH"); //$NON-NLS-1$
+ supportedFunctions.add("LEFT"); //$NON-NLS-1$
+ supportedFunctions.add("LOCATE"); //$NON-NLS-1$
+ supportedFunctions.add("LPAD"); //$NON-NLS-1$
+ supportedFunctions.add("LTRIM"); //$NON-NLS-1$
+ supportedFunctions.add("REPEAT"); //$NON-NLS-1$
+ supportedFunctions.add("REPLACE"); //$NON-NLS-1$
+ supportedFunctions.add("RPAD"); //$NON-NLS-1$
+ supportedFunctions.add("RIGHT"); //$NON-NLS-1$
+ supportedFunctions.add("RTRIM"); //$NON-NLS-1$
+ supportedFunctions.add("SUBSTRING"); //$NON-NLS-1$
+ supportedFunctions.add("TRANSLATE"); //$NON-NLS-1$
+ supportedFunctions.add("UCASE"); //$NON-NLS-1$
+ supportedFunctions.add("CURDATE"); //$NON-NLS-1$
+ supportedFunctions.add("CURTIME"); //$NON-NLS-1$
+ supportedFunctions.add("NOW"); //$NON-NLS-1$
+ supportedFunctions.add("DAYNAME"); //$NON-NLS-1$
+ supportedFunctions.add("DAYOFMONTH"); //$NON-NLS-1$
+ supportedFunctions.add("DAYOFWEEK"); //$NON-NLS-1$
+ supportedFunctions.add("DAYOFYEAR"); //$NON-NLS-1$
+ supportedFunctions.add("FORMATDATE"); //$NON-NLS-1$
+ supportedFunctions.add("FORMATTIME"); //$NON-NLS-1$
+ supportedFunctions.add("FORMATTIMESTAMP"); //$NON-NLS-1$
+ supportedFunctions.add("HOUR"); //$NON-NLS-1$
+ supportedFunctions.add("MINUTE"); //$NON-NLS-1$
+ supportedFunctions.add("MONTH"); //$NON-NLS-1$
+ supportedFunctions.add("MONTHNAME"); //$NON-NLS-1$
+ supportedFunctions.add("PARSEDATE"); //$NON-NLS-1$
+ supportedFunctions.add("PARSETIME"); //$NON-NLS-1$
+ supportedFunctions.add("PARSETIMESTAMP"); //$NON-NLS-1$
+ supportedFunctions.add("SECOND"); //$NON-NLS-1$
+ supportedFunctions.add("TIMESTAMPADD"); //$NON-NLS-1$
+ supportedFunctions.add("TIMESTAMPDIFF"); //$NON-NLS-1$
+ supportedFunctions.add("WEEK"); //$NON-NLS-1$
+ supportedFunctions.add("YEAR"); //$NON-NLS-1$
+ supportedFunctions.add("MODIFYTIMEZONE"); //$NON-NLS-1$
+ supportedFunctions.add("DECODESTRING"); //$NON-NLS-1$
+ supportedFunctions.add("DECODEINTEGER"); //$NON-NLS-1$
+ supportedFunctions.add("IFNULL"); //$NON-NLS-1$
+ supportedFunctions.add("NVL"); //$NON-NLS-1$
+ supportedFunctions.add("CAST"); //$NON-NLS-1$
+ supportedFunctions.add("CONVERT"); //$NON-NLS-1$
+ supportedFunctions.add("USER"); //$NON-NLS-1$
+ supportedFunctions.add("FROM_UNIXTIME"); //$NON-NLS-1$
+ supportedFunctions.add("NULLIF"); //$NON-NLS-1$
+ supportedFunctions.add("COALESCE"); //$NON-NLS-1$
+ return supportedFunctions;
+ }
+
+ public boolean supportsInlineViews() {
+ return true;
+ }
+
+ /**
+ * @see org.teiid.connector.api.ConnectorCapabilities#supportsFunctionsInGroupBy()
+ * @since 5.0
+ */
+ public boolean supportsFunctionsInGroupBy() {
+ return true;
+ }
+
+ public boolean supportsRowLimit() {
+ return true;
+ }
+
+ public boolean supportsRowOffset() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsExcept() {
+ return true;
+ }
+
+ @Override
+ public boolean supportsIntersect() {
+ return true;
+ }
+}
Property changes on: trunk/connectors/connector-jdbc/src/main/java/org/teiid/connector/jdbc/teiid/TeiidCapabilities.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/extension/TestSQLConversionVisitor.java
===================================================================
--- trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/extension/TestSQLConversionVisitor.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/connectors/connector-jdbc/src/test/java/org/teiid/connector/jdbc/extension/TestSQLConversionVisitor.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -373,7 +373,7 @@
}
@Test public void testVisitIDeleteWithComment() throws Exception {
- String expected = "DELETE /*teiid sessionid:ConnectionID, requestid:RequestID.PartID*/ FROM g1 WHERE (100 >= 200) AND (500 < 600)"; //$NON-NLS-1$
+ String expected = "DELETE /*teiid sessionid:ConnectionID, requestid:RequestID.PartID*/ FROM g1 WHERE 100 >= 200 AND 500 < 600"; //$NON-NLS-1$
assertEquals(expected, getStringWithContext(TestDeleteImpl.example()));
}
@@ -383,9 +383,9 @@
}
@Test public void testVisitISelectWithComment() throws Exception {
- String expected = "SELECT /*teiid sessionid:ConnectionID, requestid:RequestID.PartID*/ g1.e1, g1.e2, g1.e3, g1.e4"; //$NON-NLS-1$
+ String expected = "SELECT /*teiid sessionid:ConnectionID, requestid:RequestID.PartID*/ g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE 100 >= 200 AND 500 < 600 GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING 100 >= 200 AND 500 < 600 ORDER BY e1, e2 DESC, e3, e4 DESC"; //$NON-NLS-1$
assertEquals(expected, getStringWithContext(TestQueryImpl.example(false)));
- expected = "SELECT /*teiid sessionid:ConnectionID, requestid:RequestID.PartID*/ DISTINCT g1.e1, g1.e2, g1.e3, g1.e4"; //$NON-NLS-1$
+ expected = "SELECT /*teiid sessionid:ConnectionID, requestid:RequestID.PartID*/ DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE 100 >= 200 AND 500 < 600 GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING 100 >= 200 AND 500 < 600 ORDER BY e1, e2 DESC, e3, e4 DESC"; //$NON-NLS-1$
assertEquals(expected, getStringWithContext(TestQueryImpl.example(true)));
}
Modified: trunk/engine/src/main/java/com/metamatrix/common/buffer/impl/FileStorageManager.java
===================================================================
--- trunk/engine/src/main/java/com/metamatrix/common/buffer/impl/FileStorageManager.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/main/java/com/metamatrix/common/buffer/impl/FileStorageManager.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -45,7 +45,8 @@
*/
public class FileStorageManager implements StorageManager {
- private static final int DEFAULT_MAX_OPEN_FILES = 128;
+ public static final int DEFAULT_MAX_OPEN_FILES = 64;
+ public static final long DEFAULT_MAX_FILESIZE = 2L * 1024L;
private static final String FILE_PREFIX = "b_"; //$NON-NLS-1$
private class FileInfo {
@@ -72,10 +73,12 @@
}
public void delete() {
- RandomAccessFile raf = fileCache.remove(this.file);
- if (raf != null) {
+ if (fileData == null) {
+ fileData = fileCache.remove(this.file);
+ }
+ if (fileData != null) {
try {
- raf.close();
+ fileData.close();
} catch (IOException e) {
}
}
@@ -95,21 +98,29 @@
this.name = name;
}
- public synchronized int readDirect(long fileOffset, byte[] b, int offSet, int length) throws MetaMatrixComponentException {
+ /**
+ * Concurrent reads are possible, but only after writing is complete.
+ */
+ public int readDirect(long fileOffset, byte[] b, int offSet, int length) throws MetaMatrixComponentException {
Map.Entry<Long, FileInfo> entry = storageFiles.floorEntry(fileOffset);
- Assertion.isNotNull(entry);
+ Assertion.isNotNull(entry);
FileInfo fileInfo = entry.getValue();
- try {
- RandomAccessFile fileAccess = fileInfo.open();
- fileAccess.seek(fileOffset - entry.getKey());
- return fileAccess.read(b, offSet, length);
- } catch (IOException e) {
- throw new MetaMatrixComponentException(e, QueryExecPlugin.Util.getString("FileStoreageManager.error_reading", fileInfo.file.getAbsoluteFile())); //$NON-NLS-1$
- } finally {
- fileInfo.close();
+ synchronized (fileInfo) {
+ try {
+ RandomAccessFile fileAccess = fileInfo.open();
+ fileAccess.seek(fileOffset - entry.getKey());
+ return fileAccess.read(b, offSet, length);
+ } catch (IOException e) {
+ throw new MetaMatrixComponentException(e, QueryExecPlugin.Util.getString("FileStoreageManager.error_reading", fileInfo.file.getAbsoluteFile())); //$NON-NLS-1$
+ } finally {
+ fileInfo.close();
+ }
}
}
+ /**
+ * Concurrent writes are prevented by FileStore, but in general should not happen since processing is single threaded.
+ */
public void writeDirect(byte[] bytes, int offset, int length) throws MetaMatrixComponentException {
Map.Entry<Long, FileInfo> entry = this.storageFiles.lastEntry();
boolean createNew = false;
@@ -153,7 +164,7 @@
// Initialization
private int maxOpenFiles = DEFAULT_MAX_OPEN_FILES;
- private long maxFileSize = 2L * 1024L * 1024L * 1024L; // 2GB
+ private long maxFileSize = DEFAULT_MAX_FILESIZE * 1024L * 1024L; // 2GB
private String directory;
private File dirFile;
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/language/LanguageBridgeFactory.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/language/LanguageBridgeFactory.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/datamgr/language/LanguageBridgeFactory.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -47,9 +47,9 @@
import org.teiid.connector.language.NamedTable;
import org.teiid.connector.language.Not;
import org.teiid.connector.language.QueryExpression;
+import org.teiid.connector.language.SearchedCase;
import org.teiid.connector.language.SearchedWhenClause;
import org.teiid.connector.language.Select;
-import org.teiid.connector.language.SearchedCase;
import org.teiid.connector.language.SortSpecification;
import org.teiid.connector.language.SubqueryComparison;
import org.teiid.connector.language.SubqueryIn;
@@ -503,8 +503,7 @@
}
ColumnReference translate(ElementSymbol symbol) throws MetaMatrixComponentException {
- ColumnReference element = null;
- element = new ColumnReference(translate(symbol.getGroupSymbol()), symbol.getOutputName(), null, symbol.getType());
+ ColumnReference element = new ColumnReference(translate(symbol.getGroupSymbol()), symbol.getOutputName(), null, symbol.getType());
if (element.getTable().getMetadataObject() == null) {
return element;
}
@@ -622,7 +621,7 @@
translatedParameters.add(arg);
}
- Call call = new Call(sp.getProcedureName(), translatedParameters, proc);
+ Call call = new Call(removeSchemaName(sp.getProcedureName()), translatedParameters, proc);
call.setReturnType(returnType);
return call;
}
@@ -634,6 +633,7 @@
alias = symbol.getOutputName();
fullGroup = symbol.getOutputDefinition();
}
+ fullGroup = removeSchemaName(fullGroup);
NamedTable group = new NamedTable(fullGroup, alias, null);
if (symbol.getMetadataID() instanceof TempMetadataID) {
return group;
@@ -646,6 +646,15 @@
}
return group;
}
+
+ private String removeSchemaName(String fullGroup) {
+ //remove the model name
+ int index = fullGroup.indexOf(ElementSymbol.SEPARATOR);
+ if (index > 0) {
+ fullGroup = fullGroup.substring(index + 1);
+ }
+ return fullGroup;
+ }
/* Batched Updates */
BatchedUpdates translate(BatchedUpdateCommand command) throws MetaMatrixComponentException {
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DQPConfiguration.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -35,7 +35,7 @@
static final int DEFAULT_PROCESSOR_TIMESLICE = 2000;
static final int DEFAULT_MAX_RESULTSET_CACHE_ENTRIES = 1024;
static final String PROCESS_PLAN_QUEUE_NAME = "QueryProcessorQueue"; //$NON-NLS-1$
- static final int DEFAULT_MAX_PROCESS_WORKERS = 15;
+ public static final int DEFAULT_MAX_PROCESS_WORKERS = 16;
private String processName = "localhost";
Modified: trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/main/java/org/teiid/dqp/internal/process/DataTierManagerImpl.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -193,7 +193,7 @@
}
if (proc.getResultSet() != null) {
for (Column param : proc.getResultSet().getColumns()) {
- rows.add(Arrays.asList(vdbName, proc.getParent().getName(), proc.getName(), param.getName(), param.getDatatype().getRuntimeTypeName(), param.getPosition(), ProcedureParameter.Type.ResultSet.toString(), false,
+ rows.add(Arrays.asList(vdbName, proc.getParent().getName(), proc.getName(), param.getName(), param.getDatatype().getRuntimeTypeName(), param.getPosition(), "ResultSet", false, //$NON-NLS-1$
param.getPrecision(), param.getLength(), param.getScale(), param.getRadix(), param.getNullType().toString(), param.getUUID()));
}
}
Modified: trunk/engine/src/main/java/org/teiid/metadata/TransformationMetadata.java
===================================================================
--- trunk/engine/src/main/java/org/teiid/metadata/TransformationMetadata.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/main/java/org/teiid/metadata/TransformationMetadata.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -374,7 +374,6 @@
case Out : return SPParameter.OUT;
case InOut : return SPParameter.INOUT;
case ReturnValue : return SPParameter.RETURN_VALUE;
- case ResultSet : return SPParameter.RESULT_SET;
default :
return -1;
}
Modified: trunk/engine/src/test/java/com/metamatrix/query/function/TestResolvedFunctions.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/function/TestResolvedFunctions.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/test/java/com/metamatrix/query/function/TestResolvedFunctions.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -89,7 +89,7 @@
BlockedException,
MetaMatrixComponentException, QueryResolverException {
Expression expr = QueryParser.getQueryParser().parseExpression(sql);
- ResolverVisitor.resolveLanguageObject(expr, FakeMetadataFactory.example1());
+ ResolverVisitor.resolveLanguageObject(expr, FakeMetadataFactory.example1Cached());
return Evaluator.evaluate(expr);
}
Modified: trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestJoinOptimization.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestJoinOptimization.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestJoinOptimization.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -620,7 +620,7 @@
* This tests now passes with RulePlanJoins
*/
@Test public void testPathologicalAccessPatternCaseCase2976Defect19018() throws Exception{
- FakeMetadataFacade metadata = FakeMetadataFactory.example2();
+ FakeMetadataFacade metadata = FakeMetadataFactory.example1();
// add single access pattern to pm1.g4 containing elements e1, e2, and e3
FakeMetadataStore store = metadata.getStore();
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-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/test/java/com/metamatrix/query/optimizer/TestOptimizer.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -6716,7 +6716,7 @@
" ) AS A" + //$NON-NLS-1$
") AS A"; //$NON-NLS-1$
- helpPlan(sql, FakeMetadataFactory.example1(), new String[] {});
+ helpPlan(sql, FakeMetadataFactory.example1Cached(), new String[] {});
}
/**
@@ -6741,7 +6741,7 @@
" ) AS A" + //$NON-NLS-1$
") AS A"; //$NON-NLS-1$
- helpPlan(sql, FakeMetadataFactory.example1(), new String[] {});
+ helpPlan(sql, FakeMetadataFactory.example1Cached(), new String[] {});
}
/**
@@ -6761,7 +6761,7 @@
" SELECT e2 AS e2 FROM pm1.g1 AS A" + //$NON-NLS-1$
") AS A"; //$NON-NLS-1$
- helpPlan(sql, FakeMetadataFactory.example1(), new String[] {"SELECT e2 FROM pm1.g1 AS A"}); //$NON-NLS-1$
+ helpPlan(sql, FakeMetadataFactory.example1Cached(), new String[] {"SELECT e2 FROM pm1.g1 AS A"}); //$NON-NLS-1$
}
/**
@@ -6783,16 +6783,17 @@
" SELECT CONVERT(e2, long) AS e2 FROM pm1.g1 AS A" + //$NON-NLS-1$
") AS A"; //$NON-NLS-1$
- helpPlan(sql, FakeMetadataFactory.example1(), new String[] {"SELECT e2 FROM pm1.g1 AS A"}); //$NON-NLS-1$
+ FakeMetadataFacade metadata = FakeMetadataFactory.example1Cached();
+ helpPlan(sql, metadata, new String[] {"SELECT e2 FROM pm1.g1 AS A"}); //$NON-NLS-1$
+
// Add convert capability to pm1 and try it again
FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder();
BasicSourceCapabilities caps = TestOptimizer.getTypicalCapabilities();
caps.setCapabilitySupport(Capability.QUERY_FROM_GROUP_ALIAS, true);
caps.setFunctionSupport("convert", true); //$NON-NLS-1$
capFinder.addCapabilities("pm1", caps); //$NON-NLS-1$
- FakeMetadataFacade metadata = FakeMetadataFactory.example1();
-
+
helpPlan(sql, metadata, null, capFinder,
new String[] {"SELECT CONVERT(CONVERT(e2, long), biginteger) FROM pm1.g1 AS A"}, //$NON-NLS-1$
SHOULD_SUCCEED );
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-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/test/java/com/metamatrix/query/processor/TestProcessor.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -6209,10 +6209,10 @@
}
@Test public void testUpdatesInLoop() {
- String sql = "update vm1.g1 set vm1.g1.e2=3"; //$NON-NLS-1$
+ String sql = "update vm1.g39 set e2=3"; //$NON-NLS-1$
// Plan query
- ProcessorPlan plan = helpGetPlan(sql, FakeMetadataFactory.example2());
+ ProcessorPlan plan = helpGetPlan(sql, FakeMetadataFactory.example1Cached());
// Construct data manager with data
HardcodedDataManager dataManager = new HardcodedDataManager();
Modified: trunk/engine/src/test/java/com/metamatrix/query/resolver/TestResolver.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/resolver/TestResolver.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/test/java/com/metamatrix/query/resolver/TestResolver.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -2005,10 +2005,9 @@
* Test for defect 12087 - Insert with implicit conversion from integer to short
*/
@Test public void testImplConversionBetweenIntAndShort() throws Exception {
- Command command = QueryParser.getQueryParser().parseCommand("Insert into pm1.g1(e1) Values(convert(100, short))"); //$NON-NLS-1$
- FakeMetadataFacade metadata = FakeMetadataFactory.example6();
-
+ Insert command = (Insert)QueryParser.getQueryParser().parseCommand("Insert into pm5.g3(e2) Values(100)"); //$NON-NLS-1$
QueryResolver.resolveCommand(command, metadata);
+ assertTrue(((Expression)command.getValues().get(0)).getType() == DataTypeManager.DefaultDataClasses.SHORT);
}
public static FakeMetadataFacade example_12968() {
Modified: trunk/engine/src/test/java/com/metamatrix/query/unittest/FakeMetadataFactory.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/unittest/FakeMetadataFactory.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/test/java/com/metamatrix/query/unittest/FakeMetadataFactory.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -426,7 +426,14 @@
QueryNode vm1g38n1 = new QueryNode("vm1.g38", "SELECT a.e1, b.e2 from pm1.g1 as a, pm6.g1 as b where a.e1=b.e1"); //$NON-NLS-1$ //$NON-NLS-2$
FakeMetadataObject vm1g38 = createVirtualGroup("vm1.g38", vm1, vm1g38n1); //$NON-NLS-1$
+ // Create virtual groups
+ QueryNode vm1g39n1 = new QueryNode("vm1.g39", "SELECT * FROM pm1.g39"); //$NON-NLS-1$ //$NON-NLS-2$
+ FakeMetadataObject vm1g39 = createUpdatableVirtualGroup("vm1.g39", vm1, vm1g39n1, "CREATE VIRTUAL PROCEDURE BEGIN LOOP ON (SELECT pm1.g1.e2 FROM pm1.g1 where pm1.g1.e2=3) AS mycursor begin update pm1.g1 set pm1.g1.e1 = input.e1 where pm1.g1.e1 = input.e1; update pm1.g1 set pm1.g1.e2 = input.e2 where pm1.g1.e2 = input.e2; END END"); //$NON-NLS-1$ //$NON-NLS-2$
+
// Create virtual elements
+ List vm1g39e = createElements(vm1g39,
+ new String[] { "e1", "e2", "e3", "e4" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
+ new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.BOOLEAN, DataTypeManager.DefaultDataTypes.DOUBLE });
List vm1g1e = createElements(vm1g1,
new String[] { "e1", "e2", "e3", "e4" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.BOOLEAN, DataTypeManager.DefaultDataTypes.DOUBLE });
@@ -1495,6 +1502,8 @@
store.addObject(vsp60);
store.addObject(vsp61);
store.addObject(vsp62);
+ store.addObject(vm1g39);
+ store.addObjects(vm1g39e);
// Create the facade from the store
return new FakeMetadataFacade(store);
@@ -1578,144 +1587,13 @@
return doc;
}
- public static FakeMetadataFacade example2() {
+ public static FakeMetadataFacade example3() {
// Create models
FakeMetadataObject pm1 = createPhysicalModel("pm1"); //$NON-NLS-1$
FakeMetadataObject pm2 = createPhysicalModel("pm2"); //$NON-NLS-1$
FakeMetadataObject pm3 = createPhysicalModel("pm3"); //$NON-NLS-1$
- FakeMetadataObject pm4 = createPhysicalModel("pm4"); //$NON-NLS-1$
- FakeMetadataObject vm1 = createVirtualModel("vm1"); //$NON-NLS-1$
// Create physical groups
- FakeMetadataObject pm1g1 = createPhysicalGroup("pm1.g1", pm1); //$NON-NLS-1$
- FakeMetadataObject pm1g2 = createPhysicalGroup("pm1.g2", pm1); //$NON-NLS-1$
- FakeMetadataObject pm1g3 = createPhysicalGroup("pm1.g3", pm1); //$NON-NLS-1$
- FakeMetadataObject pm2g1 = createPhysicalGroup("pm2.g1", pm2); //$NON-NLS-1$
- FakeMetadataObject pm2g2 = createPhysicalGroup("pm2.g2", pm2); //$NON-NLS-1$
- FakeMetadataObject pm2g3 = createPhysicalGroup("pm2.g3", pm2); //$NON-NLS-1$
- FakeMetadataObject pm3g1 = createPhysicalGroup("pm3.g1", pm3); //$NON-NLS-1$
- FakeMetadataObject pm3g2 = createPhysicalGroup("pm3.g2", pm3); //$NON-NLS-1$
- FakeMetadataObject pm4g1 = createPhysicalGroup("pm4.g1", pm4); //$NON-NLS-1$
-
- // Create physical elements
- List pm1g1e = createElements(pm1g1,
- new String[] { "e1", "e2", "e3", "e4" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.BOOLEAN, DataTypeManager.DefaultDataTypes.DOUBLE });
- List pm1g2e = createElements(pm1g2,
- new String[] { "e1", "e2", "e3", "e4" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.BOOLEAN, DataTypeManager.DefaultDataTypes.DOUBLE });
- List pm1g3e = createElements(pm1g3,
- new String[] { "e1", "e2", "e3", "e4" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.BOOLEAN, DataTypeManager.DefaultDataTypes.DOUBLE });
- List pm2g1e = createElements(pm2g1,
- new String[] { "e1", "e2", "e3", "e4" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.BOOLEAN, DataTypeManager.DefaultDataTypes.DOUBLE });
- List pm2g2e = createElements(pm2g2,
- new String[] { "e1", "e2", "e3", "e4" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.BOOLEAN, DataTypeManager.DefaultDataTypes.DOUBLE });
- List pm2g3e = createElements(pm2g3,
- new String[] { "e1", "e2", "e3", "e4" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.BOOLEAN, DataTypeManager.DefaultDataTypes.DOUBLE });
- List pm3g1e = createElements(pm3g1,
- new String[] { "e1", "e2", "e3", "e4" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.DATE, DataTypeManager.DefaultDataTypes.TIME, DataTypeManager.DefaultDataTypes.TIMESTAMP });
- List pm3g2e = createElements(pm3g2,
- new String[] { "e1", "e2", "e3", "e4" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.DATE, DataTypeManager.DefaultDataTypes.TIME, DataTypeManager.DefaultDataTypes.TIMESTAMP });
- List pm4g1e = createElements(pm4g1,
- new String[] { "e1", "e2", "e3", "e4" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.BOOLEAN, DataTypeManager.DefaultDataTypes.DOUBLE });
-
- // Create virtual groups
- QueryNode vm1g1n1 = new QueryNode("vm1.g1", "SELECT * FROM pm1.g1"); //$NON-NLS-1$ //$NON-NLS-2$
- FakeMetadataObject vm1g1 = createUpdatableVirtualGroup("vm1.g1", vm1, vm1g1n1, "CREATE VIRTUAL PROCEDURE BEGIN LOOP ON (SELECT pm1.g1.e2 FROM pm1.g1 where pm1.g1.e2=3) AS mycursor begin update pm1.g1 set pm1.g1.e1 = input.e1 where pm1.g1.e1 = input.e1; update pm1.g1 set pm1.g1.e2 = input.e2 where pm1.g1.e2 = input.e2; END END"); //$NON-NLS-1$ //$NON-NLS-2$
-
- QueryNode vm1g2n1 = new QueryNode("vm1.g2", "SELECT pm1.g2.e1, pm1.g2.e2, pm1.g2.e3 FROM pm1.g2"); //$NON-NLS-1$ //$NON-NLS-2$
- FakeMetadataObject vm1g2 = createUpdatableVirtualGroup("vm1.g2", vm1, vm1g2n1); //$NON-NLS-1$
-
- QueryNode vm1g3n1 = new QueryNode("vm1.g3", "SELECT pm1.g3.e1 AS x, pm1.g3.e2 AS y from pm1.g3"); //$NON-NLS-1$ //$NON-NLS-2$
- FakeMetadataObject vm1g3 = createUpdatableVirtualGroup("vm1.g3", vm1, vm1g3n1); //$NON-NLS-1$
-
- // Create virtual elements
- List vm1g1e = createElements(vm1g1,
- new String[] { "e1", "e2", "e3", "e4" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.BOOLEAN, DataTypeManager.DefaultDataTypes.DOUBLE });
- List vm1g2e = createElements(vm1g2,
- new String[] { "e1", "e2", "e3", "e4" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.BOOLEAN, DataTypeManager.DefaultDataTypes.DOUBLE });
- List vm1g3e = createElements(vm1g3,
- new String[] { "e1", "e2","x", "y" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER });
-
- // Add all objects to the store
- FakeMetadataStore store = new FakeMetadataStore();
- store.addObject(pm1);
- store.addObject(pm1g1);
- store.addObjects(pm1g1e);
- store.addObject(pm1g2);
- store.addObjects(pm1g2e);
- store.addObject(pm1g3);
- store.addObjects(pm1g3e);
-
- store.addObject(pm2);
- store.addObject(pm2g1);
- store.addObjects(pm2g1e);
- store.addObject(pm2g2);
- store.addObjects(pm2g2e);
- store.addObject(pm2g3);
- store.addObjects(pm2g3e);
-
- store.addObject(pm3);
- store.addObject(pm3g1);
- store.addObjects(pm3g1e);
- store.addObject(pm3g2);
- store.addObjects(pm3g2e);
-
- store.addObject(pm4);
- store.addObject(pm4g1);
- store.addObjects(pm4g1e);
-
- store.addObject(vm1);
- store.addObject(vm1g1);
- store.addObjects(vm1g1e);
- store.addObject(vm1g2);
- store.addObjects(vm1g2e);
- store.addObject(vm1g3);
- store.addObjects(vm1g3e);
-
- // Create the facade from the store
- return new FakeMetadataFacade(store);
- }
-
- public static FakeMetadataFacade example6() {
- // Create models
- FakeMetadataObject pm1 = createPhysicalModel("pm1"); //$NON-NLS-1$
-
- // Create physical groups
- FakeMetadataObject pm1g1 = createPhysicalGroup("pm1.g1", pm1); //$NON-NLS-1$
-
- // Create physical elements
- List pm1g1e = createElements(pm1g1,
- new String[] { "e1"}, //$NON-NLS-1$
- new String[] { DataTypeManager.DefaultDataTypes.SHORT});
-
- // Add all objects to the store
- FakeMetadataStore store = new FakeMetadataStore();
- store.addObject(pm1);
- store.addObject(pm1g1);
- store.addObjects(pm1g1e);
-
- // Create the facade from the store
- return new FakeMetadataFacade(store);
- }
-
- public static FakeMetadataFacade example3() {
- // Create models
- FakeMetadataObject pm1 = createPhysicalModel("pm1"); //$NON-NLS-1$
- FakeMetadataObject pm2 = createPhysicalModel("pm2"); //$NON-NLS-1$
- FakeMetadataObject pm3 = createPhysicalModel("pm3"); //$NON-NLS-1$
-
- // Create physical groups
FakeMetadataObject pm1g1 = createPhysicalGroup("pm1.cat1.cat2.cat3.g1", pm1); //$NON-NLS-1$
FakeMetadataObject pm1g2 = createPhysicalGroup("pm1.cat1.g2", pm1); //$NON-NLS-1$
FakeMetadataObject pm1g3 = createPhysicalGroup("pm1.cat2.g3", pm1); //$NON-NLS-1$
@@ -2135,40 +2013,6 @@
return RealMetadataFactory.exampleBQT();
}
- public static FakeMetadataFacade exampleSymphony() {
- // Create models
- FakeMetadataObject model = createPhysicalModel("COMPLEX"); //$NON-NLS-1$
-
- // Create physical groups
- FakeMetadataObject sales_g = createPhysicalGroup("COMPLEX.sales", model); //$NON-NLS-1$
- FakeMetadataObject cust_g = createPhysicalGroup("COMPLEX.cust", model); //$NON-NLS-1$
- FakeMetadataObject prodhier_g = createPhysicalGroup("COMPLEX.prodhier", model); //$NON-NLS-1$
-
- // Create physical elements
- List sales_e = createElements(sales_g,
- new String[] { "sales_amount", "month_no", "year_no", "prod_num", "cust_num" }, //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
- new String[] { DataTypeManager.DefaultDataTypes.FLOAT, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.INTEGER, DataTypeManager.DefaultDataTypes.INTEGER });
- List cust_e = createElements(cust_g,
- new String[] { "cust_name", "cust_num" }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.INTEGER });
- List prodhier_e = createElements(prodhier_g,
- new String[] { "prod_fam_name", "prod_num" }, //$NON-NLS-1$ //$NON-NLS-2$
- new String[] { DataTypeManager.DefaultDataTypes.STRING, DataTypeManager.DefaultDataTypes.STRING });
-
- // Add all objects to the store
- FakeMetadataStore store = new FakeMetadataStore();
- store.addObject(model);
- store.addObject(sales_g);
- store.addObjects(sales_e);
- store.addObject(cust_g);
- store.addObjects(cust_e);
- store.addObject(prodhier_g);
- store.addObjects(prodhier_e);
-
- // Create the facade from the store
- return new FakeMetadataFacade(store);
- }
-
public static FakeMetadataFacade exampleYahoo() {
// Create models
FakeMetadataObject yahoo = createPhysicalModel("Yahoo"); //$NON-NLS-1$
Modified: trunk/engine/src/test/java/com/metamatrix/query/validator/TestValidator.java
===================================================================
--- trunk/engine/src/test/java/com/metamatrix/query/validator/TestValidator.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/test/java/com/metamatrix/query/validator/TestValidator.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -1434,27 +1434,17 @@
@Test public void testValidHaving() {
helpValidate(
- "SELECT DISTINCT ProdHier.prod_num " + //$NON-NLS-1$
- "FROM Sales, ProdHier, Cust " + //$NON-NLS-1$
- "WHERE ((ProdHier.prod_fam_name <> 'garbage') AND ((Sales.month_no = 1) AND (Sales.year_no = 1996)) AND ((Cust.cust_name <> 'garbage') AND (Cust.cust_num = 1001))) AND (Sales.prod_num = ProdHier.prod_num) AND (Sales.cust_num = Cust.cust_num) " + //$NON-NLS-1$
- "GROUP BY ProdHier.prod_num " + //$NON-NLS-1$
- "HAVING SUM(Sales.sales_amount) > 1", //$NON-NLS-1$
- new String[] { }, FakeMetadataFactory.exampleSymphony());
+ "SELECT intnum " + //$NON-NLS-1$
+ "FROM bqt1.smalla " + //$NON-NLS-1$
+ "GROUP BY intnum " + //$NON-NLS-1$
+ "HAVING SUM(floatnum) > 1", //$NON-NLS-1$
+ new String[] { }, FakeMetadataFactory.exampleBQTCached());
}
@Test public void testValidHaving2() {
String sql = "SELECT intkey FROM bqt1.smalla WHERE intkey = 1 " + //$NON-NLS-1$
"GROUP BY intkey HAVING intkey = 1"; //$NON-NLS-1$
- QueryMetadataInterface metadata = FakeMetadataFactory.exampleBQTCached();
- Command command = helpResolve(sql, metadata);
-
- try {
- ValidatorReport report = Validator.validate(command, metadata);
- assertEquals("Should get no report items", 0, report.getItems().size()); //$NON-NLS-1$
- } catch(MetaMatrixComponentException e) {
- e.printStackTrace();
- fail(e.getMessage());
- }
+ helpValidate(sql, new String[] {}, FakeMetadataFactory.exampleBQTCached());
}
@Test public void testVirtualProcedure(){
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestGroupImpl.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestGroupImpl.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestGroupImpl.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -78,7 +78,7 @@
public void testGetDefinition() throws Exception {
Object metadataID = TstLanguageBridgeFactory.metadata.getGroupID("pm1.g1"); //$NON-NLS-1$
- assertEquals("pm1.g1", example("x", "pm1.g1", metadataID).getName()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ assertEquals("g1", example("x", "pm1.g1", metadataID).getName()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
}
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestInlineViewImpl.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestInlineViewImpl.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestInlineViewImpl.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -48,7 +48,7 @@
}
public void testGetQuery() throws Exception {
- assertEquals("SELECT DISTINCT vm1.g1.e1, vm1.g1.e2, vm1.g1.e3, vm1.g1.e4 FROM vm1.g1, vm1.g2 AS myAlias, vm1.g3, vm1.g4 WHERE 100 >= 200 AND 500 < 600 GROUP BY vm1.g1.e1, vm1.g1.e2, vm1.g1.e3, vm1.g1.e4 HAVING 100 >= 200 AND 500 < 600 ORDER BY e1, e2 DESC, e3, e4 DESC", example().getQuery().toString()); //$NON-NLS-1$
+ assertEquals("SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE 100 >= 200 AND 500 < 600 GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING 100 >= 200 AND 500 < 600 ORDER BY e1, e2 DESC, e3, e4 DESC", example().getQuery().toString()); //$NON-NLS-1$
}
}
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestProcedureImpl.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestProcedureImpl.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestProcedureImpl.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -49,7 +49,7 @@
}
public void testGetProcedureName() throws Exception {
- assertEquals("pm1.sq3", example().getProcedureName()); //$NON-NLS-1$
+ assertEquals("sq3", example().getProcedureName()); //$NON-NLS-1$
}
public void testGetParameters() throws Exception {
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestSetQueryImpl.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestSetQueryImpl.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TestSetQueryImpl.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -36,6 +36,7 @@
import org.teiid.connector.language.SortSpecification;
import org.teiid.connector.language.SortSpecification.Ordering;
+import com.metamatrix.common.types.DataTypeManager;
import com.metamatrix.query.sql.lang.SetQuery.Operation;
@@ -60,7 +61,7 @@
public static SetQuery example2() throws Exception {
NamedTable group = new NamedTable("ted", null, null); //$NON-NLS-1$
ColumnReference element = new ColumnReference(group, "nugent", null, String.class); //$NON-NLS-1$
- DerivedColumn symbol = new DerivedColumn("nugent",element); //$NON-NLS-1$
+ DerivedColumn symbol = new DerivedColumn(null,element);
List symbols = new ArrayList();
symbols.add(symbol);
List items = new ArrayList();
@@ -68,7 +69,7 @@
NamedTable group2 = new NamedTable("dave", null, null); //$NON-NLS-1$
ColumnReference element2 = new ColumnReference(group2, "barry", null, String.class); //$NON-NLS-1$
- DerivedColumn symbol2 = new DerivedColumn("barry", element2); //$NON-NLS-1$
+ DerivedColumn symbol2 = new DerivedColumn(null, element2);
List symbols2 = new ArrayList();
symbols2.add(symbol2);
@@ -92,8 +93,7 @@
SetQuery union = example2();
List<SortSpecification> items = new ArrayList<SortSpecification>();
- ColumnReference element = (ColumnReference) (union.getProjectedQuery().getDerivedColumns().get(0)).getExpression();
- items.add(new SortSpecification(Ordering.ASC, element));
+ items.add(new SortSpecification(Ordering.ASC, new ColumnReference(null, "nugent", null, DataTypeManager.DefaultDataClasses.STRING))); //$NON-NLS-1$
OrderBy orderBy = new OrderBy(items);
union.setOrderBy(orderBy);
Modified: trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TstLanguageBridgeFactory.java
===================================================================
--- trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TstLanguageBridgeFactory.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/engine/src/test/java/org/teiid/dqp/internal/datamgr/language/TstLanguageBridgeFactory.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -24,12 +24,12 @@
import org.teiid.dqp.internal.datamgr.metadata.RuntimeMetadataImpl;
-import com.metamatrix.query.unittest.FakeMetadataFacade;
+import com.metamatrix.query.metadata.QueryMetadataInterface;
import com.metamatrix.query.unittest.FakeMetadataFactory;
public class TstLanguageBridgeFactory {
- public static final FakeMetadataFacade metadata = FakeMetadataFactory.example1();
+ public static final QueryMetadataInterface metadata = FakeMetadataFactory.example1Cached();
public static final RuntimeMetadataImpl metadataFactory = new RuntimeMetadataImpl(metadata);
public static final LanguageBridgeFactory factory = new LanguageBridgeFactory(metadata);
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-08 22:13:59 UTC (rev 1941)
+++ trunk/jboss-integration/src/main/java/org/teiid/jboss/deployers/RuntimeEngineDeployer.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -58,6 +58,8 @@
import org.teiid.dqp.internal.transaction.ContainerTransactionProvider;
import org.teiid.dqp.internal.transaction.TransactionServerImpl;
import org.teiid.dqp.internal.transaction.XidFactory;
+import org.teiid.logging.LogConfigurationProvider;
+import org.teiid.logging.LogListernerProvider;
import org.teiid.transport.ClientServiceRegistry;
import org.teiid.transport.ClientServiceRegistryImpl;
import org.teiid.transport.LogonImpl;
@@ -78,8 +80,6 @@
import com.metamatrix.dqp.service.BufferService;
import com.metamatrix.dqp.service.TransactionService;
import com.metamatrix.dqp.util.LogConstants;
-import com.metamatrix.jdbc.LogConfigurationProvider;
-import com.metamatrix.jdbc.LogListernerProvider;
import com.metamatrix.platform.security.api.ILogon;
import com.metamatrix.platform.security.api.SessionToken;
import com.metamatrix.platform.security.api.service.SessionService;
Modified: trunk/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java
===================================================================
--- trunk/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/metadata/src/main/java/org/teiid/metadata/index/RecordFactory.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -805,9 +805,6 @@
case MetadataConstants.PARAMETER_TYPES.OUT_PARM:
type = ProcedureParameter.Type.Out;
break;
- case MetadataConstants.PARAMETER_TYPES.RESULT_SET:
- type = ProcedureParameter.Type.ResultSet;
- break;
case MetadataConstants.PARAMETER_TYPES.RETURN_VALUE:
type = ProcedureParameter.Type.ReturnValue;
break;
Copied: trunk/runtime/src/main/java/org/teiid/logging (from rev 1934, trunk/runtime/src/main/java/org/teiid/configuration)
Modified: trunk/runtime/src/main/java/org/teiid/logging/CommonsLogManagerAdapter.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/configuration/CommonsLogManagerAdapter.java 2010-03-06 17:26:23 UTC (rev 1934)
+++ trunk/runtime/src/main/java/org/teiid/logging/CommonsLogManagerAdapter.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -20,7 +20,7 @@
* 02110-1301 USA.
*/
-package org.teiid.configuration;
+package org.teiid.logging;
import org.apache.commons.logging.Log;
Copied: trunk/runtime/src/main/java/org/teiid/logging/Log4JUtil.java (from rev 1934, trunk/runtime/src/main/java/com/metamatrix/jdbc/Log4JUtil.java)
===================================================================
--- trunk/runtime/src/main/java/org/teiid/logging/Log4JUtil.java (rev 0)
+++ trunk/runtime/src/main/java/org/teiid/logging/Log4JUtil.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -0,0 +1,127 @@
+/*
+ * 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 org.teiid.logging;
+
+import java.util.HashSet;
+import java.util.Set;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+
+import com.metamatrix.common.log.LogConfiguration;
+import com.metamatrix.core.log.MessageLevel;
+
+class Log4JUtil {
+ private static final String ROOT_CONTEXT = LogConfiguration.ROOT_CONTEXT;
+
+ /**
+ * Convert {@link MessageLevel} to {@link Level}
+ * @param level
+ * @return
+ */
+ public static Level convert2Log4JLevel(int level) {
+ switch (level) {
+ case MessageLevel.CRITICAL:
+ return Level.FATAL;
+ case MessageLevel.ERROR:
+ return Level.ERROR;
+ case MessageLevel.WARNING:
+ return Level.WARN;
+ case MessageLevel.INFO:
+ return Level.INFO;
+ case MessageLevel.DETAIL:
+ case MessageLevel.TRACE:
+ return Level.DEBUG;
+ case MessageLevel.NONE:
+ return Level.OFF;
+ }
+ return Level.DEBUG;
+ }
+
+ /**
+ * Convert {@link Level} to {@link MessageLevel}
+ * @param level
+ * @return
+ */
+ public static int convert2MessageLevel(Level level) {
+ switch (level.toInt()) {
+ case Level.FATAL_INT:
+ return MessageLevel.CRITICAL;
+ case Level.ERROR_INT:
+ return MessageLevel.ERROR;
+ case Level.WARN_INT:
+ return MessageLevel.WARNING;
+ case Level.INFO_INT:
+ return MessageLevel.INFO;
+ case Level.DEBUG_INT:
+ return MessageLevel.DETAIL;
+ case Level.OFF_INT:
+ return MessageLevel.NONE;
+ }
+ return MessageLevel.DETAIL;
+ }
+
+ /**
+ * Get the logger for the given context.
+ * @param context
+ * @return
+ */
+ public static Logger getLogger(String context) {
+ Logger log4j = null;
+ if (context.indexOf('.') == -1) {
+ log4j = Logger.getLogger(ROOT_CONTEXT+context);
+ }
+ else {
+ log4j = Logger.getLogger(context);
+ }
+ return log4j;
+ }
+
+ public static Set<String> getContexts(){
+ HashSet<String> contexts = new HashSet<String>();
+ contexts.add(ROOT_CONTEXT+com.metamatrix.dqp.util.LogConstants.CTX_DQP);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.dqp.util.LogConstants.CTX_CONNECTOR);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.dqp.util.LogConstants.CTX_BUFFER_MGR);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.dqp.util.LogConstants.CTX_STORAGE_MGR);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.dqp.util.LogConstants.CTX_TXN_LOG);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.dqp.util.LogConstants.CTX_EXTENSION_SOURCE);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.dqp.util.LogConstants.CTX_COMMANDLOGGING);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.dqp.util.LogConstants.CTX_AUDITLOGGING);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.dqp.util.LogConstants.CTX_QUERY_SERVICE);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.dqp.util.LogConstants.CTX_PROCESS_INFO_LOG);
+
+ contexts.add(ROOT_CONTEXT+com.metamatrix.common.util.LogConstants.CTX_CONFIG);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.common.util.LogConstants.CTX_COMMUNICATION);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.common.util.LogConstants.CTX_POOLING);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.common.util.LogConstants.CTX_SESSION);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.common.util.LogConstants.CTX_AUTHORIZATION);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.common.util.LogConstants.CTX_MEMBERSHIP);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.common.util.LogConstants.CTX_AUTHORIZATION_ADMIN_API);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.common.util.LogConstants.CTX_SERVER);
+ contexts.add(ROOT_CONTEXT+com.metamatrix.common.util.LogConstants.CTX_ADMIN);
+
+ contexts.add("com.arjuna"); //$NON-NLS-1$
+ contexts.add("org.jboss"); //$NON-NLS-1$
+ contexts.add("org.teiid"); //$NON-NLS-1$
+ return contexts;
+ }
+}
Property changes on: trunk/runtime/src/main/java/org/teiid/logging/Log4JUtil.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/runtime/src/main/java/org/teiid/logging/LogConfigurationProvider.java (from rev 1934, trunk/runtime/src/main/java/com/metamatrix/jdbc/LogConfigurationProvider.java)
===================================================================
--- trunk/runtime/src/main/java/org/teiid/logging/LogConfigurationProvider.java (rev 0)
+++ trunk/runtime/src/main/java/org/teiid/logging/LogConfigurationProvider.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -0,0 +1,79 @@
+/*
+ * 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 org.teiid.logging;
+
+import java.util.Set;
+
+import org.apache.log4j.Level;
+import org.apache.log4j.Logger;
+
+import com.metamatrix.common.log.LogConfiguration;
+
+public class LogConfigurationProvider {
+
+ public LogConfiguration get() {
+ return new Log4JLogConfiguration();
+ }
+
+ static class Log4JLogConfiguration implements LogConfiguration {
+
+ @Override
+ public Set<String> getContexts() {
+ return Log4JUtil.getContexts();
+ }
+
+ @Override
+ public int getLogLevel(String context) {
+ Logger log = Log4JUtil.getLogger(context);
+ Level level = log.getLevel();
+ while (level == null) {
+ log = (Logger)log.getParent();
+ if (log != null) {
+ level = log.getLevel();
+ }
+ else {
+ level = Level.ERROR;
+ }
+ }
+ return Log4JUtil.convert2MessageLevel(level);
+ }
+
+ @Override
+ public boolean isEnabled(String context, int level) {
+ if ( context == null ) {
+ return false;
+ }
+ Level logLevel = Log4JUtil.convert2Log4JLevel(level);
+ if ( logLevel == Level.OFF) {
+ return false;
+ }
+ Logger log = Log4JUtil.getLogger(context);
+ return log.isEnabledFor(logLevel);
+ }
+
+ @Override
+ public void setLogLevel(String context, int level) {
+ Logger log = Log4JUtil.getLogger(context);
+ log.setLevel(Log4JUtil.convert2Log4JLevel(level));
+ }
+ }
+}
Property changes on: trunk/runtime/src/main/java/org/teiid/logging/LogConfigurationProvider.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Copied: trunk/runtime/src/main/java/org/teiid/logging/LogListernerProvider.java (from rev 1934, trunk/runtime/src/main/java/com/metamatrix/jdbc/LogListernerProvider.java)
===================================================================
--- trunk/runtime/src/main/java/org/teiid/logging/LogListernerProvider.java (rev 0)
+++ trunk/runtime/src/main/java/org/teiid/logging/LogListernerProvider.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -0,0 +1,56 @@
+/*
+ * 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 org.teiid.logging;
+
+import org.apache.log4j.Logger;
+
+import com.metamatrix.core.log.LogListener;
+
+public class LogListernerProvider {
+
+ public LogListener get() {
+ return new Log4jListener();
+ }
+
+ /**
+ * Log4J Listener
+ */
+ static class Log4jListener implements LogListener{
+
+ @Override
+ public void log(int level, String context, Object msg) {
+ Logger log4j = Log4JUtil.getLogger(context);
+ log4j.log(Log4JUtil.convert2Log4JLevel(level), msg);
+ }
+
+ public void log(int level, String context, Throwable t, Object msg) {
+ Logger log4j = Log4JUtil.getLogger(context);
+ log4j.log(Log4JUtil.convert2Log4JLevel(level), msg, t);
+ }
+
+ @Override
+ public void shutdown() {
+ }
+
+ }
+}
Property changes on: trunk/runtime/src/main/java/org/teiid/logging/LogListernerProvider.java
___________________________________________________________________
Name: svn:mime-type
+ text/plain
Modified: trunk/runtime/src/main/java/org/teiid/services/BufferServiceImpl.java
===================================================================
--- trunk/runtime/src/main/java/org/teiid/services/BufferServiceImpl.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/runtime/src/main/java/org/teiid/services/BufferServiceImpl.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -39,6 +39,7 @@
import com.metamatrix.common.buffer.impl.FileStorageManager;
import com.metamatrix.common.buffer.impl.MemoryStorageManager;
import com.metamatrix.core.MetaMatrixRuntimeException;
+import com.metamatrix.core.util.FileUtils;
import com.metamatrix.dqp.embedded.DQPEmbeddedPlugin;
import com.metamatrix.dqp.service.BufferService;
@@ -52,18 +53,16 @@
public class BufferServiceImpl implements BufferService, Serializable {
private static final long serialVersionUID = -6217808623863643531L;
- private static final int DEFAULT_MAX_OPEN_FILES = 256;
-
// Instance
private BufferManagerImpl bufferMgr;
private File bufferDir;
private boolean useDisk = true;
private DQPContextCache contextCache;
- private int processorBatchSize = 256;
- private int connectorBatchSize = 512;
+ private int processorBatchSize = BufferManager.DEFAULT_PROCESSOR_BATCH_SIZE;
+ private int connectorBatchSize = BufferManager.DEFAULT_CONNECTOR_BATCH_SIZE;
private CacheFactory cacheFactory;
- private int maxOpenFiles = DEFAULT_MAX_OPEN_FILES;
- private long maxFileSize = 2048; // 2GB
+ private int maxOpenFiles = FileStorageManager.DEFAULT_MAX_OPEN_FILES;
+ private long maxFileSize = FileStorageManager.DEFAULT_MAX_FILESIZE; // 2GB
private int maxProcessingBatchesColumns = BufferManager.DEFAULT_MAX_PROCESSING_BATCHES;
private int maxReserveBatchColumns = BufferManager.DEFAULT_RESERVE_BUFFERS;
@@ -73,12 +72,7 @@
* @since 4.3
*/
void cleanDirectory(File file) {
- if (file.exists()) {
- File[] files = file.listFiles();
- for (int i = 0; i < files.length; i++) {
- files[i].delete();
- }
- }
+ FileUtils.removeChildrenRecursively(file);
}
public void start(){
@@ -189,10 +183,6 @@
this.maxFileSize = maxFileSize;
}
- public void setMaxOpenFiles(int maxOpenFiles) {
- this.maxOpenFiles = maxOpenFiles;
- }
-
public void setMaxReserveBatchColumns(int value) {
this.maxReserveBatchColumns = value;
}
@@ -201,11 +191,6 @@
this.maxProcessingBatchesColumns = value;
}
- @ManagementProperty(description="Max open buffer files (default 128)")
- public int getMaxOpenFiles() {
- return maxOpenFiles;
- }
-
@ManagementProperty(description="Max file size for buffer files (default 2GB)")
public long getMaxFileSize() {
return maxFileSize;
@@ -213,7 +198,7 @@
@ManagementProperty(description="#The number of batch columns guarenteed to a processing operation. Set this value lower if the workload typically" +
"processes larger numbers of concurrent queries with large intermediate results from operations such as sorting, " +
- "grouping, etc. (default 124)")
+ "grouping, etc. (default 128)")
public int getMaxProcessingBatchesColumns() {
return maxProcessingBatchesColumns;
}
Modified: trunk/runtime/src/test/java/org/teiid/transport/TestCommSockets.java
===================================================================
--- trunk/runtime/src/test/java/org/teiid/transport/TestCommSockets.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/runtime/src/test/java/org/teiid/transport/TestCommSockets.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -30,6 +30,7 @@
import org.junit.After;
import org.junit.Before;
+import org.junit.Ignore;
import org.junit.Test;
import com.metamatrix.api.exception.ComponentNotFoundException;
@@ -176,7 +177,7 @@
Properties p = new Properties();
p.setProperty(SocketUtil.TRUSTSTORE_FILENAME, SocketUtil.NONE);
try {
- helpEstablishConnection(false, config, p);
+ helpEstablishConnection(true, config, p);
} catch (CommunicationException e) {
}
@@ -184,4 +185,14 @@
conn.close();
}
+ @Ignore("should be enabled with Netty 3.2")
+ @Test(expected=CommunicationException.class) public void testNonSSLConnectWithSSLServer() throws Exception {
+ SSLConfiguration config = new SSLConfiguration();
+ config.setSslEnabled(true);
+ config.setAuthenticationMode(SSLConfiguration.ANONYMOUS);
+ Properties p = new Properties();
+ p.setProperty(SocketUtil.TRUSTSTORE_FILENAME, SocketUtil.NONE);
+ helpEstablishConnection(true, config, p);
+ }
+
}
Modified: trunk/test-integration/common/src/test/java/org/teiid/connector/language/TestLanguageUtil.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/connector/language/TestLanguageUtil.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/test-integration/common/src/test/java/org/teiid/connector/language/TestLanguageUtil.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -22,6 +22,7 @@
package org.teiid.connector.language;
+import java.util.Arrays;
import java.util.HashSet;
import java.util.List;
import java.util.Set;
@@ -57,14 +58,11 @@
Condition criteria = convertCriteria(criteriaStr);
// Execute
- List crits = LanguageUtil.separateCriteriaByAnd(criteria);
+ List<Condition> crits = LanguageUtil.separateCriteriaByAnd(criteria);
// Build expected and actual sets
- Set expectedSet = new HashSet();
- for(int i=0; i<expected.length; i++) {
- expectedSet.add(expected[i]);
- }
- Set actualSet = new HashSet();
+ Set<String> expectedSet = new HashSet<String>(Arrays.asList(expected));
+ Set<String> actualSet = new HashSet<String>();
for(int i=0; i<crits.size(); i++) {
actualSet.add(crits.get(i).toString());
}
@@ -78,7 +76,7 @@
}
public void testSeparateCrit_ORisConjunct() throws Exception {
- helpTestSeparateByAnd("intkey = 1 OR intkey = 2", new String[] { "(SmallA.IntKey = 1) OR (SmallA.IntKey = 2)" }); //$NON-NLS-1$ //$NON-NLS-2$
+ helpTestSeparateByAnd("intkey = 1 OR intkey = 2", new String[] { "SmallA.IntKey = 1 OR SmallA.IntKey = 2" }); //$NON-NLS-1$ //$NON-NLS-2$
}
public void testSeparateCrit_nestedAND() throws Exception {
@@ -91,7 +89,7 @@
public void testSeparateCrit_NOT() throws Exception {
helpTestSeparateByAnd("((NOT (intkey = 1 AND intkey = 2)) AND (intkey = 3) AND (intkey = 4))", //$NON-NLS-1$
- new String[] { "(SmallA.IntKey <> 1) OR (SmallA.IntKey <> 2)", //$NON-NLS-1$
+ new String[] { "SmallA.IntKey <> 1 OR SmallA.IntKey <> 2", //$NON-NLS-1$
"SmallA.IntKey = 3", //$NON-NLS-1$
"SmallA.IntKey = 4" }); //$NON-NLS-1$
}
@@ -121,15 +119,15 @@
}
public void testCombineCrit_bothPredicates() throws Exception {
- helpTestCombineCriteria("intkey = 1", "intkey = 2", "(SmallA.IntKey = 1) AND (SmallA.IntKey = 2)"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ helpTestCombineCriteria("intkey = 1", "intkey = 2", "SmallA.IntKey = 1 AND SmallA.IntKey = 2"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
public void testCombineCrit_primaryPredicate() throws Exception {
- helpTestCombineCriteria("intkey = 1", "intkey = 2 AND intkey = 3", "(SmallA.IntKey = 1) AND ((SmallA.IntKey = 2) AND (SmallA.IntKey = 3))"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ helpTestCombineCriteria("intkey = 1", "intkey = 2 AND intkey = 3", "SmallA.IntKey = 1 AND SmallA.IntKey = 2 AND SmallA.IntKey = 3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
public void testCombineCrit_additionalPredicate() throws Exception {
- helpTestCombineCriteria("intkey = 1 AND intkey = 2", "intkey = 3", "(SmallA.IntKey = 1) AND (SmallA.IntKey = 2) AND (SmallA.IntKey = 3)"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+ helpTestCombineCriteria("intkey = 1 AND intkey = 2", "intkey = 3", "SmallA.IntKey = 1 AND SmallA.IntKey = 2 AND SmallA.IntKey = 3"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
}
Modified: trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestElement.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestElement.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestElement.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -79,7 +79,7 @@
assertEquals(javaType, element.getJavaType());
assertEquals(length, element.getLength());
assertEquals(nullable, element.getNullType());
- assertEquals(position, element.getPosition());
+ assertEquals(position + 1, element.getPosition());
assertEquals(searchable, element.getSearchType());
assertEquals(autoIncrement, element.isAutoIncremented());
assertEquals(caseSensitive, element.isCaseSensitive());
Modified: trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestMetadataObject.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestMetadataObject.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestMetadataObject.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -22,20 +22,16 @@
package org.teiid.connector.metadata.runtime;
-import java.util.Arrays;
-import java.util.HashSet;
import java.util.List;
-import java.util.Set;
+import junit.framework.TestCase;
+
+import org.teiid.connector.language.Call;
import org.teiid.connector.language.ColumnReference;
+import org.teiid.connector.language.DerivedColumn;
import org.teiid.connector.language.NamedTable;
-import org.teiid.connector.language.Call;
import org.teiid.connector.language.Select;
-import org.teiid.connector.language.DerivedColumn;
-import org.teiid.connector.metadata.runtime.Procedure;
-import junit.framework.TestCase;
-
import com.metamatrix.cdk.api.TranslationUtility;
import com.metamatrix.core.util.UnitTestUtil;
@@ -88,7 +84,7 @@
}
public void testGroupID_longName() throws Exception {
- helpTestGroupID("ConnectorMetadata.TestCatalog.TestSchema.TestTable2", "TestTable2", 1, CONNECTOR_METADATA_UTILITY);//$NON-NLS-1$ //$NON-NLS-2$
+ helpTestGroupID("ConnectorMetadata.TestCatalog.TestSchema.TestTable2", "TestCatalog.TestSchema.TestTable2", 1, CONNECTOR_METADATA_UTILITY);//$NON-NLS-1$ //$NON-NLS-2$
}
// ################ TEST ELEMENT METADATAID ######################
@@ -134,38 +130,39 @@
return proc.getMetadataObject();
}
- public void helpTestProcedureID(String procName, String shortName, int inputParamCount, String[] paramNames, TranslationUtility transUtil) throws Exception {
+ public void helpTestProcedureID(String procName, String shortName, int inputParamCount, String[] paramNames, String rsParamName, TranslationUtility transUtil) throws Exception {
Procedure procID = getProcedureID(procName, inputParamCount, transUtil);
assertEquals(procName, procID.getFullName());
assertEquals(shortName, procID.getName());
// Check children
List<ProcedureParameter> children = procID.getParameters();
- assertEquals(paramNames.length, children.size());
- Set actualParamNames = new HashSet();
+ int i = 0;
for (ProcedureParameter childID : children) {
assertEquals(procID, childID.getParent());
assertTrue(childID.getFullName() + " " + procID.getFullName(), childID.getFullName().startsWith(procID.getFullName())); //$NON-NLS-1$
- actualParamNames.add(childID.getName());
+ assertEquals(paramNames[i++], childID.getName());
}
- // Compare actual with expected param names
- Set expectedParamNames = new HashSet(Arrays.asList(paramNames));
- assertEquals(expectedParamNames, actualParamNames);
+ if (rsParamName != null) {
+ assertEquals(rsParamName, procID.getResultSet().getName());
+ } else {
+ assertNull(procID.getResultSet());
+ }
}
public void testProcedureID() throws Exception {
String[] paramNames = new String[] { "InParam", "OutParam", "InOutParam", "ReturnParam" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$//$NON-NLS-4$
- helpTestProcedureID("ConnectorMetadata.TestProc1", "TestProc1", 2, paramNames, CONNECTOR_METADATA_UTILITY); //$NON-NLS-1$ //$NON-NLS-2$
+ helpTestProcedureID("ConnectorMetadata.TestProc1", "TestProc1", 2, paramNames, null, CONNECTOR_METADATA_UTILITY); //$NON-NLS-1$ //$NON-NLS-2$
}
public void testProcedureID_resultSet() throws Exception {
- String[] paramNames = new String[] { "Param1", "RSParam" }; //$NON-NLS-1$ //$NON-NLS-2$
- helpTestProcedureID("ConnectorMetadata.TestProc2", "TestProc2", 1, paramNames, CONNECTOR_METADATA_UTILITY); //$NON-NLS-1$ //$NON-NLS-2$
+ String[] paramNames = new String[] { "Param1"}; //$NON-NLS-1$
+ helpTestProcedureID("ConnectorMetadata.TestProc2", "TestProc2", 1, paramNames, "RSParam", CONNECTOR_METADATA_UTILITY); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
}
public void testProcedureID_longName() throws Exception {
- helpTestProcedureID("ConnectorMetadata.TestCatalog.TestSchema.TestProc", "TestProc", 0, new String[0], CONNECTOR_METADATA_UTILITY); //$NON-NLS-1$ //$NON-NLS-2$
+ helpTestProcedureID("ConnectorMetadata.TestCatalog.TestSchema.TestProc", "TestCatalog.TestSchema.TestProc", 0, new String[0], null, CONNECTOR_METADATA_UTILITY); //$NON-NLS-1$ //$NON-NLS-2$
}
Modified: trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestParams.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestParams.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestParams.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -97,7 +97,7 @@
assertEquals(length, p.getLength());
assertEquals(precision, p.getPrecision());
assertEquals(scale, p.getScale());
- assertEquals(null, param.getArgumentValue());
+ assertEquals(null, param.getArgumentValue().getValue());
//System.out.println("\n" + p.getModeledType() + "\n" + p.getModeledBaseType() + "\n" + p.getModeledPrimitiveType());
Modified: trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestProcedure.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestProcedure.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/test-integration/common/src/test/java/org/teiid/connector/metadata/runtime/TestProcedure.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -74,16 +74,9 @@
String[] nameInSource = new String[] { "Param name in source", null, null, null }; //$NON-NLS-1$
ProcedureParameter.Type[] direction = new ProcedureParameter.Type[] { ProcedureParameter.Type.In, ProcedureParameter.Type.Out, ProcedureParameter.Type.InOut, ProcedureParameter.Type.ReturnValue };
int[] index = new int[] { 1, 2, 3, 4 };
- Class[] type = new Class[] { Integer.class, Long.class, Short.class, java.sql.Date.class };
+ Class<?>[] type = new Class[] { Integer.class, Long.class, Short.class, java.sql.Date.class };
- List<ProcedureParameter> params = proc.getParameters();
- for (int i = 0; i < params.size(); i++) {
- ProcedureParameter param = params.get(i);
- assertEquals(nameInSource[i], param.getNameInSource());
- assertEquals(direction[i], param.getType());
- assertEquals(index[i], param.getPosition());
- assertEquals(type[i], param.getJavaType());
- }
+ checkParams(proc, nameInSource, direction, index, type);
}
@@ -91,22 +84,14 @@
Procedure proc = getProcedure("ConnectorMetadata.TestProc2", 1, CONNECTOR_METADATA_UTILITY); //$NON-NLS-1$
assertEquals(null, proc.getNameInSource());
- String[] nameInSource = new String[] { null, "Result set name in source" }; //$NON-NLS-1$
- ProcedureParameter.Type[] direction = new ProcedureParameter.Type[] { ProcedureParameter.Type.In, ProcedureParameter.Type.ResultSet };
- int[] index = new int[] { 1, 2 };
- Class[] type = new Class[] { String.class, java.sql.ResultSet.class };
+ String[] nameInSource = new String[] { null };
+ ProcedureParameter.Type[] direction = new ProcedureParameter.Type[] { ProcedureParameter.Type.In };
+ int[] index = new int[] { 1 };
+ Class<?>[] type = new Class[] { String.class };
- List<ProcedureParameter> params = proc.getParameters();
- for (int i = 0; i < params.size(); i++) {
- ProcedureParameter param = params.get(i);
- assertEquals(nameInSource[i], param.getNameInSource());
- assertEquals(direction[i], param.getType());
- assertEquals(index[i], param.getPosition());
- assertEquals(type[i], param.getJavaType());
- }
+ checkParams(proc, nameInSource, direction, index, type);
- ProcedureParameter param = params.get(1);
- List<Column> rsCols = param.getResultSetColumns();
+ List<Column> rsCols = proc.getResultSet().getColumns();
// Check first column of result set
assertEquals(2, rsCols.size());
Column elemID = rsCols.get(0);
@@ -114,20 +99,35 @@
assertEquals("ConnectorMetadata.TestProc2.RSParam.RSCol1", elemID.getFullName()); //$NON-NLS-1$
assertEquals("Result set column name in source", elemID.getNameInSource()); //$NON-NLS-1$
assertEquals(java.sql.Timestamp.class, elemID.getJavaType());
- assertEquals(0, elemID.getPosition());
+ assertEquals(1, elemID.getPosition());
Column elemID2 = rsCols.get(1);
assertEquals("RSCol2", elemID2.getName()); //$NON-NLS-1$
assertEquals("ConnectorMetadata.TestProc2.RSParam.RSCol2", elemID2.getFullName()); //$NON-NLS-1$
assertEquals(null, elemID2.getNameInSource());
assertEquals(String.class, elemID2.getJavaType());
- assertEquals(1, elemID2.getPosition());
+ assertEquals(2, elemID2.getPosition());
Properties props = new Properties();
props.put("ColProp", "defaultvalue"); //$NON-NLS-1$ //$NON-NLS-2$
// failing because default extension properties aren't in the VDB file
//assertEquals(props, e2.getProperties());
- }
+ }
+
+ private List<ProcedureParameter> checkParams(Procedure proc,
+ String[] nameInSource, ProcedureParameter.Type[] direction,
+ int[] index, Class<?>[] type) {
+ List<ProcedureParameter> params = proc.getParameters();
+ assertEquals(type.length, params.size());
+ for (int i = 0; i < params.size(); i++) {
+ ProcedureParameter param = params.get(i);
+ assertEquals(nameInSource[i], param.getNameInSource());
+ assertEquals(direction[i], param.getType());
+ assertEquals(index[i], param.getPosition());
+ assertEquals(type[i], param.getJavaType());
+ }
+ return params;
+ }
}
Modified: trunk/test-integration/common/src/test/java/org/teiid/connector/visitor/util/TestSQLStringVisitor.java
===================================================================
--- trunk/test-integration/common/src/test/java/org/teiid/connector/visitor/util/TestSQLStringVisitor.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/test-integration/common/src/test/java/org/teiid/connector/visitor/util/TestSQLStringVisitor.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -39,7 +39,6 @@
import org.teiid.connector.language.Insert;
import org.teiid.connector.language.LanguageObject;
import org.teiid.connector.language.Literal;
-import org.teiid.connector.language.NamedTable;
import org.teiid.connector.language.SQLReservedWords;
import org.teiid.connector.language.Select;
import org.teiid.connector.metadata.runtime.RuntimeMetadata;
@@ -69,17 +68,10 @@
import org.teiid.dqp.internal.datamgr.language.TestSubqueryInCriteriaImpl;
import org.teiid.dqp.internal.datamgr.language.TestUpdateImpl;
import org.teiid.dqp.internal.datamgr.language.TstLanguageBridgeFactory;
-import org.teiid.dqp.internal.datamgr.metadata.RuntimeMetadataImpl;
import com.metamatrix.cdk.unittest.FakeTranslationFactory;
-import com.metamatrix.common.types.DataTypeManager;
-import com.metamatrix.query.metadata.QueryMetadataInterface;
import com.metamatrix.query.sql.lang.CompareCriteria;
import com.metamatrix.query.sql.lang.JoinType;
-import com.metamatrix.query.unittest.FakeMetadataFacade;
-import com.metamatrix.query.unittest.FakeMetadataFactory;
-import com.metamatrix.query.unittest.FakeMetadataObject;
-import com.metamatrix.query.unittest.FakeMetadataStore;
public class TestSQLStringVisitor {
@@ -89,31 +81,6 @@
return SQLStringVisitor.getSQLString(obj);
}
- private String getString(LanguageObject obj, RuntimeMetadata metadata) {
- return SQLStringVisitor.getSQLString(obj);
- }
-
- /** create fake BQT metadata to test this case, name in source is important */
- private RuntimeMetadataImpl exampleRuntimeMetadata(QueryMetadataInterface metadata) {
- return new RuntimeMetadataImpl(metadata);
- }
-
- /** create fake BQT metadata to test this case, name in source is important */
- private FakeMetadataStore exampleMetadataStore() {
- // Create models
- FakeMetadataObject bqt1 = FakeMetadataFactory.createPhysicalModel("BQT1"); //$NON-NLS-1$
- FakeMetadataObject bqt1SmallA = FakeMetadataFactory.createPhysicalGroup("BQT1.SmallA", bqt1); //$NON-NLS-1$
- bqt1SmallA.putProperty(FakeMetadataObject.Props.NAME_IN_SOURCE, "SmallishA");//$NON-NLS-1$
- FakeMetadataObject doubleNum = FakeMetadataFactory.createElement("DoubleNum", bqt1SmallA, DataTypeManager.DefaultDataTypes.DOUBLE, 0); //$NON-NLS-1$
- doubleNum.putProperty(FakeMetadataObject.Props.NAME_IN_SOURCE, "doublishNum");//$NON-NLS-1$
-
- FakeMetadataStore store = new FakeMetadataStore();
- store.addObject(bqt1);
- store.addObject(bqt1SmallA);
- store.addObject(doubleNum);
- return store;
- }
-
/*
* Test for void visit(IAggregate)
*/
@@ -158,7 +125,7 @@
* Test for void visit(IDelete)
*/
@Test public void testVisitIDelete() throws Exception {
- String expected = "DELETE FROM g1 WHERE (100 >= 200) AND (500 < 600)"; //$NON-NLS-1$
+ String expected = "DELETE FROM g1 WHERE 100 >= 200 AND 500 < 600"; //$NON-NLS-1$
assertEquals(expected, getString(TestDeleteImpl.example()));
}
@@ -182,7 +149,7 @@
* Test for void visit(IExistsCriteria)
*/
@Test public void testVisitIExistsCriteria() throws Exception {
- String expected = "EXISTS (SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE (100 >= 200) AND (500 < 600) GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING (100 >= 200) AND (500 < 600) ORDER BY e1, e2 DESC, e3, e4 DESC)"; //$NON-NLS-1$
+ String expected = "EXISTS (SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE 100 >= 200 AND 500 < 600 GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING 100 >= 200 AND 500 < 600 ORDER BY e1, e2 DESC, e3, e4 DESC)"; //$NON-NLS-1$
assertEquals(expected, getString(TestExistsCriteriaImpl.example()));
}
@@ -195,21 +162,6 @@
assertEquals(expected, getString(TestFunctionImpl.example("testName"))); //$NON-NLS-1$
}
- @Test public void testVisitConvertFunctionOracleStyleWithNIS() throws Exception {
-
- FakeMetadataFacade facade = new FakeMetadataFacade(exampleMetadataStore());
- RuntimeMetadataImpl metadata = exampleRuntimeMetadata(facade);
-
- NamedTable g = new NamedTable("SmallA", null, metadata.getGroup("BQT1.SmallA")); //$NON-NLS-1$
- ColumnReference e = new ColumnReference(g, "DoubleNum", metadata.getElement("DoubleNum"), Double.class); //$NON-NLS-1$ //$NON-NLS-2$
- List<? extends Expression> params = Arrays.asList(e, new Literal("integer", String.class)); //$NON-NLS-1$
-
- final String expected = "convert(SmallishA.doublishNum, integer)"; //$NON-NLS-1$
- Function test = new Function("convert", params, Integer.class); //$NON-NLS-1$
-
- assertEquals(expected, getString(test, metadata ));
- }
-
@Test public void testVisitConvertFunctionOracleStyle() throws Exception {
String expected = "convert(columnA, integer)"; //$NON-NLS-1$
@@ -341,7 +293,7 @@
* Test for void visit(IQuery)
*/
@Test public void testVisitIQuery() throws Exception {
- String expected = "SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE (100 >= 200) AND (500 < 600) GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING (100 >= 200) AND (500 < 600) ORDER BY e1, e2 DESC, e3, e4 DESC"; //$NON-NLS-1$
+ String expected = "SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE 100 >= 200 AND 500 < 600 GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING 100 >= 200 AND 500 < 600 ORDER BY e1, e2 DESC, e3, e4 DESC"; //$NON-NLS-1$
assertEquals(expected, getString(TestQueryImpl.example(true)));
}
@@ -349,7 +301,7 @@
* Test for void visit(IScalarSubquery)
*/
@Test public void testVisitIScalarSubquery() throws Exception {
- String expected = "(SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE (100 >= 200) AND (500 < 600) GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING (100 >= 200) AND (500 < 600) ORDER BY e1, e2 DESC, e3, e4 DESC)"; //$NON-NLS-1$
+ String expected = "(SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE 100 >= 200 AND 500 < 600 GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING 100 >= 200 AND 500 < 600 ORDER BY e1, e2 DESC, e3, e4 DESC)"; //$NON-NLS-1$
assertEquals(expected, getString(TestScalarSubqueryImpl.example()));
}
@@ -365,9 +317,9 @@
* Test for void visit(ISelect)
*/
@Test public void testVisitISelect() throws Exception {
- String expected = "SELECT g1.e1, g1.e2, g1.e3, g1.e4"; //$NON-NLS-1$
+ String expected = "SELECT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE 100 >= 200 AND 500 < 600 GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING 100 >= 200 AND 500 < 600 ORDER BY e1, e2 DESC, e3, e4 DESC"; //$NON-NLS-1$
assertEquals(expected, getString(TestQueryImpl.example(false)));
- expected = "SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4"; //$NON-NLS-1$
+ expected = "SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE 100 >= 200 AND 500 < 600 GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING 100 >= 200 AND 500 < 600 ORDER BY e1, e2 DESC, e3, e4 DESC"; //$NON-NLS-1$
assertEquals(expected, getString(TestQueryImpl.example(true)));
}
@@ -376,9 +328,9 @@
* Test for void visit(ISelectSymbol)
*/
@Test public void testVisitISelectSymbol() throws Exception {
- String expected = "g1.e1"; //$NON-NLS-1$
+ String expected = "e1"; //$NON-NLS-1$
assertEquals(expected, getString(TestSelectSymbolImpl.example("e1", null))); //$NON-NLS-1$
- expected = "g1.e1 AS alias"; //$NON-NLS-1$
+ expected = "e1 AS alias"; //$NON-NLS-1$
assertEquals(expected, getString(TestSelectSymbolImpl.example("e1", "alias"))); //$NON-NLS-1$ //$NON-NLS-2$
}
@@ -386,7 +338,7 @@
* Test for void visit(ISubqueryCompareCriteria)
*/
@Test public void testVisitISubqueryCompareCriteria() throws Exception {
- String expected = "g1.e1 > SOME (SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE (100 >= 200) AND (500 < 600) GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING (100 >= 200) AND (500 < 600) ORDER BY e1, e2 DESC, e3, e4 DESC)"; //$NON-NLS-1$
+ String expected = "g1.e1 > SOME (SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE 100 >= 200 AND 500 < 600 GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING 100 >= 200 AND 500 < 600 ORDER BY e1, e2 DESC, e3, e4 DESC)"; //$NON-NLS-1$
assertEquals(expected, getString(TestSubqueryCompareCriteriaImpl.example()));
}
@@ -394,12 +346,12 @@
* Test for void visit(ISubqueryInCriteria)
*/
@Test public void testVisitISubqueryInCriteria() throws Exception {
- String expected = "g1.e1 NOT IN (SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE (100 >= 200) AND (500 < 600) GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING (100 >= 200) AND (500 < 600) ORDER BY e1, e2 DESC, e3, e4 DESC)"; //$NON-NLS-1$
+ String expected = "g1.e1 NOT IN (SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE 100 >= 200 AND 500 < 600 GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING 100 >= 200 AND 500 < 600 ORDER BY e1, e2 DESC, e3, e4 DESC)"; //$NON-NLS-1$
assertEquals(expected, getString(TestSubqueryInCriteriaImpl.example()));
}
@Test public void testVisitIUnion1() throws Exception {
- String expected = "SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE (100 >= 200) AND (500 < 600) GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING (100 >= 200) AND (500 < 600) ORDER BY e1, e2 DESC, e3, e4 DESC UNION SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE (100 >= 200) AND (500 < 600) GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING (100 >= 200) AND (500 < 600) ORDER BY e1, e2 DESC, e3, e4 DESC ORDER BY e1, e2 DESC, e3, e4 DESC";//$NON-NLS-1$
+ String expected = "SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE 100 >= 200 AND 500 < 600 GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING 100 >= 200 AND 500 < 600 ORDER BY e1, e2 DESC, e3, e4 DESC UNION SELECT DISTINCT g1.e1, g1.e2, g1.e3, g1.e4 FROM g1, g2 AS myAlias, g3, g4 WHERE 100 >= 200 AND 500 < 600 GROUP BY g1.e1, g1.e2, g1.e3, g1.e4 HAVING 100 >= 200 AND 500 < 600 ORDER BY e1, e2 DESC, e3, e4 DESC ORDER BY e1, e2 DESC, e3, e4 DESC";//$NON-NLS-1$
assertEquals(expected, getString(TestSetQueryImpl.example()));
}
@@ -424,7 +376,7 @@
}
@Test public void testVisitProcedure() throws Exception {
- String expected = "EXEC sq3(, x, 1)"; //$NON-NLS-1$
+ String expected = "EXEC sq3('x', 1)"; //$NON-NLS-1$
assertEquals(expected, getString(TestProcedureImpl.example()));
}
Deleted: trunk/test-integration/db/src/test/java/org/teiid/connector/metadata/TestMetadataInConnector.java
===================================================================
--- trunk/test-integration/db/src/test/java/org/teiid/connector/metadata/TestMetadataInConnector.java 2010-03-08 22:13:59 UTC (rev 1941)
+++ trunk/test-integration/db/src/test/java/org/teiid/connector/metadata/TestMetadataInConnector.java 2010-03-09 05:42:40 UTC (rev 1942)
@@ -1,30 +0,0 @@
-package org.teiid.connector.metadata;
-
-import org.junit.Test;
-
-import com.metamatrix.core.util.UnitTestUtil;
-import com.metamatrix.jdbc.api.AbstractMMQueryTestCase;
-
-public class TestMetadataInConnector extends AbstractMMQueryTestCase {
-
- private static final String DQP_PROP_FILE = UnitTestUtil.getTestDataPath() + "/metadata/dqp.properties;user=test"; //$NON-NLS-1$
- private static final String VDB = "TestExtensions"; //$NON-NLS-1$
-
-
- @Test public void testMetadataTable() throws Exception {
- getConnection(VDB, DQP_PROP_FILE, ""); //$NON-NLS-1$
- execute("Select * from TableA"); //$NON-NLS-1$
- String expected[] = {"column1[string] column2[integer]"}; //$NON-NLS-1$
- assertResults(expected);
- closeConnection();
- }
-
- @Test public void testMetadataProcedure() throws Exception {
- getConnection(VDB, DQP_PROP_FILE, ""); //$NON-NLS-1$
- execute("exec AnyModel.ProcedureB(?)", new Object[] {"foo"}); //$NON-NLS-1$ //$NON-NLS-2$
- String expected[] = {"column1[string] column2[integer]"}; //$NON-NLS-1$
- assertResults(expected);
- closeConnection();
- }
-
-}
More information about the teiid-commits
mailing list