From rareddy at jboss.org Tue Apr 1 09:38:21 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Tue, 01 Apr 2014 06:38:21 -0700 Subject: [teiid-commits] [teiid/teiid] 65ea8b: TEIID-2910: fixing the regression in HiveExecution... Message-ID: <533ac14d5f4ca_595711edd4463855@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 65ea8b6e88bed7c5527333af26fd4444b2ca18cb https://github.com/teiid/teiid/commit/65ea8b6e88bed7c5527333af26fd4444b2ca18cb Author: Ramesh Reddy Date: 2014-04-01 (Tue, 01 Apr 2014) Changed paths: M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveExecutionFactory.java M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/excel/ExcelExecutionFactory.java M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/modeshape/ModeShapeExecutionFactory.java M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQLExecutionFactory.java M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java Log Message: ----------- TEIID-2910: fixing the regression in HiveExecutionFactory to keep using the createMetadataProcessor call for creating correct metadata processor Commit: 28537a60ca6ab009098f58d9d4f234c690664379 https://github.com/teiid/teiid/commit/28537a60ca6ab009098f58d9d4f234c690664379 Author: Ramesh Reddy Date: 2014-04-01 (Tue, 01 Apr 2014) Changed paths: M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveExecutionFactory.java M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/excel/ExcelExecutionFactory.java M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/modeshape/ModeShapeExecutionFactory.java M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/mysql/MySQLExecutionFactory.java M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java Log Message: ----------- Merge pull request #218 from rareddy/TEIID-2910 TEIID-2910: fixing the regression in HiveExecutionFactory to keep using ... Compare: https://github.com/teiid/teiid/compare/32d84e8aa61a...28537a60ca6a From docs-author at jboss.org Tue Apr 1 10:55:00 2014 From: docs-author at jboss.org (Ramesh Reddy (Confluence)) Date: Tue, 1 Apr 2014 10:55:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.7 (draft) > VDB Definition Message-ID: <883484920.33.1396364100225.JavaMail.tomcat@conf02.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140401/31b49d22/attachment-0001.html From docs-author at jboss.org Tue Apr 1 11:08:00 2014 From: docs-author at jboss.org (Ramesh Reddy (Confluence)) Date: Tue, 1 Apr 2014 11:08:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.7 (draft) > LoginModules Message-ID: <107256592.38.1396364880260.JavaMail.tomcat@conf02.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140401/bf4761f4/attachment.html From rareddy at jboss.org Tue Apr 1 11:39:17 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Tue, 01 Apr 2014 08:39:17 -0700 Subject: [teiid-commits] [teiid/teiid] 50dd02: Update teiid-releasenotes.html Message-ID: <533adda56312e_5a80c81d38452cb@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 50dd02ff5e024a9c72da256316767b8937fe0488 https://github.com/teiid/teiid/commit/50dd02ff5e024a9c72da256316767b8937fe0488 Author: Ramesh Reddy Date: 2014-04-01 (Tue, 01 Apr 2014) Changed paths: M build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html Log Message: ----------- Update teiid-releasenotes.html Misc release note updates From rareddy at jboss.org Tue Apr 1 13:51:23 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Tue, 01 Apr 2014 10:51:23 -0700 Subject: [teiid-commits] [teiid/teiid] a5ecf6: removing unused scripts, replaced cxf jaxrs with 2... Message-ID: <533afc9b5dfc1_15aad0fd4054889@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/EAP62 Home: https://github.com/teiid/teiid Commit: a5ecf69ba35beeeb9ac275cf70717c40044d70cb https://github.com/teiid/teiid/commit/a5ecf69ba35beeeb9ac275cf70717c40044d70cb Author: vhalbert Date: 2014-03-26 (Wed, 26 Mar 2014) Changed paths: R build/kits/jboss-as7/bin/scripts/teiid-domain-mode-install.cli R build/kits/jboss-as7/bin/scripts/teiid-standalone-mode-install.cli R build/kits/jboss-as7/modules/system/layers/base/org/apache/cxf/impl/frontend-jaxrs/main/cxf-rt-frontend-jaxrs-2.6.6.jar A build/kits/jboss-as7/modules/system/layers/base/org/apache/cxf/impl/frontend-jaxrs/main/cxf-rt-frontend-jaxrs-2.7.7.jar M build/kits/jboss-as7/modules/system/layers/base/org/apache/cxf/impl/frontend-jaxrs/main/module.xml M build/kits/jboss-as7/modules/system/layers/base/org/jboss/teiid/main/module.xml R build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml M connectors/connector-ws/pom.xml M pom.xml M teiid-bom/pom.xml Log Message: ----------- removing unused scripts, replaced cxf jaxrs with 2.7.7 version and updated versions in the pom's Commit: 013bdc17f3909fa1de19de5cdaaad6e88802a6b8 https://github.com/teiid/teiid/commit/013bdc17f3909fa1de19de5cdaaad6e88802a6b8 Author: vhalbert Date: 2014-03-31 (Mon, 31 Mar 2014) Changed paths: M teiid-bom/pom.xml Log Message: ----------- updated version of jboss-parent Commit: 0fd25ae2d5c7b5652663af213f7bf478308c1c0b https://github.com/teiid/teiid/commit/0fd25ae2d5c7b5652663af213f7bf478308c1c0b Author: vhalbert Date: 2014-04-01 (Tue, 01 Apr 2014) Changed paths: M teiid-bom/pom.xml Log Message: ----------- updated jboss-as to use 7.3.0 redhat-14 version Commit: 9dfe20fa8ec58bc07ac65f5af285a283bda2407a https://github.com/teiid/teiid/commit/9dfe20fa8ec58bc07ac65f5af285a283bda2407a Author: Ramesh Reddy Date: 2014-04-01 (Tue, 01 Apr 2014) Changed paths: R build/kits/jboss-as7/bin/scripts/teiid-domain-mode-install.cli R build/kits/jboss-as7/bin/scripts/teiid-standalone-mode-install.cli R build/kits/jboss-as7/modules/system/layers/base/org/apache/cxf/impl/frontend-jaxrs/main/cxf-rt-frontend-jaxrs-2.6.6.jar A build/kits/jboss-as7/modules/system/layers/base/org/apache/cxf/impl/frontend-jaxrs/main/cxf-rt-frontend-jaxrs-2.7.7.jar M build/kits/jboss-as7/modules/system/layers/base/org/apache/cxf/impl/frontend-jaxrs/main/module.xml M build/kits/jboss-as7/modules/system/layers/base/org/jboss/teiid/main/module.xml R build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml M connectors/connector-ws/pom.xml M pom.xml M teiid-bom/pom.xml Log Message: ----------- Merge pull request #215 from vhalbert/EAP62 Updated version of jboss-parent Compare: https://github.com/teiid/teiid/compare/4664b0c9678a...9dfe20fa8ec5 From docs-author at jboss.org Tue Apr 1 14:47:00 2014 From: docs-author at jboss.org (Steven Hawkins (Confluence)) Date: Tue, 1 Apr 2014 14:47:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.7 (draft) > VDB Definition Message-ID: <388214484.106.1396378020218.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140401/910b1b00/attachment-0001.html From docs-author at jboss.org Tue Apr 1 14:49:00 2014 From: docs-author at jboss.org (Steven Hawkins (Confluence)) Date: Tue, 1 Apr 2014 14:49:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.7 (draft) > VDB Definition Message-ID: <1413249816.111.1396378140110.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140401/fae6784f/attachment.html From shawkins at redhat.com Fri Apr 4 20:26:10 2014 From: shawkins at redhat.com (shawkins) Date: Fri, 04 Apr 2014 17:26:10 -0700 Subject: [teiid-commits] [teiid/teiid] febd85: TEIID-2911 preventing external entity resolving Message-ID: <533f4da2d93d6_55e611dbd38777cb@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: febd850bff920624a92ae05d6627008fe12ffabf https://github.com/teiid/teiid/commit/febd850bff920624a92ae05d6627008fe12ffabf Author: shawkins Date: 2014-04-04 (Fri, 04 Apr 2014) Changed paths: M common-core/src/main/java/org/teiid/core/types/SQLXMLImpl.java M common-core/src/main/java/org/teiid/core/types/XMLType.java M engine/src/test/java/org/teiid/query/processor/TestSQLXMLProcessing.java M odata/src/main/webapp/WEB-INF/web.xml Log Message: ----------- TEIID-2911 preventing external entity resolving From ci-builds at redhat.com Fri Apr 4 21:54:13 2014 From: ci-builds at redhat.com (ci-builds at redhat.com) Date: Fri, 4 Apr 2014 21:54:13 -0400 (EDT) Subject: [teiid-commits] Teiid - Continuous Build - Build # 2370 - Unstable! Message-ID: <565409361.711.1396662853317.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> Teiid - Continuous Build - Build # 2370 - Unstable: Check console output at http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Teiid%20-%20Continuous%20Build/2370/ to view the results. From shawkins at redhat.com Mon Apr 7 11:06:54 2014 From: shawkins at redhat.com (shawkins) Date: Mon, 07 Apr 2014 08:06:54 -0700 Subject: [teiid-commits] [teiid/teiid] 08af1d: TEIID-2918 adjusting error message Message-ID: <5342bf0eb6203_4c375abd3812727@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 08af1db26e89487c70bb39b52317622e04e7d626 https://github.com/teiid/teiid/commit/08af1db26e89487c70bb39b52317622e04e7d626 Author: shawkins Date: 2014-04-07 (Mon, 07 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/eval/Evaluator.java M engine/src/main/java/org/teiid/query/function/FunctionDescriptor.java M engine/src/main/resources/org/teiid/query/i18n.properties M engine/src/test/java/org/teiid/query/processor/proc/TestProcErrors.java M engine/src/test/java/org/teiid/query/processor/relational/TestProjectNode.java M engine/src/test/java/org/teiid/query/rewriter/TestQueryRewriter.java Log Message: ----------- TEIID-2918 adjusting error message From shawkins at redhat.com Mon Apr 7 11:40:29 2014 From: shawkins at redhat.com (shawkins) Date: Mon, 07 Apr 2014 08:40:29 -0700 Subject: [teiid-commits] [teiid/teiid] 59c62c: updating the release notes and a minor change Message-ID: <5342c6ed5b06e_7d676b9d3858459@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 59c62cf89932a1eb3fbbade1751f2821ff8b386b https://github.com/teiid/teiid/commit/59c62cf89932a1eb3fbbade1751f2821ff8b386b Author: shawkins Date: 2014-04-07 (Mon, 07 Apr 2014) Changed paths: M api/src/main/java/org/teiid/translator/BaseDelegatingExecutionFactory.java M api/src/test/java/org/teiid/translator/TestBaseDelegatingExecutionFactory.java M build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html Log Message: ----------- updating the release notes and a minor change From ci-builds at redhat.com Mon Apr 7 13:55:39 2014 From: ci-builds at redhat.com (ci-builds at redhat.com) Date: Mon, 7 Apr 2014 13:55:39 -0400 (EDT) Subject: [teiid-commits] Teiid - Continuous Build - Build # 2371 - Fixed! In-Reply-To: <565409361.711.1396662853317.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> References: <565409361.711.1396662853317.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> Message-ID: <100313241.1501.1396893339871.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> Teiid - Continuous Build - Build # 2371 - Fixed: Check console output at http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Teiid%20-%20Continuous%20Build/2371/ to view the results. From docs-author at jboss.org Mon Apr 7 14:19:00 2014 From: docs-author at jboss.org (Ramesh Reddy (Confluence)) Date: Mon, 7 Apr 2014 14:19:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.7 (draft) > Translator Properties Message-ID: <540318704.154.1396894740134.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140407/a6e1e35e/attachment-0001.html From rareddy at jboss.org Mon Apr 7 19:38:12 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Mon, 07 Apr 2014 16:38:12 -0700 Subject: [teiid-commits] [teiid/teiid] f3d876: Pulling PR from master to be applied to EAP62 bran... Message-ID: <534336e42222_77359bbd38962dc@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/EAP62 Home: https://github.com/teiid/teiid Commit: f3d8760cec7e0bcd3b0beb2c745ddbe1988263af https://github.com/teiid/teiid/commit/f3d8760cec7e0bcd3b0beb2c745ddbe1988263af Author: Ramesh Reddy Date: 2014-04-07 (Mon, 07 Apr 2014) Changed paths: M build/assembly/adminshell/adminshell-dist.xml M build/assembly/embedded-dist.xml M build/assembly/jboss-as7/dist.xml M connectors/mongodb-api/pom.xml A connectors/translator-accumulo/kits/jboss-as7/module-dist.xml A connectors/translator-cassandra/kits/jboss-as7/module-dist.xml A connectors/translator-solr/kits/jboss-as7/module-dist.xml M pom.xml M test-integration/db/src/assembly/binaries.xml Log Message: ----------- Pulling PR from master to be applied to EAP62 branch Commit: 37e8b95ccd7fefe3969c2e485e463e38b3cceac2 https://github.com/teiid/teiid/commit/37e8b95ccd7fefe3969c2e485e463e38b3cceac2 Author: vhalbert Date: 2014-04-07 (Mon, 07 Apr 2014) Changed paths: M build/assembly/jboss-as7/dist.xml A build/kits/jboss-as7/modules/org/jboss/as/console/eap/hal-console-1.5.7.Final-redhat-3-resources.jar A build/kits/jboss-as7/modules/org/jboss/as/console/eap/module.xml M pom.xml Log Message: ----------- updated maven assembly and added hal console Commit: 67014c259bef6b8f88354f0989952295719b2ec4 https://github.com/teiid/teiid/commit/67014c259bef6b8f88354f0989952295719b2ec4 Author: vhalbert Date: 2014-04-07 (Mon, 07 Apr 2014) Changed paths: R connectors/translator-accumulo/kits/jboss-as7/module-dist.xml R connectors/translator-cassandra/kits/jboss-as7/module-dist.xml R connectors/translator-solr/kits/jboss-as7/module-dist.xml Log Message: ----------- remove modules, not available yet Commit: 11788211e654a8a485ad2cbf368485ab68f583c4 https://github.com/teiid/teiid/commit/11788211e654a8a485ad2cbf368485ab68f583c4 Author: Ramesh Reddy Date: 2014-04-07 (Mon, 07 Apr 2014) Changed paths: M build/assembly/adminshell/adminshell-dist.xml M build/assembly/embedded-dist.xml M build/assembly/jboss-as7/dist.xml A build/kits/jboss-as7/modules/org/jboss/as/console/eap/hal-console-1.5.7.Final-redhat-3-resources.jar A build/kits/jboss-as7/modules/org/jboss/as/console/eap/module.xml M connectors/mongodb-api/pom.xml M pom.xml M test-integration/db/src/assembly/binaries.xml Log Message: ----------- Merge pull request #220 from vhalbert/EAP62 Updating EAP 62 build Compare: https://github.com/teiid/teiid/compare/9dfe20fa8ec5...11788211e654 From shawkins at redhat.com Tue Apr 8 13:52:30 2014 From: shawkins at redhat.com (shawkins) Date: Tue, 08 Apr 2014 10:52:30 -0700 Subject: [teiid-commits] [teiid/teiid] fceaf8: TEIID-2911 fully disabling dtd by default, but off... Message-ID: <5344375e407d7_758652dd341089a5@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: fceaf8e9126b01942775980c614693cdca5d614e https://github.com/teiid/teiid/commit/fceaf8e9126b01942775980c614693cdca5d614e Author: shawkins Date: 2014-04-08 (Tue, 08 Apr 2014) Changed paths: M common-core/src/main/java/org/teiid/core/types/SQLXMLImpl.java M common-core/src/main/java/org/teiid/core/types/XMLType.java Log Message: ----------- TEIID-2911 fully disabling dtd by default, but offering an option to reenable support From shawkins at redhat.com Tue Apr 8 13:53:06 2014 From: shawkins at redhat.com (shawkins) Date: Tue, 08 Apr 2014 10:53:06 -0700 Subject: [teiid-commits] [teiid/teiid] c7059c: TEIID-2906 adding an option to sanitize messages Message-ID: <53443782158f2_65fda71d40548a9@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: c7059ca5a2cba7deb69b121598bfaf7df74d437f https://github.com/teiid/teiid/commit/c7059ca5a2cba7deb69b121598bfaf7df74d437f Author: shawkins Date: 2014-04-08 (Tue, 08 Apr 2014) Changed paths: M client/src/main/java/org/teiid/client/util/ExceptionUtil.java A client/src/test/java/org/teiid/client/util/TestExceptionUtil.java M engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java M engine/src/main/java/org/teiid/dqp/internal/process/Request.java M engine/src/main/java/org/teiid/dqp/internal/process/RequestWorkItem.java M engine/src/main/java/org/teiid/query/util/CommandContext.java M engine/src/main/java/org/teiid/query/util/Options.java Log Message: ----------- TEIID-2906 adding an option to sanitize messages From docs-author at jboss.org Tue Apr 8 14:01:00 2014 From: docs-author at jboss.org (Steven Hawkins (Confluence)) Date: Tue, 8 Apr 2014 14:01:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.7 (draft) > System Properties Message-ID: <133958511.170.1396980060167.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140408/f878404b/attachment.html From rareddy at jboss.org Tue Apr 8 15:48:35 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Tue, 08 Apr 2014 12:48:35 -0700 Subject: [teiid-commits] [teiid/teiid] fdb92d: TEIID-2760, TEIID-1070: fixing various issues with... Message-ID: <534452937bb33_7602bb7d449155@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: fdb92dbae563cad998fc8288cbd701b767f9700d https://github.com/teiid/teiid/commit/fdb92dbae563cad998fc8288cbd701b767f9700d Author: Ramesh Reddy Date: 2014-04-08 (Tue, 08 Apr 2014) Changed paths: M build/kits/jboss-as7/docs/teiid/datasources/simpledb/simpledb.xml M connectors/connector-simpledb/src/main/java/org/teiid/resource/adapter/simpledb/SimpleDBConnectionImpl.java M connectors/connector-simpledb/src/main/java/org/teiid/resource/adapter/simpledb/SimpleDBManagedConnectionFactory.java A connectors/connector-simpledb/src/test/java/org/teiid/resource/adapter/simpledb/SimpleDbAPIClassTest.java M connectors/simpledb-api/pom.xml M connectors/simpledb-api/src/main/java/org/teiid/resource/adpter/simpledb/SimpleDBConnection.java A connectors/simpledb-api/src/main/java/org/teiid/resource/adpter/simpledb/SimpleDBDataTypeManager.java R connectors/simpledb-api/src/main/java/org/teiid/resource/adpter/simpledb/SimpleDbAPIClass.java R connectors/simpledb-api/src/test/java/org/teiid/resource/adapter/simpledb/unit/SimpleDbAPIClassTest.java M connectors/translator-excel/src/main/java/org/teiid/translator/excel/ExcelMetadataProcessor.java M connectors/translator-simpledb/kits/jboss-as7/modules/org/jboss/teiid/translator/simpledb/api/main/module.xml M connectors/translator-simpledb/kits/jboss-as7/modules/org/jboss/teiid/translator/simpledb/main/module.xml M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBDeleteExecute.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBDeleteVisitor.java A connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBDirectQueryExecution.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBExecutionFactory.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBInsertExecute.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBInsertVisitor.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBMetadataProcessor.java A connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBPlugin.java A connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBQueryExecution.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBSQLVisitor.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBUpdateExecute.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBUpdateVisitor.java A connectors/translator-simpledb/src/main/resources/org/teiid/translator/simpledb/i18n.properties A connectors/translator-simpledb/src/test/java/org/teiid/translator/simpledb/visitors/TestSimpleDBExecution.java A connectors/translator-simpledb/src/test/java/org/teiid/translator/simpledb/visitors/TestSimpleDBMetadataProcessor.java A connectors/translator-simpledb/src/test/java/org/teiid/translator/simpledb/visitors/TestSimpleDBSQLVisitor.java R connectors/translator-simpledb/src/test/java/org/teiid/translator/simpledb/visitors/VisitorTest.java M engine/src/main/java/org/teiid/query/function/FunctionLibrary.java Log Message: ----------- TEIID-2760, TEIID-1070: fixing various issues with SimpleDB translator Commit: e2723783cbb9b80fda4779c9b0c687b03b08f7af https://github.com/teiid/teiid/commit/e2723783cbb9b80fda4779c9b0c687b03b08f7af Author: Ramesh Reddy Date: 2014-04-08 (Tue, 08 Apr 2014) Changed paths: M build/kits/jboss-as7/docs/teiid/datasources/simpledb/simpledb.xml M connectors/connector-simpledb/src/main/java/org/teiid/resource/adapter/simpledb/SimpleDBConnectionImpl.java M connectors/connector-simpledb/src/main/java/org/teiid/resource/adapter/simpledb/SimpleDBManagedConnectionFactory.java A connectors/connector-simpledb/src/test/java/org/teiid/resource/adapter/simpledb/SimpleDbAPIClassTest.java M connectors/simpledb-api/pom.xml M connectors/simpledb-api/src/main/java/org/teiid/resource/adpter/simpledb/SimpleDBConnection.java A connectors/simpledb-api/src/main/java/org/teiid/resource/adpter/simpledb/SimpleDBDataTypeManager.java R connectors/simpledb-api/src/main/java/org/teiid/resource/adpter/simpledb/SimpleDbAPIClass.java R connectors/simpledb-api/src/test/java/org/teiid/resource/adapter/simpledb/unit/SimpleDbAPIClassTest.java M connectors/translator-excel/src/main/java/org/teiid/translator/excel/ExcelMetadataProcessor.java M connectors/translator-simpledb/kits/jboss-as7/modules/org/jboss/teiid/translator/simpledb/api/main/module.xml M connectors/translator-simpledb/kits/jboss-as7/modules/org/jboss/teiid/translator/simpledb/main/module.xml M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBDeleteExecute.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBDeleteVisitor.java A connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBDirectQueryExecution.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBExecutionFactory.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBInsertExecute.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBInsertVisitor.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBMetadataProcessor.java A connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBPlugin.java A connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBQueryExecution.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBSQLVisitor.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBUpdateExecute.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBUpdateVisitor.java A connectors/translator-simpledb/src/main/resources/org/teiid/translator/simpledb/i18n.properties A connectors/translator-simpledb/src/test/java/org/teiid/translator/simpledb/visitors/TestSimpleDBExecution.java A connectors/translator-simpledb/src/test/java/org/teiid/translator/simpledb/visitors/TestSimpleDBMetadataProcessor.java A connectors/translator-simpledb/src/test/java/org/teiid/translator/simpledb/visitors/TestSimpleDBSQLVisitor.java R connectors/translator-simpledb/src/test/java/org/teiid/translator/simpledb/visitors/VisitorTest.java M engine/src/main/java/org/teiid/query/function/FunctionLibrary.java Log Message: ----------- Merge pull request #222 from rareddy/TEIID-2760 TEIID-2760, TEIID-1070: fixing various issues with SimpleDB translator Compare: https://github.com/teiid/teiid/compare/c7059ca5a2cb...e2723783cbb9 From rareddy at jboss.org Tue Apr 8 16:30:49 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Tue, 08 Apr 2014 13:30:49 -0700 Subject: [teiid-commits] [teiid/teiid] 2b68cd: Normalize fileMode/directoryMode configuration for... Message-ID: <53445c79f2731_7ba912f7d3445651@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 2b68cd24f57bfa9a4f94108beeb65a8645c7e987 https://github.com/teiid/teiid/commit/2b68cd24f57bfa9a4f94108beeb65a8645c7e987 Author: Nick Cross Date: 2014-04-07 (Mon, 07 Apr 2014) Changed paths: M build/assembly/adminshell/adminshell-dist.xml M build/assembly/embedded-dist.xml M build/assembly/jboss-as7/dist.xml M build/pom.xml Log Message: ----------- Normalize fileMode/directoryMode configuration for assemblies Commit: d8ae5eb306aff2362232c5d6f943e19258ac0009 https://github.com/teiid/teiid/commit/d8ae5eb306aff2362232c5d6f943e19258ac0009 Author: Ramesh Reddy Date: 2014-04-08 (Tue, 08 Apr 2014) Changed paths: M build/assembly/adminshell/adminshell-dist.xml M build/assembly/embedded-dist.xml M build/assembly/jboss-as7/dist.xml M build/pom.xml Log Message: ----------- Merge pull request #221 from rnc/master Normalize fileMode/directoryMode configuration for assemblies Compare: https://github.com/teiid/teiid/compare/e2723783cbb9...d8ae5eb306af From shawkins at redhat.com Tue Apr 8 19:11:06 2014 From: shawkins at redhat.com (Steve Hawkins) Date: Tue, 08 Apr 2014 16:11:06 -0700 Subject: [teiid-commits] [teiid/teiid] 9a11a9: [maven-release-plugin] prepare release teiid-paren... Message-ID: <5344820a71973_759013b5d3461981@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 9a11a9b109f5cef837c1f0ef0f530d64934609e7 https://github.com/teiid/teiid/commit/9a11a9b109f5cef837c1f0ef0f530d64934609e7 Author: Steve Hawkins Date: 2014-04-08 (Tue, 08 Apr 2014) Changed paths: M admin/pom.xml M adminshell/pom.xml M api/pom.xml M build/pom.xml M client-jdk15/pom.xml M client/pom.xml M common-core/pom.xml M connectors/connector-accumulo/pom.xml M connectors/connector-cassandra/pom.xml M connectors/connector-file/pom.xml M connectors/connector-google/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-ldap/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-simpledb/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/pom.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/pom.xml M connectors/salesforce-api/pom.xml M connectors/sandbox/pom.xml M connectors/sandbox/translator-yahoo/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-file/pom.xml M connectors/translator-google/pom.xml M connectors/translator-hive/pom.xml M connectors/translator-jdbc/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-ldap/pom.xml M connectors/translator-loopback/pom.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-odata/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-salesforce/pom.xml M connectors/translator-simpledb/pom.xml M connectors/translator-solr/pom.xml M connectors/translator-ws/pom.xml M engine/pom.xml M hibernate-dialect/pom.xml M jboss-integration/pom.xml M metadata/pom.xml M odata/pom.xml M pom.xml M runtime/pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml M test-integration/perf/pom.xml M test-integration/pom.xml Log Message: ----------- [maven-release-plugin] prepare release teiid-parent-8.7.0.CR2 From shawkins at redhat.com Tue Apr 8 19:11:08 2014 From: shawkins at redhat.com (shawkins) Date: Tue, 08 Apr 2014 16:11:08 -0700 Subject: [teiid-commits] [teiid/teiid] Message-ID: <5344820cc8b45_7c5162bd44150973@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/tags/teiid-parent-8.7.0.CR2 Home: https://github.com/teiid/teiid From shawkins at redhat.com Tue Apr 8 19:11:11 2014 From: shawkins at redhat.com (Steve Hawkins) Date: Tue, 08 Apr 2014 16:11:11 -0700 Subject: [teiid-commits] [teiid/teiid] d55491: [maven-release-plugin] prepare for next developmen... Message-ID: <5344820f8d4f0_9191225d34716d@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: d55491a454c34ec8253f025e0f149f13881e6cd8 https://github.com/teiid/teiid/commit/d55491a454c34ec8253f025e0f149f13881e6cd8 Author: Steve Hawkins Date: 2014-04-08 (Tue, 08 Apr 2014) Changed paths: M admin/pom.xml M adminshell/pom.xml M api/pom.xml M build/pom.xml M client-jdk15/pom.xml M client/pom.xml M common-core/pom.xml M connectors/connector-accumulo/pom.xml M connectors/connector-cassandra/pom.xml M connectors/connector-file/pom.xml M connectors/connector-google/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-ldap/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-simpledb/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/pom.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/pom.xml M connectors/salesforce-api/pom.xml M connectors/sandbox/pom.xml M connectors/sandbox/translator-yahoo/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-file/pom.xml M connectors/translator-google/pom.xml M connectors/translator-hive/pom.xml M connectors/translator-jdbc/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-ldap/pom.xml M connectors/translator-loopback/pom.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-odata/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-salesforce/pom.xml M connectors/translator-simpledb/pom.xml M connectors/translator-solr/pom.xml M connectors/translator-ws/pom.xml M engine/pom.xml M hibernate-dialect/pom.xml M jboss-integration/pom.xml M metadata/pom.xml M odata/pom.xml M pom.xml M runtime/pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml M test-integration/perf/pom.xml M test-integration/pom.xml Log Message: ----------- [maven-release-plugin] prepare for next development iteration From ci-builds at redhat.com Tue Apr 8 21:03:58 2014 From: ci-builds at redhat.com (ci-builds at redhat.com) Date: Tue, 8 Apr 2014 21:03:58 -0400 (EDT) Subject: [teiid-commits] Teiid - Continuous Build - Build # 2374 - Failure! Message-ID: <1363686273.2271.1397005438149.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> Teiid - Continuous Build - Build # 2374 - Failure: Check console output at http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Teiid%20-%20Continuous%20Build/2374/ to view the results. From shawkins at redhat.com Wed Apr 9 09:04:52 2014 From: shawkins at redhat.com (shawkins) Date: Wed, 09 Apr 2014 06:04:52 -0700 Subject: [teiid-commits] [teiid/teiid] Message-ID: <5345457458571_3d9f93bd4064219@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid From shawkins at redhat.com Wed Apr 9 09:26:01 2014 From: shawkins at redhat.com (shawkins) Date: Wed, 09 Apr 2014 06:26:01 -0700 Subject: [teiid-commits] [teiid/teiid] 440af4: updating to 8.8 Message-ID: <53454a69a5128_418af9bd34245df@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 440af4eebdd6d34180ba849798e69657842cd988 https://github.com/teiid/teiid/commit/440af4eebdd6d34180ba849798e69657842cd988 Author: shawkins Date: 2014-04-09 (Wed, 09 Apr 2014) Changed paths: M admin/pom.xml M adminshell/pom.xml M api/pom.xml M build/pom.xml M client-jdk15/pom.xml M client/pom.xml M common-core/pom.xml M connectors/connector-accumulo/pom.xml M connectors/connector-cassandra/pom.xml M connectors/connector-file/pom.xml M connectors/connector-google/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-ldap/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-simpledb/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/pom.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/pom.xml M connectors/salesforce-api/pom.xml M connectors/sandbox/pom.xml M connectors/sandbox/translator-yahoo/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-file/pom.xml M connectors/translator-google/pom.xml M connectors/translator-hive/pom.xml M connectors/translator-jdbc/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-ldap/pom.xml M connectors/translator-loopback/pom.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-odata/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-salesforce/pom.xml M connectors/translator-simpledb/pom.xml M connectors/translator-solr/pom.xml M connectors/translator-ws/pom.xml M engine/pom.xml M hibernate-dialect/pom.xml M jboss-integration/pom.xml M metadata/pom.xml M odata/pom.xml M pom.xml M runtime/pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml M test-integration/perf/pom.xml M test-integration/pom.xml Log Message: ----------- updating to 8.8 From rareddy at jboss.org Wed Apr 9 10:22:28 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Wed, 09 Apr 2014 07:22:28 -0700 Subject: [teiid-commits] [teiid/teiid] 8611cd: TEIID-2910: Adding deprecation notice to the prope... Message-ID: <534557a4ec42b_4e921135d34204c1@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 8611cdb826208a1d9e5762cd284bf3b706fb4b5c https://github.com/teiid/teiid/commit/8611cdb826208a1d9e5762cd284bf3b706fb4b5c Author: Ramesh Reddy Date: 2014-04-09 (Wed, 09 Apr 2014) Changed paths: M api/src/main/java/org/teiid/translator/ExecutionFactory.java Log Message: ----------- TEIID-2910: Adding deprecation notice to the properties that are not needed Commit: ada89f5a489b6721e038471ac384d1b9fce00801 https://github.com/teiid/teiid/commit/ada89f5a489b6721e038471ac384d1b9fce00801 Author: Ramesh Reddy Date: 2014-04-09 (Wed, 09 Apr 2014) Changed paths: M api/src/main/java/org/teiid/translator/ExecutionFactory.java Log Message: ----------- Merge pull request #223 from rareddy/TEIID-2910 TEIID-2910: Adding deprecation notice to the properties that are not nee... Compare: https://github.com/teiid/teiid/compare/d55491a454c3...ada89f5a489b From ci-builds at redhat.com Wed Apr 9 10:00:39 2014 From: ci-builds at redhat.com (ci-builds at redhat.com) Date: Wed, 9 Apr 2014 10:00:39 -0400 (EDT) Subject: [teiid-commits] Teiid - Continuous Build - Build # 2375 - Fixed! In-Reply-To: <1363686273.2271.1397005438149.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> References: <1363686273.2271.1397005438149.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> Message-ID: <1995698737.2619.1397052040010.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> Teiid - Continuous Build - Build # 2375 - Fixed: Check console output at http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Teiid%20-%20Continuous%20Build/2375/ to view the results. From shawkins at redhat.com Wed Apr 9 11:25:34 2014 From: shawkins at redhat.com (shawkins) Date: Wed, 09 Apr 2014 08:25:34 -0700 Subject: [teiid-commits] [teiid/teiid] 37a4e0: correcting the version Message-ID: <5345666eaf63_29ced49d3836257@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 37a4e057850e33469e804477feadd18b15b99158 https://github.com/teiid/teiid/commit/37a4e057850e33469e804477feadd18b15b99158 Author: shawkins Date: 2014-04-09 (Wed, 09 Apr 2014) Changed paths: M admin/pom.xml M adminshell/pom.xml M api/pom.xml M build/pom.xml M client-jdk15/pom.xml M client/pom.xml M common-core/pom.xml M connectors/connector-accumulo/pom.xml M connectors/connector-cassandra/pom.xml M connectors/connector-file/pom.xml M connectors/connector-google/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-ldap/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-simpledb/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/pom.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/pom.xml M connectors/salesforce-api/pom.xml M connectors/sandbox/pom.xml M connectors/sandbox/translator-yahoo/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-file/pom.xml M connectors/translator-google/pom.xml M connectors/translator-hive/pom.xml M connectors/translator-jdbc/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-ldap/pom.xml M connectors/translator-loopback/pom.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-odata/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-salesforce/pom.xml M connectors/translator-simpledb/pom.xml M connectors/translator-solr/pom.xml M connectors/translator-ws/pom.xml M engine/pom.xml M hibernate-dialect/pom.xml M jboss-integration/pom.xml M metadata/pom.xml M odata/pom.xml M pom.xml M runtime/pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml M test-integration/perf/pom.xml M test-integration/pom.xml Log Message: ----------- correcting the version From docs-author at jboss.org Wed Apr 9 15:25:00 2014 From: docs-author at jboss.org (Ramesh Reddy (Confluence)) Date: Wed, 9 Apr 2014 15:25:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.7 (draft) > SimpleDB Translator Message-ID: <359023412.184.1397071500198.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140409/16f58fa2/attachment.html From docs-author at jboss.org Wed Apr 9 16:13:00 2014 From: docs-author at jboss.org (Ramesh Reddy (Confluence)) Date: Wed, 9 Apr 2014 16:13:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.7 (draft) > Amazon SimpleDB Translator Message-ID: <1908984862.77.1397074380205.JavaMail.tomcat@conf02.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140409/bb1a28b3/attachment.html From docs-author at jboss.org Wed Apr 9 16:14:00 2014 From: docs-author at jboss.org (Ramesh Reddy (Confluence)) Date: Wed, 9 Apr 2014 16:14:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.7 (draft) > Amazon SimpleDB Data Sources Message-ID: <1821182203.187.1397074440093.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140409/c5a2260e/attachment-0001.html From rareddy at jboss.org Thu Apr 10 16:10:24 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Thu, 10 Apr 2014 13:10:24 -0700 Subject: [teiid-commits] [teiid/teiid] 70cf1f: TEIID-1070: couple minor corrections not to add th... Message-ID: <5346fab07ea4d_436de15d3453121@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 70cf1f6dc241232b5dd2f20ad3124eac094e3702 https://github.com/teiid/teiid/commit/70cf1f6dc241232b5dd2f20ad3124eac094e3702 Author: Ramesh Reddy Date: 2014-04-10 (Thu, 10 Apr 2014) Changed paths: M connectors/connector-simpledb/src/main/java/org/teiid/resource/adapter/simpledb/SimpleDBConnectionImpl.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBDeleteExecute.java M connectors/translator-simpledb/src/test/java/org/teiid/translator/simpledb/visitors/TestSimpleDBExecution.java Log Message: ----------- TEIID-1070: couple minor corrections not to add the data, rather replace or create it; ability to create domains if not existing Commit: c039e9587af2cb45100337c0afb94aa41ee6c33c https://github.com/teiid/teiid/commit/c039e9587af2cb45100337c0afb94aa41ee6c33c Author: Ramesh Reddy Date: 2014-04-10 (Thu, 10 Apr 2014) Changed paths: M connectors/connector-simpledb/src/main/java/org/teiid/resource/adapter/simpledb/SimpleDBConnectionImpl.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBDeleteExecute.java M connectors/translator-simpledb/src/test/java/org/teiid/translator/simpledb/visitors/TestSimpleDBExecution.java Log Message: ----------- Merge pull request #224 from rareddy/TEIID-1070 TEIID-1070: couple minor corrections not to add the data, rather replace... Compare: https://github.com/teiid/teiid/compare/37a4e057850e...c039e9587af2 From shawkins at redhat.com Fri Apr 11 09:49:12 2014 From: shawkins at redhat.com (shawkins) Date: Fri, 11 Apr 2014 06:49:12 -0700 Subject: [teiid-commits] [teiid/teiid] d8405d: removing extra snapshot Message-ID: <5347f2d8b74a1_338f1225d3486091@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: d8405ddb6e1ae85bae2f458990e51087cba9cc38 https://github.com/teiid/teiid/commit/d8405ddb6e1ae85bae2f458990e51087cba9cc38 Author: shawkins Date: 2014-04-11 (Fri, 11 Apr 2014) Changed paths: M admin/pom.xml M adminshell/pom.xml M api/pom.xml M build/pom.xml M client-jdk15/pom.xml M client/pom.xml M common-core/pom.xml M connectors/connector-accumulo/pom.xml M connectors/connector-cassandra/pom.xml M connectors/connector-file/pom.xml M connectors/connector-google/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-ldap/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-simpledb/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/pom.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/pom.xml M connectors/salesforce-api/pom.xml M connectors/sandbox/pom.xml M connectors/sandbox/translator-yahoo/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-file/pom.xml M connectors/translator-google/pom.xml M connectors/translator-hive/pom.xml M connectors/translator-jdbc/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-ldap/pom.xml M connectors/translator-loopback/pom.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-odata/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-salesforce/pom.xml M connectors/translator-simpledb/pom.xml M connectors/translator-solr/pom.xml M connectors/translator-ws/pom.xml M engine/pom.xml M hibernate-dialect/pom.xml M jboss-integration/pom.xml M metadata/pom.xml M odata/pom.xml M pom.xml M runtime/pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml M test-integration/perf/pom.xml M test-integration/pom.xml Log Message: ----------- removing extra snapshot From shawkins at redhat.com Fri Apr 11 09:52:21 2014 From: shawkins at redhat.com (shawkins) Date: Fri, 11 Apr 2014 06:52:21 -0700 Subject: [teiid-commits] [teiid/teiid] 7d4b75: removing extra snapshot Message-ID: <5347f39577ff7_31071303d3c9504c@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 7d4b7552fe64d519c88325d1d5380a1ca1402ac7 https://github.com/teiid/teiid/commit/7d4b7552fe64d519c88325d1d5380a1ca1402ac7 Author: shawkins Date: 2014-04-11 (Fri, 11 Apr 2014) Changed paths: M admin/pom.xml M adminshell/pom.xml M api/pom.xml M build/pom.xml M client-jdk15/pom.xml M client/pom.xml M common-core/pom.xml M connectors/connector-accumulo/pom.xml M connectors/connector-cassandra/pom.xml M connectors/connector-file/pom.xml M connectors/connector-google/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-ldap/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-simpledb/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/pom.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/pom.xml M connectors/salesforce-api/pom.xml M connectors/sandbox/pom.xml M connectors/sandbox/translator-yahoo/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-file/pom.xml M connectors/translator-google/pom.xml M connectors/translator-hive/pom.xml M connectors/translator-jdbc/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-ldap/pom.xml M connectors/translator-loopback/pom.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-odata/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-salesforce/pom.xml M connectors/translator-simpledb/pom.xml M connectors/translator-solr/pom.xml M connectors/translator-ws/pom.xml M engine/pom.xml M hibernate-dialect/pom.xml M jboss-integration/pom.xml M metadata/pom.xml M odata/pom.xml M pom.xml M runtime/pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml M test-integration/perf/pom.xml M test-integration/pom.xml Log Message: ----------- removing extra snapshot From ci-builds at redhat.com Fri Apr 11 10:49:18 2014 From: ci-builds at redhat.com (ci-builds at redhat.com) Date: Fri, 11 Apr 2014 10:49:18 -0400 (EDT) Subject: [teiid-commits] Teiid - Continuous Build - Build # 2376 - Failure! Message-ID: <842479862.3341.1397227758629.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> Teiid - Continuous Build - Build # 2376 - Failure: Check console output at http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Teiid%20-%20Continuous%20Build/2376/ to view the results. From rareddy at jboss.org Fri Apr 11 14:33:13 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Fri, 11 Apr 2014 11:33:13 -0700 Subject: [teiid-commits] [teiid/teiid] 7e363b: TEIID-2923: adding username, pasword and port info... Message-ID: <53483569110f9_4295641d38229fc@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 7e363b40ba5eb6f395299d2c7322335a0f2fe7d9 https://github.com/teiid/teiid/commit/7e363b40ba5eb6f395299d2c7322335a0f2fe7d9 Author: Ramesh Reddy Date: 2014-04-11 (Fri, 11 Apr 2014) Changed paths: M connectors/connector-cassandra/src/main/java/org/teiid/resource/adapter/cassandra/CassandraConnectionImpl.java M connectors/connector-cassandra/src/main/java/org/teiid/resource/adapter/cassandra/CassandraManagedConnectionFactory.java M connectors/connector-cassandra/src/main/rar/META-INF/ra.xml Log Message: ----------- TEIID-2923: adding username, pasword and port information to be configurable on a connection Commit: 14df69d097db5db6f5c92a8ef150ab848141b491 https://github.com/teiid/teiid/commit/14df69d097db5db6f5c92a8ef150ab848141b491 Author: Ramesh Reddy Date: 2014-04-11 (Fri, 11 Apr 2014) Changed paths: M connectors/connector-cassandra/src/main/java/org/teiid/resource/adapter/cassandra/CassandraConnectionImpl.java M connectors/connector-cassandra/src/main/java/org/teiid/resource/adapter/cassandra/CassandraManagedConnectionFactory.java M connectors/connector-cassandra/src/main/rar/META-INF/ra.xml Log Message: ----------- Merge pull request #225 from rareddy/TEIID-2923 TEIID-2923: adding username, pasword and port information to be configur... Compare: https://github.com/teiid/teiid/compare/d8405ddb6e1a...14df69d097db From rareddy at jboss.org Fri Apr 11 14:40:32 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Fri, 11 Apr 2014 11:40:32 -0700 Subject: [teiid-commits] [teiid/teiid] 622b88: TEIID-2923 Message-ID: <53483720bf74_2608567d4038248@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 622b881425dca223d9ad2465f6d863e3200ff4dd https://github.com/teiid/teiid/commit/622b881425dca223d9ad2465f6d863e3200ff4dd Author: Ramesh Reddy Date: 2014-04-11 (Fri, 11 Apr 2014) Changed paths: M build/kits/jboss-as7/docs/teiid/datasources/cassandra/cassandra.xml Log Message: ----------- TEIID-2923 From rareddy at jboss.org Fri Apr 11 15:55:10 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Fri, 11 Apr 2014 12:55:10 -0700 Subject: [teiid-commits] [teiid/teiid] 38d506: TEIID-1910: fix of the regression for getConnector... Message-ID: <5348489e5a260_4f71cc5d44915da@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 38d506f0558bafa8ad43f3cfb72bd35bac0714cb https://github.com/teiid/teiid/commit/38d506f0558bafa8ad43f3cfb72bd35bac0714cb Author: Ramesh Reddy Date: 2014-04-11 (Fri, 11 Apr 2014) Changed paths: M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveMetadataProcessor.java Log Message: ----------- TEIID-1910: fix of the regression for getConnectorMetadata Commit: 8021b0761453055ee5d37d9bf1e8823a66753c5d https://github.com/teiid/teiid/commit/8021b0761453055ee5d37d9bf1e8823a66753c5d Author: Ramesh Reddy Date: 2014-04-11 (Fri, 11 Apr 2014) Changed paths: M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveMetadataProcessor.java Log Message: ----------- Merge pull request #226 from rareddy/TEIID-2910 TEIID-2910: fix of the regression for getConnectorMetadata Compare: https://github.com/teiid/teiid/compare/622b881425dc...8021b0761453 From docs-author at jboss.org Mon Apr 14 09:44:00 2014 From: docs-author at jboss.org (Van Halbert (Confluence)) Date: Mon, 14 Apr 2014 09:44:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.7 (draft) > Data Sources Message-ID: <900819268.245.1397483040338.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140414/75e92910/attachment-0001.html From shawkins at redhat.com Mon Apr 14 11:02:57 2014 From: shawkins at redhat.com (shawkins) Date: Mon, 14 Apr 2014 08:02:57 -0700 Subject: [teiid-commits] [teiid/teiid] 2eb2fb: TEIID-2921 allowing more optimization with complex... Message-ID: <534bf8a197002_1cf812fbd44960f7@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 2eb2fbba2f3c59f16e8fe7e16bd3498b3ad98203 https://github.com/teiid/teiid/commit/2eb2fbba2f3c59f16e8fe7e16bd3498b3ad98203 Author: shawkins Date: 2014-04-14 (Mon, 14 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/optimizer/relational/rules/RulePlanSorts.java M engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java Log Message: ----------- TEIID-2921 allowing more optimization with complex sorts From ci-builds at redhat.com Mon Apr 14 12:41:38 2014 From: ci-builds at redhat.com (ci-builds at redhat.com) Date: Mon, 14 Apr 2014 12:41:38 -0400 (EDT) Subject: [teiid-commits] Teiid - Continuous Build - Build # 2377 - Fixed! In-Reply-To: <842479862.3341.1397227758629.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> References: <842479862.3341.1397227758629.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> Message-ID: <1164159837.4307.1397493698771.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> Teiid - Continuous Build - Build # 2377 - Fixed: Check console output at http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Teiid%20-%20Continuous%20Build/2377/ to view the results. From docs-author at jboss.org Mon Apr 14 15:33:00 2014 From: docs-author at jboss.org (Steven Hawkins (Confluence)) Date: Mon, 14 Apr 2014 15:33:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.7 (draft) > Threading Message-ID: <1899016224.250.1397503980202.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140414/444b94e6/attachment.html From rareddy at jboss.org Mon Apr 14 18:20:04 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Mon, 14 Apr 2014 15:20:04 -0700 Subject: [teiid-commits] [teiid/teiid] cfe5e2: TEIID-2925: Adding driver-name proeprty for the re... Message-ID: <534c5f1492c5b_6c36ba7d404745@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: cfe5e282e11d70145d15ffa1c96cfd793f353f79 https://github.com/teiid/teiid/commit/cfe5e282e11d70145d15ffa1c96cfd793f353f79 Author: Ramesh Reddy Date: 2014-04-14 (Mon, 14 Apr 2014) Changed paths: M admin/src/main/java/org/teiid/adminapi/AdminFactory.java M test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java Log Message: ----------- TEIID-2925: Adding driver-name proeprty for the resource-adpater that are module based Commit: ae6190d796ae18cd2379f484d209bd4c865e29ad https://github.com/teiid/teiid/commit/ae6190d796ae18cd2379f484d209bd4c865e29ad Author: Ramesh Reddy Date: 2014-04-14 (Mon, 14 Apr 2014) Changed paths: M admin/src/main/java/org/teiid/adminapi/AdminFactory.java M test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java Log Message: ----------- Merge pull request #227 from rareddy/TEIID-2925 TEIID-2925: Adding driver-name proeprty for the resource-adpater that ar... Compare: https://github.com/teiid/teiid/compare/8021b0761453...ae6190d796ae From rareddy at jboss.org Mon Apr 14 19:05:41 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Mon, 14 Apr 2014 16:05:41 -0700 Subject: [teiid-commits] [teiid/teiid] 2541b9: TEIID-2926: fixing the error in returning the defa... Message-ID: <534c69c572111_6d5fb3fd449896b@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 2541b9afe14f3cf25930f39b757f7e1b58d2e6dd https://github.com/teiid/teiid/commit/2541b9afe14f3cf25930f39b757f7e1b58d2e6dd Author: Ramesh Reddy Date: 2014-04-14 (Mon, 14 Apr 2014) Changed paths: M runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java M runtime/src/test/java/org/teiid/deployers/TestTranslatorUtil.java Log Message: ----------- TEIID-2926: fixing the error in returning the default value with translator import property Commit: fd7cc5bf644330325676cac9c6ebe97d0b09350e https://github.com/teiid/teiid/commit/fd7cc5bf644330325676cac9c6ebe97d0b09350e Author: Ramesh Reddy Date: 2014-04-14 (Mon, 14 Apr 2014) Changed paths: M runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java M runtime/src/test/java/org/teiid/deployers/TestTranslatorUtil.java Log Message: ----------- Merge pull request #228 from rareddy/TEIID-2926 TEIID-2926: fixing the error in returning the default value with transla... Compare: https://github.com/teiid/teiid/compare/ae6190d796ae...fd7cc5bf6443 From shawkins at redhat.com Tue Apr 15 14:56:37 2014 From: shawkins at redhat.com (shawkins) Date: Tue, 15 Apr 2014 11:56:37 -0700 Subject: [teiid-commits] [teiid/teiid] a1985a: TEIID-2928 allowing for multiple security domains Message-ID: <534d80e554807_2cd6ec1d3c3808@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: a1985ab322714b0eafc1ca7754a58b31c15e1d5a https://github.com/teiid/teiid/commit/a1985ab322714b0eafc1ca7754a58b31c15e1d5a Author: shawkins Date: 2014-04-15 (Tue, 15 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/dqp/service/SessionService.java M jboss-integration/src/test/java/org/teiid/jboss/TestJBossSessionServiceImpl.java M runtime/src/main/java/org/teiid/services/SessionServiceImpl.java M runtime/src/main/java/org/teiid/transport/LogonImpl.java M runtime/src/test/java/org/teiid/services/TestSessionServiceImpl.java M runtime/src/test/java/org/teiid/transport/TestLogonImpl.java Log Message: ----------- TEIID-2928 allowing for multiple security domains From teiid-commits at lists.jboss.org Tue Apr 15 21:51:25 2014 From: teiid-commits at lists.jboss.org (teiid-commits at lists.jboss.org) Date: Tue, 15 Apr 2014 21:51:25 -0400 Subject: [teiid-commits] teiid SVN: r4628 - in branches/7.7.x/engine/src: test/java/org/teiid/query/function and 1 other directory. Message-ID: <201404160151.s3G1pP0R024807@svn01.web.mwc.hst.phx2.redhat.com> Author: jolee Date: 2014-04-15 21:51:24 -0400 (Tue, 15 Apr 2014) New Revision: 4628 Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionMethods.java branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java Log: BZ1084108: SQL_TSI_SECOND always returns zero with new implementation of calendar for TIMESTAMPDIFF function Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionMethods.java =================================================================== --- branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionMethods.java 2014-02-20 18:30:52 UTC (rev 4627) +++ branches/7.7.x/engine/src/main/java/org/teiid/query/function/FunctionMethods.java 2014-04-16 01:51:24 UTC (rev 4628) @@ -540,9 +540,9 @@ public static Long timestampDiff(String intervalType, Timestamp ts1Obj, Timestamp ts2Obj) throws FunctionExecutionException { return timestampDiff(intervalType, ts1Obj, ts2Obj, CALENDAR_TIMESTAMPDIFF); - } + } - public static Long timestampDiff(String intervalType, Timestamp ts1Obj, Timestamp ts2Obj, boolean calendarBased) throws FunctionExecutionException { + public static Long timestampDiff(String intervalType, Timestamp ts1Obj, Timestamp ts2Obj, boolean calendarBased) throws FunctionExecutionException { long ts1 = ts1Obj.getTime() / 1000; long ts2 = ts2Obj.getTime() / 1000; @@ -551,80 +551,80 @@ long count = 0; if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_FRAC_SECOND)) { if (Math.abs(tsDiff) > Integer.MAX_VALUE) { - throw new FunctionExecutionException("TEIID31136", "Value is out of range for timestampdiff"); + throw new FunctionExecutionException("TEIID31136", "Value is out of range for timestampdiff"); } - count = tsDiff * 1000000000 + ts2Obj.getNanos() - ts1Obj.getNanos(); - } else if (calendarBased) { - //alternative logic is needed to compute calendar differences - //which looks at elapsed date parts, not total time between - if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_MINUTE)) { - count = ts2 / 60 - ts1 / 60; - } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_HOUR)) { - TimeZone tz = TimestampWithTimezone.getCalendar().getTimeZone(); - if (tz.getDSTSavings() > 0) { - ts1 += tz.getOffset(ts1Obj.getTime())/1000; - ts2 += tz.getOffset(ts2Obj.getTime())/1000; - } - count = ts2 / (60*60) - ts1 / (60*60); - } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_DAY) || intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_WEEK)) { - TimeZone tz = TimestampWithTimezone.getCalendar().getTimeZone(); - if (tz.getDSTSavings() > 0) { - ts1 += tz.getOffset(ts1Obj.getTime())/1000; - ts2 += tz.getOffset(ts2Obj.getTime())/1000; - } - //since we are no effectively using GMT we can simply divide since the unix epoch starts at midnight. - count = ts2 / (60*60*24) - ts1 / (60*60*24); - if (intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_WEEK)) { - //TODO: this behavior matches SQL Server - but not Derby which expects only whole week - - long days = count; - //whole weeks between the two dates - count = count/7; - //check for calendar difference assuming sunday as the first week day - if (days%7!=0) { - int day1 = dayOfWeek(ts1Obj); - int day2 = dayOfWeek(ts2Obj); - int diff = Integer.signum(day2 - day1); - if (diff > 0) { - if (tsDiff < 0) { - count--; - } - } else if (diff < 0) { - if (tsDiff > 0) { - count++; - } - } - } - } - } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_MONTH)) { - Calendar cal = TimestampWithTimezone.getCalendar(); - cal.setTimeInMillis(ts1Obj.getTime()); - int months1 = cal.get(Calendar.YEAR) * 12 + cal.get(Calendar.MONTH); - cal.setTimeInMillis(ts2Obj.getTime()); - int months2 = cal.get(Calendar.YEAR) * 12 + cal.get(Calendar.MONTH); - count = months2 - months1; - } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_QUARTER)) { - Calendar cal = TimestampWithTimezone.getCalendar(); - cal.setTimeInMillis(ts1Obj.getTime()); - int quarters1 = cal.get(Calendar.YEAR) * 4 + cal.get(Calendar.MONTH)/3; - cal.setTimeInMillis(ts2Obj.getTime()); - int quarters2 = cal.get(Calendar.YEAR) * 4 + cal.get(Calendar.MONTH)/3; - count = quarters2 - quarters1; - } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_YEAR)) { - Calendar cal = TimestampWithTimezone.getCalendar(); - cal.setTimeInMillis(ts1Obj.getTime()); - int years1 = cal.get(Calendar.YEAR); - cal.setTimeInMillis(ts2Obj.getTime()); - int years2 = cal.get(Calendar.YEAR); - count = years2 - years1; - } + count = tsDiff * 1000000000 + ts2Obj.getNanos() - ts1Obj.getNanos(); } else { if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_SECOND)) { count = tsDiff; + } else if (calendarBased) { + //alternative logic is needed to compute calendar differences + //which looks at elapsed date parts, not total time between + if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_MINUTE)) { + count = ts2 / 60 - ts1 / 60; + } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_HOUR)) { + TimeZone tz = TimestampWithTimezone.getCalendar().getTimeZone(); + if (tz.getDSTSavings() > 0) { + ts1 += tz.getOffset(ts1Obj.getTime())/1000; + ts2 += tz.getOffset(ts2Obj.getTime())/1000; + } + count = ts2 / (60*60) - ts1 / (60*60); + } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_DAY) || intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_WEEK)) { + TimeZone tz = TimestampWithTimezone.getCalendar().getTimeZone(); + if (tz.getDSTSavings() > 0) { + ts1 += tz.getOffset(ts1Obj.getTime())/1000; + ts2 += tz.getOffset(ts2Obj.getTime())/1000; + } + //since we are no effectively using GMT we can simply divide since the unix epoch starts at midnight. + count = ts2 / (60*60*24) - ts1 / (60*60*24); + if (intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_WEEK)) { + //TODO: this behavior matches SQL Server - but not Derby which expects only whole week + + long days = count; + //whole weeks between the two dates + count = count/7; + //check for calendar difference assuming sunday as the first week day + if (days%7!=0) { + int day1 = dayOfWeek(ts1Obj); + int day2 = dayOfWeek(ts2Obj); + int diff = Integer.signum(day2 - day1); + if (diff > 0) { + if (tsDiff < 0) { + count--; + } + } else if (diff < 0) { + if (tsDiff > 0) { + count++; + } + } + } + } + } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_MONTH)) { + Calendar cal = TimestampWithTimezone.getCalendar(); + cal.setTimeInMillis(ts1Obj.getTime()); + int months1 = cal.get(Calendar.YEAR) * 12 + cal.get(Calendar.MONTH); + cal.setTimeInMillis(ts2Obj.getTime()); + int months2 = cal.get(Calendar.YEAR) * 12 + cal.get(Calendar.MONTH); + count = months2 - months1; + } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_QUARTER)) { + Calendar cal = TimestampWithTimezone.getCalendar(); + cal.setTimeInMillis(ts1Obj.getTime()); + int quarters1 = cal.get(Calendar.YEAR) * 4 + cal.get(Calendar.MONTH)/3; + cal.setTimeInMillis(ts2Obj.getTime()); + int quarters2 = cal.get(Calendar.YEAR) * 4 + cal.get(Calendar.MONTH)/3; + count = quarters2 - quarters1; + } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_YEAR)) { + Calendar cal = TimestampWithTimezone.getCalendar(); + cal.setTimeInMillis(ts1Obj.getTime()); + int years1 = cal.get(Calendar.YEAR); + cal.setTimeInMillis(ts2Obj.getTime()); + int years2 = cal.get(Calendar.YEAR); + count = years2 - years1; + } } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_MINUTE)) { count = tsDiff / 60; } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_HOUR)) { - count = tsDiff / (60*60); + count = tsDiff / (60*60); } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_DAY)) { count = tsDiff / (60*60*24); } else if(intervalType.equalsIgnoreCase(NonReserved.SQL_TSI_WEEK)) { @@ -638,9 +638,9 @@ } } //TODO: long results are not consistent with other sources - /*if (calendarBased && ((count > 0 && count > Integer.MAX_VALUE) || (count < 0 && count < Integer.MIN_VALUE))) { - throw new FunctionExecutionException(QueryPlugin.Event.TEIID31136, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31136)); - }*/ + /*if (calendarBased && ((count > 0 && count > Integer.MAX_VALUE) || (count < 0 && count < Integer.MIN_VALUE))) { + throw new FunctionExecutionException(QueryPlugin.Event.TEIID31136, QueryPlugin.Util.gs(QueryPlugin.Event.TEIID31136)); + }*/ return Long.valueOf(count); } Modified: branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java =================================================================== --- branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java 2014-02-20 18:30:52 UTC (rev 4627) +++ branches/7.7.x/engine/src/test/java/org/teiid/query/function/TestFunctionMethods.java 2014-04-16 01:51:24 UTC (rev 4628) @@ -74,6 +74,12 @@ new Timestamp(TimestampUtil.createDate(404, 3, 13).getTime()), true)); } + @Test public void testTimestampDiffSecond() throws Exception { + assertEquals(Long.valueOf(30), FunctionMethods.timestampDiff(NonReserved.SQL_TSI_SECOND, + new Timestamp(TimestampUtil.createTimestamp(112, 0, 1,0,0,0,0).getTime()), + new Timestamp(TimestampUtil.createTimestamp(112, 0, 1,0,0,30,0).getTime()), true)); + } + @Test public void testTimestampDiffCalendarBasedHour1() throws Exception { TimestampWithTimezone.resetCalendar(TimeZone.getTimeZone("America/New York")); try { From shawkins at redhat.com Wed Apr 16 08:50:34 2014 From: shawkins at redhat.com (shawkins) Date: Wed, 16 Apr 2014 05:50:34 -0700 Subject: [teiid-commits] [teiid/teiid] Message-ID: <534e7c9a4377e_3b7b13e3d3853414@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/tags/teiid-parent-8.7.0.Final Home: https://github.com/teiid/teiid From shawkins at redhat.com Wed Apr 16 08:50:32 2014 From: shawkins at redhat.com (Steve Hawkins) Date: Wed, 16 Apr 2014 05:50:32 -0700 Subject: [teiid-commits] [teiid/teiid] db63eb: [maven-release-plugin] prepare release teiid-paren... Message-ID: <534e7c98db325_3db811afd3c784fb@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: db63eb2d8edef0147d65422d07aa0228b9530747 https://github.com/teiid/teiid/commit/db63eb2d8edef0147d65422d07aa0228b9530747 Author: Steve Hawkins Date: 2014-04-16 (Wed, 16 Apr 2014) Changed paths: M admin/pom.xml M adminshell/pom.xml M api/pom.xml M build/pom.xml M client-jdk15/pom.xml M client/pom.xml M common-core/pom.xml M connectors/connector-accumulo/pom.xml M connectors/connector-cassandra/pom.xml M connectors/connector-file/pom.xml M connectors/connector-google/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-ldap/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-simpledb/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/pom.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/pom.xml M connectors/salesforce-api/pom.xml M connectors/sandbox/pom.xml M connectors/sandbox/translator-yahoo/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-file/pom.xml M connectors/translator-google/pom.xml M connectors/translator-hive/pom.xml M connectors/translator-jdbc/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-ldap/pom.xml M connectors/translator-loopback/pom.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-odata/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-salesforce/pom.xml M connectors/translator-simpledb/pom.xml M connectors/translator-solr/pom.xml M connectors/translator-ws/pom.xml M engine/pom.xml M hibernate-dialect/pom.xml M jboss-integration/pom.xml M metadata/pom.xml M odata/pom.xml M pom.xml M runtime/pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml M test-integration/perf/pom.xml M test-integration/pom.xml Log Message: ----------- [maven-release-plugin] prepare release teiid-parent-8.7.0.Final From shawkins at redhat.com Wed Apr 16 08:50:36 2014 From: shawkins at redhat.com (Steve Hawkins) Date: Wed, 16 Apr 2014 05:50:36 -0700 Subject: [teiid-commits] [teiid/teiid] 5748a1: [maven-release-plugin] prepare for next developmen... Message-ID: <534e7c9cc2122_572b59fd44101964@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 5748a13ade3564cf6069f80b39c5b461cc8e657a https://github.com/teiid/teiid/commit/5748a13ade3564cf6069f80b39c5b461cc8e657a Author: Steve Hawkins Date: 2014-04-16 (Wed, 16 Apr 2014) Changed paths: M admin/pom.xml M adminshell/pom.xml M api/pom.xml M build/pom.xml M client-jdk15/pom.xml M client/pom.xml M common-core/pom.xml M connectors/connector-accumulo/pom.xml M connectors/connector-cassandra/pom.xml M connectors/connector-file/pom.xml M connectors/connector-google/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-ldap/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-simpledb/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/pom.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/pom.xml M connectors/salesforce-api/pom.xml M connectors/sandbox/pom.xml M connectors/sandbox/translator-yahoo/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-file/pom.xml M connectors/translator-google/pom.xml M connectors/translator-hive/pom.xml M connectors/translator-jdbc/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-ldap/pom.xml M connectors/translator-loopback/pom.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-odata/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-salesforce/pom.xml M connectors/translator-simpledb/pom.xml M connectors/translator-solr/pom.xml M connectors/translator-ws/pom.xml M engine/pom.xml M hibernate-dialect/pom.xml M jboss-integration/pom.xml M metadata/pom.xml M odata/pom.xml M pom.xml M runtime/pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml M test-integration/perf/pom.xml M test-integration/pom.xml Log Message: ----------- [maven-release-plugin] prepare for next development iteration From teiid-commits at lists.jboss.org Wed Apr 16 08:56:33 2014 From: teiid-commits at lists.jboss.org (teiid-commits at lists.jboss.org) Date: Wed, 16 Apr 2014 08:56:33 -0400 Subject: [teiid-commits] teiid SVN: r4629 - in branches/7.7.x/engine/src: test/java/org/teiid/query/function/source and 1 other directory. Message-ID: <201404161256.s3GCuXuo003594@svn01.web.mwc.hst.phx2.redhat.com> Author: jolee Date: 2014-04-16 08:56:32 -0400 (Wed, 16 Apr 2014) New Revision: 4629 Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/function/source/XMLSystemFunctions.java branches/7.7.x/engine/src/test/java/org/teiid/query/function/source/TestXMLSystemFunctions.java Log: TEIID-1896 fix for nested json array xml conversion Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/function/source/XMLSystemFunctions.java =================================================================== --- branches/7.7.x/engine/src/main/java/org/teiid/query/function/source/XMLSystemFunctions.java 2014-04-16 01:51:24 UTC (rev 4628) +++ branches/7.7.x/engine/src/main/java/org/teiid/query/function/source/XMLSystemFunctions.java 2014-04-16 12:56:32 UTC (rev 4629) @@ -113,37 +113,33 @@ private static final class JsonToXmlContentHandler implements ContentHandler { private final XMLStreamWriter streamWriter; - private String currentName; - private LinkedList inArray = new LinkedList(); + private boolean rootArray; + private LinkedList nameStack = new LinkedList(); private JsonToXmlContentHandler(String rootName, XMLStreamWriter streamWriter) { this.streamWriter = streamWriter; - this.currentName = rootName; + this.nameStack.push(rootName); } @Override public boolean startObjectEntry(String key) throws org.json.simple.parser.ParseException, IOException { - currentName = key; - start(); + this.nameStack.push(key); return true; } @Override public boolean startObject() throws org.json.simple.parser.ParseException, IOException { - if (inArray.peek()) { - start(); - } - inArray.push(false); + start(); return true; } private void start() throws IOException { try { - streamWriter.writeStartElement(escapeName(currentName, true)); + streamWriter.writeStartElement(escapeName(this.nameStack.peek(), true)); } catch (XMLStreamException e) { throw new IOException(e); } @@ -157,23 +153,22 @@ } catch (XMLStreamException e) { throw new IOException(e); } - inArray.push(false); - start(); } @Override public boolean startArray() throws org.json.simple.parser.ParseException, IOException { - inArray.push(true); + if (this.nameStack.size() == 1) { + this.rootArray = true; + start(); + } return true; } @Override public boolean primitive(Object value) throws org.json.simple.parser.ParseException, IOException { - if (inArray.peek()) { - start(); - } + start(); try { if (value != null) { streamWriter.writeCharacters(value.toString()); @@ -184,9 +179,7 @@ } catch (XMLStreamException e) { throw new IOException(e); } - if (inArray.peek()) { - end(); - } + end(); return true; } @@ -202,24 +195,20 @@ @Override public boolean endObjectEntry() throws org.json.simple.parser.ParseException, IOException { - end(); + this.nameStack.pop(); return true; } @Override public boolean endObject() throws org.json.simple.parser.ParseException, IOException { - inArray.pop(); - if (inArray.peek()) { - end(); - } + end(); return true; } @Override public void endJSON() throws org.json.simple.parser.ParseException, IOException { - end(); try { streamWriter.writeEndDocument(); } catch (XMLStreamException e) { @@ -230,7 +219,9 @@ @Override public boolean endArray() throws org.json.simple.parser.ParseException, IOException { - inArray.pop(); + if (this.nameStack.size() == 1 && rootArray) { + end(); + } return true; } } Modified: branches/7.7.x/engine/src/test/java/org/teiid/query/function/source/TestXMLSystemFunctions.java =================================================================== --- branches/7.7.x/engine/src/test/java/org/teiid/query/function/source/TestXMLSystemFunctions.java 2014-04-16 01:51:24 UTC (rev 4628) +++ branches/7.7.x/engine/src/test/java/org/teiid/query/function/source/TestXMLSystemFunctions.java 2014-04-16 12:56:32 UTC (rev 4629) @@ -194,7 +194,7 @@ @Test public void testJsonToXml() throws Exception { String json = "[0,{\"1\":{\"2\":{\"3\":{\"4\":[5,{\"6\":7}]}}}}]"; - String expected = "0<_u0031_><_u0032_><_u0033_><_u0034_><_u0034_>5<_u0034_><_u0036_>7"; + String expected = "0<_u0031_><_u0032_><_u0033_><_u0034_>5<_u0034_><_u0036_>7"; helpTestJson(json, "Array", expected); } @@ -214,7 +214,7 @@ @Test public void testJsonToXml1() throws Exception { String json = "{ \"firstName\": \"John\", \"lastName\": \"Smith\", \"age\": 25, \"address\": { \"streetAddress\": \"21 2nd Street\", \"city\": \"New York\", \"state\": \"NY\", "+ "\"postalCode\": \"10021\" }, \"phoneNumber\": [ { \"type\": \"home\", \"number\": \"212 555-1234\" }, { \"type\": \"fax\", \"number\": \"646 555-4567\" } ] }"; - String expected = "JohnSmith25
21 2nd StreetNew YorkNY10021
home212 555-1234fax646 555-4567
"; + String expected = "JohnSmith25
21 2nd StreetNew YorkNY10021
home212 555-1234fax646 555-4567
"; helpTestJson(json, "Person", expected); } @@ -224,6 +224,28 @@ helpTestJson(json, "Person", expected); } + @Test public void testJsonToXml3() throws Exception { + String json = "{ \"kids\":[{ \"firstName\" : \"George\" }, { \"firstName\" : \"Jerry\" }]}"; + String expected = "GeorgeJerry"; + helpTestJson(json, "Person", expected); + } + + @Test public void testJsonToXml4() throws Exception { + String json = "{ \"kids\":[{ \"firstName\" : \"George\" }, { \"firstName\" : \"Jerry\" }]}"; + String expected = "GeorgeJerry"; + helpTestJson(json, "Person", expected); + } + + /** + * This shows an ambiguity with the approach in that array/object children of an array cannot be distinguished + * @throws Exception + */ + @Test public void testJsonToXml5() throws Exception { + String json = "[[],{\"x\": 1},[]]"; + String expected = "1"; + helpTestJson(json, "Person", expected); + } + @BeforeClass static public void setUpOnce() { TimeZone.setDefault(TimeZone.getTimeZone("GMT-6:00")); } From teiid-commits at lists.jboss.org Wed Apr 16 11:26:45 2014 From: teiid-commits at lists.jboss.org (teiid-commits at lists.jboss.org) Date: Wed, 16 Apr 2014 11:26:45 -0400 Subject: [teiid-commits] teiid SVN: r4630 - in branches/7.7.x: connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc and 10 other directories. Message-ID: <201404161526.s3GFQjVk005032@svn01.web.mwc.hst.phx2.redhat.com> Author: jolee Date: 2014-04-16 11:26:45 -0400 (Wed, 16 Apr 2014) New Revision: 4630 Added: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/Version.java Modified: branches/7.7.x/common-core/src/main/java/org/teiid/core/util/StringUtil.java branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/db2/DB2ExecutionFactory.java branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/derby/DerbyExecutionFactory.java branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/teiid/TeiidExecutionFactory.java branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/TestJDBCExecutionFactory.java branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/derby/TestDerbyCapabilities.java branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java Log: TEIID-2477: Standardize and correct jdbc database version comparisons Modified: branches/7.7.x/common-core/src/main/java/org/teiid/core/util/StringUtil.java =================================================================== --- branches/7.7.x/common-core/src/main/java/org/teiid/core/util/StringUtil.java 2014-04-16 12:56:32 UTC (rev 4629) +++ branches/7.7.x/common-core/src/main/java/org/teiid/core/util/StringUtil.java 2014-04-16 15:26:45 UTC (rev 4630) @@ -179,6 +179,32 @@ } /** + * Return a stringified version of the array. + * @param array the array + * @param delim the delimiter to use between array components + * @return the string form of the array + */ + public static String toString( final Object[] array, final String delim, boolean includeBrackets) { + if ( array == null ) { + return ""; //$NON-NLS-1$ + } + final StringBuffer sb = new StringBuffer(); + if (includeBrackets) { + sb.append('['); + } + for (int i = 0; i < array.length; ++i) { + if ( i != 0 ) { + sb.append(delim); + } + sb.append(array[i]); + } + if (includeBrackets) { + sb.append(']'); + } + return sb.toString(); + } + + /** * Return a stringified version of the array, using a ',' as a delimiter * @param array the array * @return the string form of the array Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java =================================================================== --- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java 2014-04-16 12:56:32 UTC (rev 4629) +++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCExecutionFactory.java 2014-04-16 15:26:45 UTC (rev 4630) @@ -125,7 +125,7 @@ private String databaseTimeZone; private boolean trimStrings; private boolean useCommentsInSourceQuery; - private String version; + private Version version; private int maxInsertBatchSize = 2048; private DatbaseCalender databaseCalender; @@ -149,12 +149,31 @@ @TranslatorProperty(display="Database Version", description= "Database Version") public String getDatabaseVersion() { - return this.version; + return this.version.toString(); } - public void setDatabaseVersion(String version) { - this.version = version; - } + /** + * Sets the database version. See also {@link #getVersion()} + * @param version + */ + public void setDatabaseVersion(String version) { + this.version = Version.getVersion(version); + } + + public void setDatabaseVersion(Version version) { + this.version = version; + } + + /** + * Get the database version as a comparable object + * @return + */ + protected Version getVersion() { + if (version == null) { + return Version.DEFAULT_VERSION; + } + return this.version; + } @TranslatorProperty(display="Use Bind Variables", description="Use prepared statements and bind variables",advanced=true) public boolean useBindVariables() { Added: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/Version.java =================================================================== --- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/Version.java (rev 0) +++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/Version.java 2014-04-16 15:26:45 UTC (rev 4630) @@ -0,0 +1,117 @@ +/* + * 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.translator.jdbc; + +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import java.util.regex.Matcher; +import java.util.regex.Pattern; + +import org.teiid.core.util.StringUtil; + +/** + * Represents a comparable version + */ +public class Version implements Comparable { + + public static Version DEFAULT_VERSION = new Version(new Integer[] {0}); + private static final Pattern NUMBER_PATTERN = Pattern.compile("(\\d+)"); //$NON-NLS-1$ + + private Integer[] parts; + + public static Version getVersion(String version) { + if (version == null) { + return null; + } + String[] parts = version.split("\\."); //$NON-NLS-1$ + List versionParts = new ArrayList(); + for (String part : parts) { + Integer val = null; + Matcher m = NUMBER_PATTERN.matcher(part); + if (!m.find()) { + continue; + } + + String num = m.group(1); + try { + val = Integer.parseInt(num); + } catch (NumberFormatException e) { + + } + versionParts.add(val == null ? 0 : val); + } + if (versionParts.isEmpty()) { + return DEFAULT_VERSION; + } + return new Version(versionParts.toArray(new Integer[versionParts.size()])); + } + + Version(Integer[] parts) { + this.parts = parts; + } + + @Override + public String toString() { + return StringUtil.toString(this.parts, ".", false); //$NON-NLS-1$ + } + + public int getMajorVersion() { + return parts[0]; + } + + @Override + public int compareTo(Version o) { + int length = Math.min(this.parts.length, o.parts.length); + for (int i = 0; i < length; i++) { + int comp = this.parts[i].compareTo(o.parts[i]); + if (comp != 0) { + return comp; + } + } + if (this.parts.length > length) { + return 1; + } + if (o.parts.length > length) { + return -1; + } + return 0; + } + + @Override + public boolean equals(Object obj) { + if (obj == this) { + return true; + } + if (!(obj instanceof Version)) { + return false; + } + return this.compareTo((Version)obj) == 0; + } + + @Override + public int hashCode() { + return Arrays.hashCode(parts); + } + +} Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/db2/DB2ExecutionFactory.java =================================================================== --- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/db2/DB2ExecutionFactory.java 2014-04-16 12:56:32 UTC (rev 4629) +++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/db2/DB2ExecutionFactory.java 2014-04-16 15:26:45 UTC (rev 4630) @@ -1,153 +1,154 @@ -/* - * 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. - */ - +/* + * 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.translator.jdbc.db2; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.teiid.language.Expression; -import org.teiid.language.Function; -import org.teiid.language.Literal; -import org.teiid.translator.SourceSystemFunctions; -import org.teiid.translator.Translator; -import org.teiid.translator.TranslatorException; -import org.teiid.translator.jdbc.FunctionModifier; - +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; + +import org.teiid.language.Expression; +import org.teiid.language.Function; +import org.teiid.language.Literal; +import org.teiid.translator.SourceSystemFunctions; +import org.teiid.translator.Translator; +import org.teiid.translator.TranslatorException; +import org.teiid.translator.jdbc.FunctionModifier; +import org.teiid.translator.jdbc.Version; + @Translator(name="db2", description="A translator for IBM DB2 Database") -public class DB2ExecutionFactory extends BaseDB2ExecutionFactory { - - public static final String EIGHT_0 = "8.0"; //$NON-NLS-1$ - public static final String NINE_1 = "9.1"; //$NON-NLS-1$ - - public DB2ExecutionFactory() { - setDatabaseVersion(EIGHT_0); - } - - @Override - public List getSupportedFunctions() { - List supportedFunctions = new ArrayList(); - 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("LOG"); //$NON-NLS-1$ - supportedFunctions.add("LOG10"); //$NON-NLS-1$ - supportedFunctions.add("MOD"); //$NON-NLS-1$ - supportedFunctions.add("POWER"); //$NON-NLS-1$ - supportedFunctions.add("RADIANS"); //$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("||"); //$NON-NLS-1$ - //supportedFunctions.add("INITCAP"); //$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("LOWER"); //$NON-NLS-1$ - //supportedFunctions.add("LPAD"); //$NON-NLS-1$ - supportedFunctions.add("LTRIM"); //$NON-NLS-1$ - supportedFunctions.add("RAND"); //$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(SourceSystemFunctions.TRIM); - //supportedFunctions.add("TRANSLATE"); //$NON-NLS-1$ - supportedFunctions.add("UCASE"); //$NON-NLS-1$ - supportedFunctions.add("UPPER"); //$NON-NLS-1$ - supportedFunctions.add("HOUR"); //$NON-NLS-1$ - supportedFunctions.add("MONTH"); //$NON-NLS-1$ - supportedFunctions.add("MONTHNAME"); //$NON-NLS-1$ - supportedFunctions.add("YEAR"); //$NON-NLS-1$ - supportedFunctions.add("DAY"); //$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("QUARTER"); //$NON-NLS-1$ - supportedFunctions.add("MINUTE"); //$NON-NLS-1$ - supportedFunctions.add("SECOND"); //$NON-NLS-1$ - supportedFunctions.add("QUARTER"); //$NON-NLS-1$ - supportedFunctions.add("WEEK"); //$NON-NLS-1$ - supportedFunctions.add("CAST"); //$NON-NLS-1$ - supportedFunctions.add("CONVERT"); //$NON-NLS-1$ - supportedFunctions.add("IFNULL"); //$NON-NLS-1$ - supportedFunctions.add("NVL"); //$NON-NLS-1$ - supportedFunctions.add("COALESCE"); //$NON-NLS-1$ - return supportedFunctions; - } +public class DB2ExecutionFactory extends BaseDB2ExecutionFactory { + + public static final Version EIGHT_0 = Version.getVersion("8.0"); //$NON-NLS-1$ + public static final Version NINE_1 = Version.getVersion("9.1"); //$NON-NLS-1$ + + public DB2ExecutionFactory() { + setDatabaseVersion(EIGHT_0); + } + + @Override + public List getSupportedFunctions() { + List supportedFunctions = new ArrayList(); + 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("LOG"); //$NON-NLS-1$ + supportedFunctions.add("LOG10"); //$NON-NLS-1$ + supportedFunctions.add("MOD"); //$NON-NLS-1$ + supportedFunctions.add("POWER"); //$NON-NLS-1$ + supportedFunctions.add("RADIANS"); //$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("||"); //$NON-NLS-1$ + //supportedFunctions.add("INITCAP"); //$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("LOWER"); //$NON-NLS-1$ + //supportedFunctions.add("LPAD"); //$NON-NLS-1$ + supportedFunctions.add("LTRIM"); //$NON-NLS-1$ + supportedFunctions.add("RAND"); //$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(SourceSystemFunctions.TRIM); + //supportedFunctions.add("TRANSLATE"); //$NON-NLS-1$ + supportedFunctions.add("UCASE"); //$NON-NLS-1$ + supportedFunctions.add("UPPER"); //$NON-NLS-1$ + supportedFunctions.add("HOUR"); //$NON-NLS-1$ + supportedFunctions.add("MONTH"); //$NON-NLS-1$ + supportedFunctions.add("MONTHNAME"); //$NON-NLS-1$ + supportedFunctions.add("YEAR"); //$NON-NLS-1$ + supportedFunctions.add("DAY"); //$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("QUARTER"); //$NON-NLS-1$ + supportedFunctions.add("MINUTE"); //$NON-NLS-1$ + supportedFunctions.add("SECOND"); //$NON-NLS-1$ + supportedFunctions.add("QUARTER"); //$NON-NLS-1$ + supportedFunctions.add("WEEK"); //$NON-NLS-1$ + supportedFunctions.add("CAST"); //$NON-NLS-1$ + supportedFunctions.add("CONVERT"); //$NON-NLS-1$ + supportedFunctions.add("IFNULL"); //$NON-NLS-1$ + supportedFunctions.add("NVL"); //$NON-NLS-1$ + supportedFunctions.add("COALESCE"); //$NON-NLS-1$ + return supportedFunctions; + } - @Override - public boolean supportsFunctionsInGroupBy() { - return true; - } - - @Override - public boolean supportsAggregatesEnhancedNumeric() { - return true; - } - - @Override - public boolean supportsCommonTableExpressions() { - return true; - } - - @Override - public boolean supportsRowLimit() { - return true; - } - - @Override - public boolean supportsElementaryOlapOperations() { - return getDatabaseVersion().compareTo(NINE_1) >= 0; - } - - @Override - public void start() throws TranslatorException { - super.start(); - registerFunctionModifier(SourceSystemFunctions.TRIM, new FunctionModifier() { - - @Override - public List translate(Function function) { - List p = function.getParameters(); - return Arrays.asList("STRIP(", p.get(2), ", ", ((Literal)p.get(0)).getValue(), ", ", p.get(1), ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ - } - }); - } + @Override + public boolean supportsFunctionsInGroupBy() { + return true; + } + + @Override + public boolean supportsAggregatesEnhancedNumeric() { + return true; + } + + @Override + public boolean supportsCommonTableExpressions() { + return true; + } + + @Override + public boolean supportsRowLimit() { + return true; + } + + @Override + public boolean supportsElementaryOlapOperations() { + return getVersion().compareTo(NINE_1) >= 0; + } + + @Override + public void start() throws TranslatorException { + super.start(); + registerFunctionModifier(SourceSystemFunctions.TRIM, new FunctionModifier() { + + @Override + public List translate(Function function) { + List p = function.getParameters(); + return Arrays.asList("STRIP(", p.get(2), ", ", ((Literal)p.get(0)).getValue(), ", ", p.get(1), ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ + } + }); + } } Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/derby/DerbyExecutionFactory.java =================================================================== --- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/derby/DerbyExecutionFactory.java 2014-04-16 12:56:32 UTC (rev 4629) +++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/derby/DerbyExecutionFactory.java 2014-04-16 15:26:45 UTC (rev 4630) @@ -20,8 +20,8 @@ * 02110-1301 USA. */ -package org.teiid.translator.jdbc.derby; - +package org.teiid.translator.jdbc.derby; + import java.util.ArrayList; import java.util.Arrays; import java.util.List; @@ -34,20 +34,21 @@ import org.teiid.translator.TranslatorException; import org.teiid.translator.TypeFacility; import org.teiid.translator.jdbc.EscapeSyntaxModifier; +import org.teiid.translator.jdbc.Version; import org.teiid.translator.jdbc.db2.BaseDB2ExecutionFactory; import org.teiid.translator.jdbc.oracle.LeftOrRightFunctionModifier; -/** - * @since 4.3 +/** + * @since 4.3 */ - at Translator(name="derby", description="A translator for Apache Derby Database") + at Translator(name="derby", description="A translator for Apache Derby Database") public class DerbyExecutionFactory extends BaseDB2ExecutionFactory { - public static final String TEN_1 = "10.1"; //$NON-NLS-1$ - public static final String TEN_2 = "10.2"; //$NON-NLS-1$ - public static final String TEN_3 = "10.3"; //$NON-NLS-1$ - public static final String TEN_4 = "10.4"; //$NON-NLS-1$ - public static final String TEN_5 = "10.5"; //$NON-NLS-1$ + public static final Version TEN_1 = Version.getVersion("10.1"); //$NON-NLS-1$ + public static final Version TEN_2 = Version.getVersion("10.2"); //$NON-NLS-1$ + public static final Version TEN_3 = Version.getVersion("10.3"); //$NON-NLS-1$ + public static final Version TEN_4 = Version.getVersion("10.4"); //$NON-NLS-1$ + public static final Version TEN_5 = Version.getVersion("10.5"); //$NON-NLS-1$ public DerbyExecutionFactory() { setSupportsFullOuterJoins(false); //Derby supports only left and right outer joins. @@ -58,22 +59,22 @@ public void start() throws TranslatorException { super.start(); //additional derby functions - registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new EscapeSyntaxModifier()); registerFunctionModifier(SourceSystemFunctions.TIMESTAMPDIFF, new EscapeSyntaxModifier()); registerFunctionModifier(SourceSystemFunctions.LEFT, new LeftOrRightFunctionModifier(getLanguageFactory())); //overrides of db2 functions registerFunctionModifier(SourceSystemFunctions.CONCAT, new EscapeSyntaxModifier()); - } + } - @Override + @Override public boolean addSourceComment() { return false; } @Override public boolean supportsOrderByNullOrdering() { - return getDatabaseVersion().compareTo(TEN_4) >= 0; + return getVersion().compareTo(TEN_4) >= 0; } @Override @@ -82,12 +83,12 @@ supportedFunctions.addAll(super.getDefaultSupportedFunctions()); supportedFunctions.add("ABS"); //$NON-NLS-1$ - if (getDatabaseVersion().compareTo(TEN_2) >= 0) { + if (getVersion().compareTo(TEN_2) >= 0) { supportedFunctions.add("ACOS"); //$NON-NLS-1$ supportedFunctions.add("ASIN"); //$NON-NLS-1$ supportedFunctions.add("ATAN"); //$NON-NLS-1$ } - if (getDatabaseVersion().compareTo(TEN_4) >= 0) { + if (getVersion().compareTo(TEN_4) >= 0) { supportedFunctions.add("ATAN2"); //$NON-NLS-1$ } // These are executed within the server and never pushed down @@ -95,7 +96,7 @@ //supportedFunctions.add("BITNOT"); //$NON-NLS-1$ //supportedFunctions.add("BITOR"); //$NON-NLS-1$ //supportedFunctions.add("BITXOR"); //$NON-NLS-1$ - if (getDatabaseVersion().compareTo(TEN_2) >= 0) { + if (getVersion().compareTo(TEN_2) >= 0) { supportedFunctions.add("CEILING"); //$NON-NLS-1$ supportedFunctions.add("COS"); //$NON-NLS-1$ supportedFunctions.add("COT"); //$NON-NLS-1$ @@ -106,12 +107,12 @@ supportedFunctions.add("LOG10"); //$NON-NLS-1$ } supportedFunctions.add("MOD"); //$NON-NLS-1$ - if (getDatabaseVersion().compareTo(TEN_2) >= 0) { + if (getVersion().compareTo(TEN_2) >= 0) { supportedFunctions.add("PI"); //$NON-NLS-1$ //supportedFunctions.add("POWER"); //$NON-NLS-1$ supportedFunctions.add("RADIANS"); //$NON-NLS-1$ //supportedFunctions.add("ROUND"); //$NON-NLS-1$ - if (getDatabaseVersion().compareTo(TEN_4) >= 0) { + if (getVersion().compareTo(TEN_4) >= 0) { supportedFunctions.add("SIGN"); //$NON-NLS-1$ } supportedFunctions.add("SIN"); //$NON-NLS-1$ @@ -136,7 +137,7 @@ //supportedFunctions.add("RPAD"); //$NON-NLS-1$ supportedFunctions.add("RTRIM"); //$NON-NLS-1$ supportedFunctions.add("SUBSTRING"); //$NON-NLS-1$ - if (getDatabaseVersion().compareTo(TEN_3) >= 0) { + if (getVersion().compareTo(TEN_3) >= 0) { supportedFunctions.add(SourceSystemFunctions.TRIM); } supportedFunctions.add("UCASE"); //$NON-NLS-1$ @@ -187,7 +188,7 @@ @Override public boolean supportsRowLimit() { - return this.getDatabaseVersion().compareTo(TEN_5) >= 0; + return this.getVersion().compareTo(TEN_5) >= 0; } @Override Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java =================================================================== --- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java 2014-04-16 12:56:32 UTC (rev 4629) +++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/oracle/OracleExecutionFactory.java 2014-04-16 15:26:45 UTC (rev 4630) @@ -60,13 +60,14 @@ import org.teiid.translator.jdbc.LocateFunctionModifier; import org.teiid.translator.jdbc.SQLConversionVisitor; import org.teiid.translator.jdbc.TranslatedCommand; +import org.teiid.translator.jdbc.Version; @Translator(name="oracle", description="A translator for Oracle 9i Database or later") public class OracleExecutionFactory extends JDBCExecutionFactory { - public static final String NINE_0 = "9.0"; //$NON-NLS-1$ - public static final String NINE_2 = "9.2"; //$NON-NLS-1$ + public static final Version NINE_0 = Version.getVersion("9.0"); //$NON-NLS-1$ + public static final Version NINE_2 = Version.getVersion("9.2"); //$NON-NLS-1$ private static final String TIME_FORMAT = "HH24:MI:SS"; //$NON-NLS-1$ private static final String DATE_FORMAT = "YYYY-MM-DD"; //$NON-NLS-1$ @@ -761,7 +762,7 @@ @Override public boolean supportsCommonTableExpressions() { - return getDatabaseVersion().compareTo(NINE_2) >= 0; + return getVersion().compareTo(NINE_2) >= 0; } } Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java =================================================================== --- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java 2014-04-16 12:56:32 UTC (rev 4629) +++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/postgresql/PostgreSQLExecutionFactory.java 2014-04-16 15:26:45 UTC (rev 4630) @@ -1,92 +1,92 @@ -/* - * 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. - */ - +/* + * 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.translator.jdbc.postgresql; -import java.sql.Date; -import java.sql.Time; -import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.List; - -import org.teiid.language.AggregateFunction; -import org.teiid.language.Expression; -import org.teiid.language.Function; -import org.teiid.language.LanguageObject; -import org.teiid.language.Like; -import org.teiid.language.Limit; -import org.teiid.language.Literal; -import org.teiid.language.Like.MatchMode; -import org.teiid.language.SQLConstants.NonReserved; -import org.teiid.translator.ExecutionContext; -import org.teiid.translator.SourceSystemFunctions; -import org.teiid.translator.Translator; -import org.teiid.translator.TranslatorException; -import org.teiid.translator.TypeFacility; -import org.teiid.translator.jdbc.AliasModifier; -import org.teiid.translator.jdbc.ConvertModifier; -import org.teiid.translator.jdbc.EscapeSyntaxModifier; -import org.teiid.translator.jdbc.ExtractFunctionModifier; -import org.teiid.translator.jdbc.FunctionModifier; -import org.teiid.translator.jdbc.JDBCExecutionFactory; -import org.teiid.translator.jdbc.ModFunctionModifier; -import org.teiid.translator.jdbc.oracle.LeftOrRightFunctionModifier; -import org.teiid.translator.jdbc.oracle.MonthOrDayNameFunctionModifier; -import org.teiid.translator.jdbc.oracle.OracleFormatFunctionModifier; - +import java.sql.Date; +import java.sql.Time; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.List; +import org.teiid.language.AggregateFunction; +import org.teiid.language.Expression; +import org.teiid.language.Function; +import org.teiid.language.LanguageObject; +import org.teiid.language.Like; +import org.teiid.language.Limit; +import org.teiid.language.Literal; +import org.teiid.language.Like.MatchMode; +import org.teiid.language.SQLConstants.NonReserved; +import org.teiid.translator.ExecutionContext; +import org.teiid.translator.SourceSystemFunctions; +import org.teiid.translator.Translator; +import org.teiid.translator.TranslatorException; +import org.teiid.translator.TypeFacility; +import org.teiid.translator.jdbc.AliasModifier; +import org.teiid.translator.jdbc.ConvertModifier; +import org.teiid.translator.jdbc.EscapeSyntaxModifier; +import org.teiid.translator.jdbc.ExtractFunctionModifier; +import org.teiid.translator.jdbc.FunctionModifier; +import org.teiid.translator.jdbc.JDBCExecutionFactory; +import org.teiid.translator.jdbc.ModFunctionModifier; +import org.teiid.translator.jdbc.Version; +import org.teiid.translator.jdbc.oracle.LeftOrRightFunctionModifier; +import org.teiid.translator.jdbc.oracle.MonthOrDayNameFunctionModifier; +import org.teiid.translator.jdbc.oracle.OracleFormatFunctionModifier; -/** + + +/** * Translator class for PostgreSQL. Updated to expect a 8.0+ jdbc client * @since 4.3 - */ + */ @Translator(name="postgresql", description="A translator for postgreSQL Database") -public class PostgreSQLExecutionFactory extends JDBCExecutionFactory { - - public static final String EIGHT_0 = "8.0"; //$NON-NLS-1$ - public static final String EIGHT_1 = "8.1"; //$NON-NLS-1$ - public static final String EIGHT_2 = "8.2"; //$NON-NLS-1$ - public static final String EIGHT_3 = "8.3"; //$NON-NLS-1$ - public static final String EIGHT_4 = "8.4"; //$NON-NLS-1$ - - public PostgreSQLExecutionFactory() { - setDatabaseVersion(EIGHT_0); - setMaxDependentInPredicates(1); - setMaxInCriteriaSize(Short.MAX_VALUE - 50); //set a value that is safely smaller than the max in case there are other parameters - } - +public class PostgreSQLExecutionFactory extends JDBCExecutionFactory { + + public static final Version EIGHT_0 = Version.getVersion("8.0"); //$NON-NLS-1$ + public static final Version EIGHT_1 = Version.getVersion("8.1"); //$NON-NLS-1$ + public static final Version EIGHT_2 = Version.getVersion("8.2"); //$NON-NLS-1$ + public static final Version EIGHT_3 = Version.getVersion("8.3"); //$NON-NLS-1$ + public static final Version EIGHT_4 = Version.getVersion("8.4"); //$NON-NLS-1$ + + public PostgreSQLExecutionFactory() { + setMaxDependentInPredicates(1); + setMaxInCriteriaSize(Short.MAX_VALUE - 50); //set a value that is safely smaller than the max in case there are other parameters + } + public void start() throws TranslatorException { //TODO: all of the functions (except for convert) can be handled through just the escape syntax - super.start(); + super.start(); registerFunctionModifier(SourceSystemFunctions.LOG, new AliasModifier("ln")); //$NON-NLS-1$ - registerFunctionModifier(SourceSystemFunctions.LOG10, new AliasModifier("log")); //$NON-NLS-1$ - - registerFunctionModifier(SourceSystemFunctions.BITAND, new AliasModifier("&")); //$NON-NLS-1$ - registerFunctionModifier(SourceSystemFunctions.BITNOT, new AliasModifier("~")); //$NON-NLS-1$ - registerFunctionModifier(SourceSystemFunctions.BITOR, new AliasModifier("|")); //$NON-NLS-1$ - registerFunctionModifier(SourceSystemFunctions.BITXOR, new AliasModifier("#")); //$NON-NLS-1$ + registerFunctionModifier(SourceSystemFunctions.LOG10, new AliasModifier("log")); //$NON-NLS-1$ + registerFunctionModifier(SourceSystemFunctions.BITAND, new AliasModifier("&")); //$NON-NLS-1$ + registerFunctionModifier(SourceSystemFunctions.BITNOT, new AliasModifier("~")); //$NON-NLS-1$ + registerFunctionModifier(SourceSystemFunctions.BITOR, new AliasModifier("|")); //$NON-NLS-1$ + registerFunctionModifier(SourceSystemFunctions.BITXOR, new AliasModifier("#")); //$NON-NLS-1$ + registerFunctionModifier(SourceSystemFunctions.CHAR, new AliasModifier("chr")); //$NON-NLS-1$ registerFunctionModifier(SourceSystemFunctions.CONCAT, new AliasModifier("||")); //$NON-NLS-1$ registerFunctionModifier(SourceSystemFunctions.LCASE, new AliasModifier("lower")); //$NON-NLS-1$ @@ -107,439 +107,439 @@ registerFunctionModifier(SourceSystemFunctions.SECOND, new ExtractFunctionModifier()); registerFunctionModifier(SourceSystemFunctions.WEEK, new ExtractFunctionModifier()); registerFunctionModifier(SourceSystemFunctions.YEAR, new ExtractFunctionModifier()); - registerFunctionModifier(SourceSystemFunctions.LOCATE, new LocateFunctionModifier(getLanguageFactory())); - registerFunctionModifier(SourceSystemFunctions.IFNULL, new AliasModifier("coalesce")); //$NON-NLS-1$ - - registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new OracleFormatFunctionModifier("TO_TIMESTAMP(")); //$NON-NLS-1$ - registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new OracleFormatFunctionModifier("TO_CHAR(")); //$NON-NLS-1$ - - registerFunctionModifier(SourceSystemFunctions.MOD, new ModFunctionModifier("%", getLanguageFactory(), Arrays.asList(TypeFacility.RUNTIME_TYPES.BIG_INTEGER, TypeFacility.RUNTIME_TYPES.BIG_DECIMAL))); //$NON-NLS-1$ - - //specific to 8.2 client or later - registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new EscapeSyntaxModifier()); - registerFunctionModifier(SourceSystemFunctions.TIMESTAMPDIFF, new EscapeSyntaxModifier()); - - registerFunctionModifier(SourceSystemFunctions.ARRAY_GET, new FunctionModifier() { - - @Override - public List translate(Function function) { - return Arrays.asList(function.getParameters().get(0), '[', function.getParameters().get(1), ']'); - } - }); - registerFunctionModifier(SourceSystemFunctions.ARRAY_LENGTH, new FunctionModifier() { - - @Override - public List translate(Function function) { - if (function.getParameters().size() == 1) { - function.getParameters().add(new Literal(1, TypeFacility.RUNTIME_TYPES.INTEGER)); - } - return null; - } - }); - - //add in type conversion - ConvertModifier convertModifier = new ConvertModifier(); - convertModifier.addTypeMapping("boolean", FunctionModifier.BOOLEAN); //$NON-NLS-1$ - convertModifier.addTypeMapping("smallint", FunctionModifier.BYTE, FunctionModifier.SHORT); //$NON-NLS-1$ - convertModifier.addTypeMapping("integer", FunctionModifier.INTEGER); //$NON-NLS-1$ - convertModifier.addTypeMapping("bigint", FunctionModifier.LONG); //$NON-NLS-1$ - convertModifier.addTypeMapping("real", FunctionModifier.FLOAT); //$NON-NLS-1$ - convertModifier.addTypeMapping("float8", FunctionModifier.DOUBLE); //$NON-NLS-1$ - convertModifier.addTypeMapping("numeric(38)", FunctionModifier.BIGINTEGER); //$NON-NLS-1$ - convertModifier.addTypeMapping("decimal", FunctionModifier.BIGDECIMAL); //$NON-NLS-1$ - convertModifier.addTypeMapping("char(1)", FunctionModifier.CHAR); //$NON-NLS-1$ - convertModifier.addTypeMapping("varchar(4000)", FunctionModifier.STRING); //$NON-NLS-1$ - convertModifier.addTypeMapping("date", FunctionModifier.DATE); //$NON-NLS-1$ - convertModifier.addTypeMapping("time", FunctionModifier.TIME); //$NON-NLS-1$ - convertModifier.addTypeMapping("timestamp", FunctionModifier.TIMESTAMP); //$NON-NLS-1$ - convertModifier.addConvert(FunctionModifier.TIME, FunctionModifier.TIMESTAMP, new FunctionModifier() { - @Override - public List translate(Function function) { - return Arrays.asList(function.getParameters().get(0), " + TIMESTAMP '1970-01-01'"); //$NON-NLS-1$ - } - }); - convertModifier.addConvert(FunctionModifier.TIMESTAMP, FunctionModifier.TIME, new FunctionModifier() { - @Override - public List translate(Function function) { - return Arrays.asList("cast(date_trunc('second', ", function.getParameters().get(0), ") AS time)"); //$NON-NLS-1$ //$NON-NLS-2$ - } - }); - convertModifier.addConvert(FunctionModifier.DATE, FunctionModifier.STRING, new ConvertModifier.FormatModifier("to_char", "YYYY-MM-DD")); //$NON-NLS-1$ //$NON-NLS-2$ - convertModifier.addConvert(FunctionModifier.TIME, FunctionModifier.STRING, new ConvertModifier.FormatModifier("to_char", "HH24:MI:SS")); //$NON-NLS-1$ //$NON-NLS-2$ - convertModifier.addConvert(FunctionModifier.TIMESTAMP, FunctionModifier.STRING, new ConvertModifier.FormatModifier("to_char", "YYYY-MM-DD HH24:MI:SS.US")); //$NON-NLS-1$ //$NON-NLS-2$ - convertModifier.addConvert(FunctionModifier.BOOLEAN, FunctionModifier.STRING, new FunctionModifier() { - @Override - public List translate(Function function) { - Expression stringValue = function.getParameters().get(0); - return Arrays.asList("CASE WHEN ", stringValue, " THEN 'true' WHEN not(", stringValue, ") THEN 'false' END"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - } - }); - convertModifier.addSourceConversion(new FunctionModifier() { - @Override - public List translate(Function function) { - ((Literal)function.getParameters().get(1)).setValue("integer"); //$NON-NLS-1$ - return null; - } - }, FunctionModifier.BOOLEAN); - registerFunctionModifier(SourceSystemFunctions.CONVERT, convertModifier); + registerFunctionModifier(SourceSystemFunctions.LOCATE, new LocateFunctionModifier(getLanguageFactory())); + registerFunctionModifier(SourceSystemFunctions.IFNULL, new AliasModifier("coalesce")); //$NON-NLS-1$ + + registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new OracleFormatFunctionModifier("TO_TIMESTAMP(")); //$NON-NLS-1$ + registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new OracleFormatFunctionModifier("TO_CHAR(")); //$NON-NLS-1$ + + registerFunctionModifier(SourceSystemFunctions.MOD, new ModFunctionModifier("%", getLanguageFactory(), Arrays.asList(TypeFacility.RUNTIME_TYPES.BIG_INTEGER, TypeFacility.RUNTIME_TYPES.BIG_DECIMAL))); //$NON-NLS-1$ + + //specific to 8.2 client or later + registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.TIMESTAMPDIFF, new EscapeSyntaxModifier()); + + registerFunctionModifier(SourceSystemFunctions.ARRAY_GET, new FunctionModifier() { + + @Override + public List translate(Function function) { + return Arrays.asList(function.getParameters().get(0), '[', function.getParameters().get(1), ']'); + } + }); + registerFunctionModifier(SourceSystemFunctions.ARRAY_LENGTH, new FunctionModifier() { + + @Override + public List translate(Function function) { + if (function.getParameters().size() == 1) { + function.getParameters().add(new Literal(1, TypeFacility.RUNTIME_TYPES.INTEGER)); + } + return null; + } + }); + + //add in type conversion + ConvertModifier convertModifier = new ConvertModifier(); + convertModifier.addTypeMapping("boolean", FunctionModifier.BOOLEAN); //$NON-NLS-1$ + convertModifier.addTypeMapping("smallint", FunctionModifier.BYTE, FunctionModifier.SHORT); //$NON-NLS-1$ + convertModifier.addTypeMapping("integer", FunctionModifier.INTEGER); //$NON-NLS-1$ + convertModifier.addTypeMapping("bigint", FunctionModifier.LONG); //$NON-NLS-1$ + convertModifier.addTypeMapping("real", FunctionModifier.FLOAT); //$NON-NLS-1$ + convertModifier.addTypeMapping("float8", FunctionModifier.DOUBLE); //$NON-NLS-1$ + convertModifier.addTypeMapping("numeric(38)", FunctionModifier.BIGINTEGER); //$NON-NLS-1$ + convertModifier.addTypeMapping("decimal", FunctionModifier.BIGDECIMAL); //$NON-NLS-1$ + convertModifier.addTypeMapping("char(1)", FunctionModifier.CHAR); //$NON-NLS-1$ + convertModifier.addTypeMapping("varchar(4000)", FunctionModifier.STRING); //$NON-NLS-1$ + convertModifier.addTypeMapping("date", FunctionModifier.DATE); //$NON-NLS-1$ + convertModifier.addTypeMapping("time", FunctionModifier.TIME); //$NON-NLS-1$ + convertModifier.addTypeMapping("timestamp", FunctionModifier.TIMESTAMP); //$NON-NLS-1$ + convertModifier.addConvert(FunctionModifier.TIME, FunctionModifier.TIMESTAMP, new FunctionModifier() { + @Override + public List translate(Function function) { + return Arrays.asList(function.getParameters().get(0), " + TIMESTAMP '1970-01-01'"); //$NON-NLS-1$ + } + }); + convertModifier.addConvert(FunctionModifier.TIMESTAMP, FunctionModifier.TIME, new FunctionModifier() { + @Override + public List translate(Function function) { + return Arrays.asList("cast(date_trunc('second', ", function.getParameters().get(0), ") AS time)"); //$NON-NLS-1$ //$NON-NLS-2$ + } + }); + convertModifier.addConvert(FunctionModifier.DATE, FunctionModifier.STRING, new ConvertModifier.FormatModifier("to_char", "YYYY-MM-DD")); //$NON-NLS-1$ //$NON-NLS-2$ + convertModifier.addConvert(FunctionModifier.TIME, FunctionModifier.STRING, new ConvertModifier.FormatModifier("to_char", "HH24:MI:SS")); //$NON-NLS-1$ //$NON-NLS-2$ + convertModifier.addConvert(FunctionModifier.TIMESTAMP, FunctionModifier.STRING, new ConvertModifier.FormatModifier("to_char", "YYYY-MM-DD HH24:MI:SS.US")); //$NON-NLS-1$ //$NON-NLS-2$ + convertModifier.addConvert(FunctionModifier.BOOLEAN, FunctionModifier.STRING, new FunctionModifier() { + @Override + public List translate(Function function) { + Expression stringValue = function.getParameters().get(0); + return Arrays.asList("CASE WHEN ", stringValue, " THEN 'true' WHEN not(", stringValue, ") THEN 'false' END"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + } + }); + convertModifier.addSourceConversion(new FunctionModifier() { + @Override + public List translate(Function function) { + ((Literal)function.getParameters().get(1)).setValue("integer"); //$NON-NLS-1$ + return null; + } + }, FunctionModifier.BOOLEAN); + registerFunctionModifier(SourceSystemFunctions.CONVERT, convertModifier); } - + @Override - public String translateLiteralBoolean(Boolean booleanValue) { - if(booleanValue.booleanValue()) { - return "TRUE"; //$NON-NLS-1$ - } - return "FALSE"; //$NON-NLS-1$ - } - - @Override - public String translateLiteralDate(Date dateValue) { - return "DATE '" + formatDateValue(dateValue) + "'"; //$NON-NLS-1$//$NON-NLS-2$ - } - - @Override - public String translateLiteralTime(Time timeValue) { - return "TIME '" + formatDateValue(timeValue) + "'"; //$NON-NLS-1$//$NON-NLS-2$ - } - - @Override - public String translateLiteralTimestamp(Timestamp timestampValue) { - return "TIMESTAMP '" + formatDateValue(timestampValue) + "'"; //$NON-NLS-1$//$NON-NLS-2$ - } - - @Override - public int getTimestampNanoPrecision() { - return 6; - } - - @SuppressWarnings("unchecked") - @Override - public List translateLimit(Limit limit, ExecutionContext context) { - if (limit.getRowOffset() > 0) { - return Arrays.asList("LIMIT ", limit.getRowLimit(), " OFFSET ", limit.getRowOffset()); //$NON-NLS-1$ //$NON-NLS-2$ - } - return null; - } - - /** - * Postgres doesn't provide min/max(boolean), so this conversion writes a min(BooleanValue) as - * bool_and(BooleanValue) - * @see org.teiid.language.visitor.LanguageObjectVisitor#visit(org.teiid.language.AggregateFunction) - * @since 4.3 - */ - @Override - public List translate(LanguageObject obj, ExecutionContext context) { - if (obj instanceof AggregateFunction) { - AggregateFunction agg = (AggregateFunction)obj; - if (agg.getExpression() != null && TypeFacility.RUNTIME_TYPES.BOOLEAN.equals(agg.getExpression().getType())) { - if (agg.getName().equalsIgnoreCase(NonReserved.MIN)) { - agg.setName("bool_and"); //$NON-NLS-1$ - } else if (agg.getName().equalsIgnoreCase(NonReserved.MAX)) { - agg.setName("bool_or"); //$NON-NLS-1$ - } - } - } else if (obj instanceof Like) { - Like like = (Like)obj; - if (like.getMode() == MatchMode.REGEX) { - return Arrays.asList(like.getLeftExpression(), like.isNegated()?" !~ ":" ~ ", like.getRightExpression()); //$NON-NLS-1$ //$NON-NLS-2$ - } - } - return super.translate(obj, context); - } - - @Override - public NullOrder getDefaultNullOrder() { - return NullOrder.HIGH; - } - - @Override - public boolean supportsOrderByNullOrdering() { - return getDatabaseVersion().compareTo(EIGHT_4) >= 0; - } - - @Override - public List getSupportedFunctions() { - List supportedFunctions = new ArrayList(); - 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("BITAND"); //$NON-NLS-1$ - supportedFunctions.add("BITNOT"); //$NON-NLS-1$ - supportedFunctions.add("BITOR"); //$NON-NLS-1$ - supportedFunctions.add("BITXOR"); //$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$ - // These should not be pushed down since the grammar for string conversion is different -// 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("PI"); //$NON-NLS-1$ - supportedFunctions.add("POWER"); //$NON-NLS-1$ - supportedFunctions.add("RADIANS"); //$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("CHR"); //$NON-NLS-1$ - supportedFunctions.add("CHAR"); //$NON-NLS-1$ - supportedFunctions.add("||"); //$NON-NLS-1$ - supportedFunctions.add("CONCAT"); //$NON-NLS-1$ - supportedFunctions.add("INITCAP"); //$NON-NLS-1$ - supportedFunctions.add("LCASE"); //$NON-NLS-1$ - supportedFunctions.add("LEFT"); //$NON-NLS-1$ - supportedFunctions.add("LENGTH"); //$NON-NLS-1$ - supportedFunctions.add("LOCATE"); //$NON-NLS-1$ - supportedFunctions.add("LOWER"); //$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("RIGHT"); //$NON-NLS-1$ - supportedFunctions.add("RPAD"); //$NON-NLS-1$ - supportedFunctions.add("RTRIM"); //$NON-NLS-1$ - supportedFunctions.add("SUBSTRING"); //$NON-NLS-1$ - supportedFunctions.add(SourceSystemFunctions.TRIM); - supportedFunctions.add("UCASE"); //$NON-NLS-1$ - supportedFunctions.add("UPPER"); //$NON-NLS-1$ - - // These are executed within the server and never pushed down -// 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$ - // These should not be pushed down since the grammar for string conversion is different -// 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$ - // These should not be pushed down since the grammar for string conversion is different -// supportedFunctions.add("PARSEDATE"); //$NON-NLS-1$ -// supportedFunctions.add("PARSETIME"); //$NON-NLS-1$ -// supportedFunctions.add("PARSETIMESTAMP"); //$NON-NLS-1$ - supportedFunctions.add("QUARTER"); //$NON-NLS-1$ - supportedFunctions.add("SECOND"); //$NON-NLS-1$ - if (this.getDatabaseVersion().compareTo(EIGHT_2) >= 0) { - 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("CAST"); //$NON-NLS-1$ - supportedFunctions.add("CONVERT"); //$NON-NLS-1$ - supportedFunctions.add("IFNULL"); //$NON-NLS-1$ - supportedFunctions.add("NVL"); //$NON-NLS-1$ - - // Additional functions -// // Math -// supportedFunctions.add("%"); //$NON-NLS-1$ -// supportedFunctions.add("^"); //$NON-NLS-1$ -// supportedFunctions.add("|/"); //$NON-NLS-1$ -// supportedFunctions.add("||/"); //$NON-NLS-1$ -// supportedFunctions.add("!"); //$NON-NLS-1$ -// supportedFunctions.add("!!"); //$NON-NLS-1$ -// supportedFunctions.add("@"); //$NON-NLS-1$ -// // Bit manipulation -// supportedFunctions.add("&"); //$NON-NLS-1$ -// supportedFunctions.add("|"); //$NON-NLS-1$ -// supportedFunctions.add("#"); //$NON-NLS-1$ -// supportedFunctions.add("~"); //$NON-NLS-1$ -// supportedFunctions.add("<<"); //$NON-NLS-1$ -// supportedFunctions.add(">>"); //$NON-NLS-1$ -// -// supportedFunctions.add("CBRT"); //$NON-NLS-1$ -// supportedFunctions.add("CEIL"); //$NON-NLS-1$ -// supportedFunctions.add("LN"); //$NON-NLS-1$ -// supportedFunctions.add("MOD"); //$NON-NLS-1$ -// supportedFunctions.add("RANDOM"); //$NON-NLS-1$ -// supportedFunctions.add("SETSEED"); //$NON-NLS-1$ -// supportedFunctions.add("TRUNC"); //$NON-NLS-1$ -// supportedFunctions.add("WIDTH_BUCKET"); //$NON-NLS-1$ -// -// // String -// supportedFunctions.add("BIT_LENGTH"); //$NON-NLS-1$ -// supportedFunctions.add("BTRIM"); //$NON-NLS-1$ -// supportedFunctions.add("CHAR_LENGTH"); //$NON-NLS-1$ -// supportedFunctions.add("CHARACTER_LENGTH"); //$NON-NLS-1$ -// supportedFunctions.add("DECODE"); //$NON-NLS-1$ -// supportedFunctions.add("ENCODE"); //$NON-NLS-1$ -// supportedFunctions.add("MD5"); //$NON-NLS-1$ -// supportedFunctions.add("OCTET_LENGTH"); //$NON-NLS-1$ -// supportedFunctions.add("PG_CLIENT_ENCODING"); //$NON-NLS-1$ -// supportedFunctions.add("QUOTE_IDENT"); //$NON-NLS-1$ -// supportedFunctions.add("QUOTE_LITERAL"); //$NON-NLS-1$ -// supportedFunctions.add("SPLIT_PART"); //$NON-NLS-1$ -// supportedFunctions.add("STRPOS"); //$NON-NLS-1$ -// supportedFunctions.add("SUBSTR"); //$NON-NLS-1$ -// supportedFunctions.add("TO_ASCII"); //$NON-NLS-1$ -// supportedFunctions.add("TO_HEX"); //$NON-NLS-1$ -// supportedFunctions.add("TRANSLATE"); //$NON-NLS-1$ -// -// // Bit operations -// supportedFunctions.add("GET_BIT"); //$NON-NLS-1$ -// supportedFunctions.add("GET_BYTE"); //$NON-NLS-1$ -// supportedFunctions.add("SET_BIT"); //$NON-NLS-1$ -// supportedFunctions.add("SET_BYTE"); //$NON-NLS-1$ -// -// // Formatting -// supportedFunctions.add("TO_CHAR"); //$NON-NLS-1$ -// supportedFunctions.add("TO_DATE"); //$NON-NLS-1$ -// supportedFunctions.add("TO_TIMESTAMP"); //$NON-NLS-1$ -// supportedFunctions.add("TO_NUMBER"); //$NON-NLS-1$ -// -// // Date / Time -// supportedFunctions.add("AGE"); //$NON-NLS-1$ -// supportedFunctions.add("CURRENT_DATE"); //$NON-NLS-1$ // no () -// supportedFunctions.add("CURRENT_TIME"); //$NON-NLS-1$ // no () -// supportedFunctions.add("CURRENT_TIMESTAMP"); //$NON-NLS-1$ // no () -// supportedFunctions.add("DATE_PART"); //$NON-NLS-1$ -// supportedFunctions.add("DATE_TRUNC"); //$NON-NLS-1$ -// supportedFunctions.add("ISFINITE"); //$NON-NLS-1$ -// supportedFunctions.add("JUSTIFY_HOURS"); //$NON-NLS-1$ -// supportedFunctions.add("JUSTIFY_DAYS"); //$NON-NLS-1$ -// supportedFunctions.add("LOCALTIME"); //$NON-NLS-1$ // no () -// supportedFunctions.add("LOCALTIMESTAMP"); //$NON-NLS-1$ // no () -// supportedFunctions.add("TIMEOFDAY"); //$NON-NLS-1$ -// -// // Conditional - supportedFunctions.add("COALESCE"); //$NON-NLS-1$ -// supportedFunctions.add("NULLIF"); //$NON-NLS-1$ -// supportedFunctions.add("GREATEST"); //$NON-NLS-1$ -// supportedFunctions.add("LEAST"); //$NON-NLS-1$ -// -// // Network Addresses -//// supportedFunctions.add("BROADCAST"); //$NON-NLS-1$ -//// supportedFunctions.add("HOST"); //$NON-NLS-1$ -//// supportedFunctions.add("MASKLEN"); //$NON-NLS-1$ -//// supportedFunctions.add("SET_MASKLEN"); //$NON-NLS-1$ -//// supportedFunctions.add("NETMASK"); //$NON-NLS-1$ -//// supportedFunctions.add("HOSTMASK"); //$NON-NLS-1$ -//// supportedFunctions.add("NETWORK"); //$NON-NLS-1$ -//// supportedFunctions.add("TEXT"); //$NON-NLS-1$ -//// supportedFunctions.add("ABBREV"); //$NON-NLS-1$ -//// supportedFunctions.add("FAMILY"); //$NON-NLS-1$ -//// supportedFunctions.add("TRUNC"); //$NON-NLS-1$ -// -// // Set generator -// supportedFunctions.add("GENERATE_SERIES"); //$NON-NLS-1$ -// -// // Information -// supportedFunctions.add("CURRENT_DATABASE"); //$NON-NLS-1$ -// supportedFunctions.add("CURRENT_SCHEMA"); //$NON-NLS-1$ -// supportedFunctions.add("CURRENT_SCHEMAS"); //$NON-NLS-1$ -// supportedFunctions.add("CURRENT_USER"); //$NON-NLS-1$ // no () -// supportedFunctions.add("INET_CLIENT_ADDR"); //$NON-NLS-1$ -// supportedFunctions.add("INET_CLIENT_PORT"); //$NON-NLS-1$ -// supportedFunctions.add("INET_SERVER_ADDR"); //$NON-NLS-1$ -// supportedFunctions.add("INET_SERVER_PORT"); //$NON-NLS-1$ -// supportedFunctions.add("SESSION_USER"); //$NON-NLS-1$ // no () -// supportedFunctions.add("USER"); //$NON-NLS-1$ // no () -// supportedFunctions.add("VERSION"); //$NON-NLS-1$ -// - supportedFunctions.add(SourceSystemFunctions.ARRAY_GET); - supportedFunctions.add(SourceSystemFunctions.ARRAY_LENGTH); - supportedFunctions.add(SourceSystemFunctions.FORMATTIMESTAMP); - supportedFunctions.add(SourceSystemFunctions.PARSETIMESTAMP); - return supportedFunctions; - } - - /** - * This is true only after Postgre version 7.1 - * However, since version 7 was released in 2000 we'll assume a post 7 instance. - */ - public boolean supportsInlineViews() { - return true; - } - - @Override - public boolean supportsRowLimit() { - return true; - } - @Override - public boolean supportsRowOffset() { - return true; - } - - @Override - public boolean supportsExcept() { - return true; - } - - @Override - public boolean supportsIntersect() { - return true; - } - - @Override - public boolean supportsAggregatesEnhancedNumeric() { - return getDatabaseVersion().compareTo(EIGHT_2) >= 0; - } - - @Override - public boolean supportsCommonTableExpressions() { - return getDatabaseVersion().compareTo(EIGHT_4) >= 0; - } - - @Override - public boolean supportsArrayAgg() { - return getDatabaseVersion().compareTo(EIGHT_4) >= 0; - } - - @Override - public boolean supportsElementaryOlapOperations() { - return getDatabaseVersion().compareTo(EIGHT_4) >= 0; - } - - @Override - public boolean supportsWindowDistinctAggregates() { - return false; - } - - @Override - public boolean supportsSimilarTo() { - return true; - } - - @Override - public boolean supportsLikeRegex() { - return true; - } - - @Override - public boolean supportsOnlyFormatLiterals() { - return true; - } - - @Override - public boolean supportsFormatLiteral(String literal, - org.teiid.translator.ExecutionFactory.Format format) { - if (format == Format.NUMBER) { - return false; - } - return OracleFormatFunctionModifier.supportsLiteral(literal); - } - + public String translateLiteralBoolean(Boolean booleanValue) { + if(booleanValue.booleanValue()) { + return "TRUE"; //$NON-NLS-1$ + } + return "FALSE"; //$NON-NLS-1$ + } + + @Override + public String translateLiteralDate(Date dateValue) { + return "DATE '" + formatDateValue(dateValue) + "'"; //$NON-NLS-1$//$NON-NLS-2$ + } + + @Override + public String translateLiteralTime(Time timeValue) { + return "TIME '" + formatDateValue(timeValue) + "'"; //$NON-NLS-1$//$NON-NLS-2$ + } + + @Override + public String translateLiteralTimestamp(Timestamp timestampValue) { + return "TIMESTAMP '" + formatDateValue(timestampValue) + "'"; //$NON-NLS-1$//$NON-NLS-2$ + } + + @Override + public int getTimestampNanoPrecision() { + return 6; + } + + @SuppressWarnings("unchecked") + @Override + public List translateLimit(Limit limit, ExecutionContext context) { + if (limit.getRowOffset() > 0) { + return Arrays.asList("LIMIT ", limit.getRowLimit(), " OFFSET ", limit.getRowOffset()); //$NON-NLS-1$ //$NON-NLS-2$ + } + return null; + } + + /** + * Postgres doesn't provide min/max(boolean), so this conversion writes a min(BooleanValue) as + * bool_and(BooleanValue) + * @see org.teiid.language.visitor.LanguageObjectVisitor#visit(org.teiid.language.AggregateFunction) + * @since 4.3 + */ + @Override + public List translate(LanguageObject obj, ExecutionContext context) { + if (obj instanceof AggregateFunction) { + AggregateFunction agg = (AggregateFunction)obj; + if (agg.getExpression() != null && TypeFacility.RUNTIME_TYPES.BOOLEAN.equals(agg.getExpression().getType())) { + if (agg.getName().equalsIgnoreCase(NonReserved.MIN)) { + agg.setName("bool_and"); //$NON-NLS-1$ + } else if (agg.getName().equalsIgnoreCase(NonReserved.MAX)) { + agg.setName("bool_or"); //$NON-NLS-1$ + } + } + } else if (obj instanceof Like) { + Like like = (Like)obj; + if (like.getMode() == MatchMode.REGEX) { + return Arrays.asList(like.getLeftExpression(), like.isNegated()?" !~ ":" ~ ", like.getRightExpression()); //$NON-NLS-1$ //$NON-NLS-2$ + } + } + return super.translate(obj, context); + } + + @Override + public NullOrder getDefaultNullOrder() { + return NullOrder.HIGH; + } + + @Override + public boolean supportsOrderByNullOrdering() { + return getVersion().compareTo(EIGHT_4) >= 0; + } + + @Override + public List getSupportedFunctions() { + List supportedFunctions = new ArrayList(); + 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("BITAND"); //$NON-NLS-1$ + supportedFunctions.add("BITNOT"); //$NON-NLS-1$ + supportedFunctions.add("BITOR"); //$NON-NLS-1$ + supportedFunctions.add("BITXOR"); //$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$ + // These should not be pushed down since the grammar for string conversion is different +// 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("PI"); //$NON-NLS-1$ + supportedFunctions.add("POWER"); //$NON-NLS-1$ + supportedFunctions.add("RADIANS"); //$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("CHR"); //$NON-NLS-1$ + supportedFunctions.add("CHAR"); //$NON-NLS-1$ + supportedFunctions.add("||"); //$NON-NLS-1$ + supportedFunctions.add("CONCAT"); //$NON-NLS-1$ + supportedFunctions.add("INITCAP"); //$NON-NLS-1$ + supportedFunctions.add("LCASE"); //$NON-NLS-1$ + supportedFunctions.add("LEFT"); //$NON-NLS-1$ + supportedFunctions.add("LENGTH"); //$NON-NLS-1$ + supportedFunctions.add("LOCATE"); //$NON-NLS-1$ + supportedFunctions.add("LOWER"); //$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("RIGHT"); //$NON-NLS-1$ + supportedFunctions.add("RPAD"); //$NON-NLS-1$ + supportedFunctions.add("RTRIM"); //$NON-NLS-1$ + supportedFunctions.add("SUBSTRING"); //$NON-NLS-1$ + supportedFunctions.add(SourceSystemFunctions.TRIM); + supportedFunctions.add("UCASE"); //$NON-NLS-1$ + supportedFunctions.add("UPPER"); //$NON-NLS-1$ + + // These are executed within the server and never pushed down +// 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$ + // These should not be pushed down since the grammar for string conversion is different +// 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$ + // These should not be pushed down since the grammar for string conversion is different +// supportedFunctions.add("PARSEDATE"); //$NON-NLS-1$ +// supportedFunctions.add("PARSETIME"); //$NON-NLS-1$ +// supportedFunctions.add("PARSETIMESTAMP"); //$NON-NLS-1$ + supportedFunctions.add("QUARTER"); //$NON-NLS-1$ + supportedFunctions.add("SECOND"); //$NON-NLS-1$ + if (this.getVersion().compareTo(EIGHT_2) >= 0) { + 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("CAST"); //$NON-NLS-1$ + supportedFunctions.add("CONVERT"); //$NON-NLS-1$ + supportedFunctions.add("IFNULL"); //$NON-NLS-1$ + supportedFunctions.add("NVL"); //$NON-NLS-1$ + + // Additional functions +// // Math +// supportedFunctions.add("%"); //$NON-NLS-1$ +// supportedFunctions.add("^"); //$NON-NLS-1$ +// supportedFunctions.add("|/"); //$NON-NLS-1$ +// supportedFunctions.add("||/"); //$NON-NLS-1$ +// supportedFunctions.add("!"); //$NON-NLS-1$ +// supportedFunctions.add("!!"); //$NON-NLS-1$ +// supportedFunctions.add("@"); //$NON-NLS-1$ +// // Bit manipulation +// supportedFunctions.add("&"); //$NON-NLS-1$ +// supportedFunctions.add("|"); //$NON-NLS-1$ +// supportedFunctions.add("#"); //$NON-NLS-1$ +// supportedFunctions.add("~"); //$NON-NLS-1$ +// supportedFunctions.add("<<"); //$NON-NLS-1$ +// supportedFunctions.add(">>"); //$NON-NLS-1$ +// +// supportedFunctions.add("CBRT"); //$NON-NLS-1$ +// supportedFunctions.add("CEIL"); //$NON-NLS-1$ +// supportedFunctions.add("LN"); //$NON-NLS-1$ +// supportedFunctions.add("MOD"); //$NON-NLS-1$ +// supportedFunctions.add("RANDOM"); //$NON-NLS-1$ +// supportedFunctions.add("SETSEED"); //$NON-NLS-1$ +// supportedFunctions.add("TRUNC"); //$NON-NLS-1$ +// supportedFunctions.add("WIDTH_BUCKET"); //$NON-NLS-1$ +// +// // String +// supportedFunctions.add("BIT_LENGTH"); //$NON-NLS-1$ +// supportedFunctions.add("BTRIM"); //$NON-NLS-1$ +// supportedFunctions.add("CHAR_LENGTH"); //$NON-NLS-1$ +// supportedFunctions.add("CHARACTER_LENGTH"); //$NON-NLS-1$ +// supportedFunctions.add("DECODE"); //$NON-NLS-1$ +// supportedFunctions.add("ENCODE"); //$NON-NLS-1$ +// supportedFunctions.add("MD5"); //$NON-NLS-1$ +// supportedFunctions.add("OCTET_LENGTH"); //$NON-NLS-1$ +// supportedFunctions.add("PG_CLIENT_ENCODING"); //$NON-NLS-1$ +// supportedFunctions.add("QUOTE_IDENT"); //$NON-NLS-1$ +// supportedFunctions.add("QUOTE_LITERAL"); //$NON-NLS-1$ +// supportedFunctions.add("SPLIT_PART"); //$NON-NLS-1$ +// supportedFunctions.add("STRPOS"); //$NON-NLS-1$ +// supportedFunctions.add("SUBSTR"); //$NON-NLS-1$ +// supportedFunctions.add("TO_ASCII"); //$NON-NLS-1$ +// supportedFunctions.add("TO_HEX"); //$NON-NLS-1$ +// supportedFunctions.add("TRANSLATE"); //$NON-NLS-1$ +// +// // Bit operations +// supportedFunctions.add("GET_BIT"); //$NON-NLS-1$ +// supportedFunctions.add("GET_BYTE"); //$NON-NLS-1$ +// supportedFunctions.add("SET_BIT"); //$NON-NLS-1$ +// supportedFunctions.add("SET_BYTE"); //$NON-NLS-1$ +// +// // Formatting +// supportedFunctions.add("TO_CHAR"); //$NON-NLS-1$ +// supportedFunctions.add("TO_DATE"); //$NON-NLS-1$ +// supportedFunctions.add("TO_TIMESTAMP"); //$NON-NLS-1$ +// supportedFunctions.add("TO_NUMBER"); //$NON-NLS-1$ +// +// // Date / Time +// supportedFunctions.add("AGE"); //$NON-NLS-1$ +// supportedFunctions.add("CURRENT_DATE"); //$NON-NLS-1$ // no () +// supportedFunctions.add("CURRENT_TIME"); //$NON-NLS-1$ // no () +// supportedFunctions.add("CURRENT_TIMESTAMP"); //$NON-NLS-1$ // no () +// supportedFunctions.add("DATE_PART"); //$NON-NLS-1$ +// supportedFunctions.add("DATE_TRUNC"); //$NON-NLS-1$ +// supportedFunctions.add("ISFINITE"); //$NON-NLS-1$ +// supportedFunctions.add("JUSTIFY_HOURS"); //$NON-NLS-1$ +// supportedFunctions.add("JUSTIFY_DAYS"); //$NON-NLS-1$ +// supportedFunctions.add("LOCALTIME"); //$NON-NLS-1$ // no () +// supportedFunctions.add("LOCALTIMESTAMP"); //$NON-NLS-1$ // no () +// supportedFunctions.add("TIMEOFDAY"); //$NON-NLS-1$ +// +// // Conditional + supportedFunctions.add("COALESCE"); //$NON-NLS-1$ +// supportedFunctions.add("NULLIF"); //$NON-NLS-1$ +// supportedFunctions.add("GREATEST"); //$NON-NLS-1$ +// supportedFunctions.add("LEAST"); //$NON-NLS-1$ +// +// // Network Addresses +//// supportedFunctions.add("BROADCAST"); //$NON-NLS-1$ +//// supportedFunctions.add("HOST"); //$NON-NLS-1$ +//// supportedFunctions.add("MASKLEN"); //$NON-NLS-1$ +//// supportedFunctions.add("SET_MASKLEN"); //$NON-NLS-1$ +//// supportedFunctions.add("NETMASK"); //$NON-NLS-1$ +//// supportedFunctions.add("HOSTMASK"); //$NON-NLS-1$ +//// supportedFunctions.add("NETWORK"); //$NON-NLS-1$ +//// supportedFunctions.add("TEXT"); //$NON-NLS-1$ +//// supportedFunctions.add("ABBREV"); //$NON-NLS-1$ +//// supportedFunctions.add("FAMILY"); //$NON-NLS-1$ +//// supportedFunctions.add("TRUNC"); //$NON-NLS-1$ +// +// // Set generator +// supportedFunctions.add("GENERATE_SERIES"); //$NON-NLS-1$ +// +// // Information +// supportedFunctions.add("CURRENT_DATABASE"); //$NON-NLS-1$ +// supportedFunctions.add("CURRENT_SCHEMA"); //$NON-NLS-1$ +// supportedFunctions.add("CURRENT_SCHEMAS"); //$NON-NLS-1$ +// supportedFunctions.add("CURRENT_USER"); //$NON-NLS-1$ // no () +// supportedFunctions.add("INET_CLIENT_ADDR"); //$NON-NLS-1$ +// supportedFunctions.add("INET_CLIENT_PORT"); //$NON-NLS-1$ +// supportedFunctions.add("INET_SERVER_ADDR"); //$NON-NLS-1$ +// supportedFunctions.add("INET_SERVER_PORT"); //$NON-NLS-1$ +// supportedFunctions.add("SESSION_USER"); //$NON-NLS-1$ // no () +// supportedFunctions.add("USER"); //$NON-NLS-1$ // no () +// supportedFunctions.add("VERSION"); //$NON-NLS-1$ +// + supportedFunctions.add(SourceSystemFunctions.ARRAY_GET); + supportedFunctions.add(SourceSystemFunctions.ARRAY_LENGTH); + supportedFunctions.add(SourceSystemFunctions.FORMATTIMESTAMP); + supportedFunctions.add(SourceSystemFunctions.PARSETIMESTAMP); + return supportedFunctions; + } + + /** + * This is true only after Postgre version 7.1 + * However, since version 7 was released in 2000 we'll assume a post 7 instance. + */ + public boolean supportsInlineViews() { + return true; + } + + @Override + public boolean supportsRowLimit() { + return true; + } + @Override + public boolean supportsRowOffset() { + return true; + } + + @Override + public boolean supportsExcept() { + return true; + } + + @Override + public boolean supportsIntersect() { + return true; + } + + @Override + public boolean supportsAggregatesEnhancedNumeric() { + return getVersion().compareTo(EIGHT_2) >= 0; + } + + @Override + public boolean supportsCommonTableExpressions() { + return getVersion().compareTo(EIGHT_4) >= 0; + } + + @Override + public boolean supportsArrayAgg() { + return getVersion().compareTo(EIGHT_4) >= 0; + } + + @Override + public boolean supportsElementaryOlapOperations() { + return getVersion().compareTo(EIGHT_4) >= 0; + } + + @Override + public boolean supportsWindowDistinctAggregates() { + return false; + } + + @Override + public boolean supportsSimilarTo() { + return true; + } + + @Override + public boolean supportsLikeRegex() { + return true; + } + + @Override + public boolean supportsOnlyFormatLiterals() { + return true; + } + + @Override + public boolean supportsFormatLiteral(String literal, + org.teiid.translator.ExecutionFactory.Format format) { + if (format == Format.NUMBER) { + return false; + } + return OracleFormatFunctionModifier.supportsLiteral(literal); + } + } Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java =================================================================== --- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java 2014-04-16 12:56:32 UTC (rev 4629) +++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sqlserver/SQLServerExecutionFactory.java 2014-04-16 15:26:45 UTC (rev 4630) @@ -42,6 +42,7 @@ import org.teiid.translator.TypeFacility; import org.teiid.translator.jdbc.JDBCExecutionFactory; import org.teiid.translator.jdbc.sybase.SybaseExecutionFactory; +import org.teiid.translator.jdbc.Version; /** * Updated to assume the use of the DataDirect, 2005 driver, or later. @@ -49,8 +50,15 @@ @Translator(name="sqlserver", description="A translator for Microsoft SQL Server Database") public class SQLServerExecutionFactory extends SybaseExecutionFactory { - public static final String V_2005 = "2005"; //$NON-NLS-1$ - public static final String V_2008 = "2008"; //$NON-NLS-1$ + public static final String V_2000 = "2000"; //$NON-NLS-1$ + public static final String V_2005 = "2005"; //$NON-NLS-1$ + public static final String V_2008 = "2008"; //$NON-NLS-1$ + public static final String V_2012 = "2012"; //$NON-NLS-1$ + + public static final Version SEVEN_0 = Version.getVersion("7.0"); //$NON-NLS-1$ + public static final Version NINE_0 = Version.getVersion("9.0"); //$NON-NLS-1$ + public static final Version TEN_0 = Version.getVersion("10.0"); //$NON-NLS-1$ + public static final Version ELEVEN_0 = Version.getVersion("11.0"); //$NON-NLS-1$ //TEIID-31 remove mod modifier for SQL Server 2008 public SQLServerExecutionFactory() { @@ -235,9 +243,32 @@ return true; } + /** + * Overriden to allow for year based versions + */ + @Override + public void setDatabaseVersion(String version) { + if (version != null) { + if (version.equals(V_2000)) { + setDatabaseVersion(SEVEN_0); + return; + } else if (version.equals(V_2005)) { + setDatabaseVersion(NINE_0); + return; + } else if (version.equals(V_2008)) { + setDatabaseVersion(TEN_0); + return; + } else if (version.equals(V_2012)) { + setDatabaseVersion(ELEVEN_0); + return; + } + } + super.setDatabaseVersion(version); + } + @Override public String translateLiteralDate(Date dateValue) { - if (getDatabaseVersion().compareTo(V_2008) >= 0) { + if (getVersion().compareTo(TEN_0) >= 0) { return super.translateLiteralDate(dateValue); } return super.translateLiteralTimestamp(new Timestamp(dateValue.getTime())); @@ -245,7 +276,7 @@ @Override public boolean hasTimeType() { - return getDatabaseVersion().compareTo(V_2008) >= 0; + return getVersion().compareTo(TEN_0) >= 0; } @Override Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java =================================================================== --- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java 2014-04-16 12:56:32 UTC (rev 4629) +++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/sybase/SybaseExecutionFactory.java 2014-04-16 15:26:45 UTC (rev 4630) @@ -1,370 +1,371 @@ -/* - * 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. - */ - /* + * 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.translator.jdbc.sybase; -import java.sql.Date; -import java.sql.Timestamp; -import java.util.ArrayList; -import java.util.Arrays; -import java.util.HashMap; -import java.util.HashSet; -import java.util.LinkedList; -import java.util.List; -import java.util.Map; - -import org.teiid.language.Expression; -import org.teiid.language.Function; -import org.teiid.language.Literal; -import org.teiid.language.SQLConstants; -import org.teiid.translator.SourceSystemFunctions; -import org.teiid.translator.Translator; -import org.teiid.translator.TranslatorException; -import org.teiid.translator.jdbc.AliasModifier; -import org.teiid.translator.jdbc.ConvertModifier; -import org.teiid.translator.jdbc.EscapeSyntaxModifier; -import org.teiid.translator.jdbc.FunctionModifier; -import org.teiid.translator.jdbc.ModFunctionModifier; -import org.teiid.translator.jdbc.ParseFormatFunctionModifier; -import org.teiid.translator.jdbc.oracle.ConcatFunctionModifier; - +import java.sql.Date; +import java.sql.Timestamp; +import java.util.ArrayList; +import java.util.Arrays; +import java.util.HashMap; +import java.util.HashSet; +import java.util.LinkedList; +import java.util.List; +import java.util.Map; +import org.teiid.language.Expression; +import org.teiid.language.Function; +import org.teiid.language.Literal; +import org.teiid.language.SQLConstants; +import org.teiid.translator.SourceSystemFunctions; +import org.teiid.translator.Translator; +import org.teiid.translator.TranslatorException; +import org.teiid.translator.jdbc.AliasModifier; +import org.teiid.translator.jdbc.ConvertModifier; +import org.teiid.translator.jdbc.EscapeSyntaxModifier; +import org.teiid.translator.jdbc.FunctionModifier; +import org.teiid.translator.jdbc.ModFunctionModifier; +import org.teiid.translator.jdbc.ParseFormatFunctionModifier; +import org.teiid.translator.jdbc.oracle.ConcatFunctionModifier; +import org.teiid.translator.jdbc.Version; + + @Translator(name="sybase", description="A translator for Sybase Database") -public class SybaseExecutionFactory extends BaseSybaseExecutionFactory { - - public static final String TWELVE_5_3 = "12.5.3"; //$NON-NLS-1$ - public static final String TWELVE_5 = "12.5"; //$NON-NLS-1$ - public static final String FIFTEEN_0_2 = "15.0.2"; //$NON-NLS-1$ - public static final String FIFTEEN_5 = "15.5"; //$NON-NLS-1$ - - protected Map formatMap = new HashMap(); - - public SybaseExecutionFactory() { - setDatabaseVersion(TWELVE_5); - setSupportsFullOuterJoins(false); - setMaxInCriteriaSize(250); - setMaxDependentInPredicates(10); - populateDateFormats(); - } - - protected void populateDateFormats() { - formatMap.put("MM/dd/yy", 1); //$NON-NLS-1$ - formatMap.put("yy.MM.dd", 2); //$NON-NLS-1$ - formatMap.put("dd/MM/yy", 3); //$NON-NLS-1$ - formatMap.put("dd.MM.yy", 4); //$NON-NLS-1$ - formatMap.put("dd-MM-yy", 5); //$NON-NLS-1$ - formatMap.put("dd MMM yy", 6); //$NON-NLS-1$ - formatMap.put("MMM dd, yy", 7); //$NON-NLS-1$ - formatMap.put("MM-dd-yy", 10); //$NON-NLS-1$ - formatMap.put("yy/MM/dd", 11); //$NON-NLS-1$ - formatMap.put("yyMMdd", 12); //$NON-NLS-1$ - formatMap.put("yyddMM", 13); //$NON-NLS-1$ - formatMap.put("MM/yy/dd", 14); //$NON-NLS-1$ - formatMap.put("dd/yy/MM", 15); //$NON-NLS-1$ - formatMap.put("MMM dd yy HH:mm:ss", 16); //$NON-NLS-1$ - for (Map.Entry entry : new HashSet>(formatMap.entrySet())) { - formatMap.put(entry.getKey().replace("yy", "yyyy"), entry.getValue() + 100); //$NON-NLS-1$ //$NON-NLS-2$ - } - - formatMap.put("MMM d yyyy hh:mma", 100); //$NON-NLS-1$ - formatMap.put("HH:mm:ss", 8); //$NON-NLS-1$ - formatMap.put("MMM d yyyy hh:mm:ss:SSSa", 109); //$NON-NLS-1$ - formatMap.put("hh:mma", 17); //$NON-NLS-1$ - formatMap.put("HH:mm", 18); //$NON-NLS-1$ - formatMap.put("hh:mm:ss:SSSa", 19); //$NON-NLS-1$ - formatMap.put("HH:mm:ss:SSS", 20); //$NON-NLS-1$ - formatMap.put("yy/MM/dd HH:mm:ss", 21); //$NON-NLS-1$ - formatMap.put("yy/MM/dd hh:mm:ssa", 22); //$NON-NLS-1$ - formatMap.put("yyyy-MM-dd'T'HH:mm:ss", 23); //$NON-NLS-1$ - } +public class SybaseExecutionFactory extends BaseSybaseExecutionFactory { + + public static final Version TWELVE_5_3 = Version.getVersion("12.5.3"); //$NON-NLS-1$ + public static final Version TWELVE_5 = Version.getVersion("12.5"); //$NON-NLS-1$ + public static final Version FIFTEEN_0_2 = Version.getVersion("15.0.2"); //$NON-NLS-1$ + public static final Version FIFTEEN_5 = Version.getVersion("15.5"); //$NON-NLS-1$ + + protected Map formatMap = new HashMap(); + + public SybaseExecutionFactory() { + setDatabaseVersion(TWELVE_5); + setSupportsFullOuterJoins(false); + setMaxInCriteriaSize(250); + setMaxDependentInPredicates(10); + populateDateFormats(); + } + + protected void populateDateFormats() { + formatMap.put("MM/dd/yy", 1); //$NON-NLS-1$ + formatMap.put("yy.MM.dd", 2); //$NON-NLS-1$ + formatMap.put("dd/MM/yy", 3); //$NON-NLS-1$ + formatMap.put("dd.MM.yy", 4); //$NON-NLS-1$ + formatMap.put("dd-MM-yy", 5); //$NON-NLS-1$ + formatMap.put("dd MMM yy", 6); //$NON-NLS-1$ + formatMap.put("MMM dd, yy", 7); //$NON-NLS-1$ + formatMap.put("MM-dd-yy", 10); //$NON-NLS-1$ + formatMap.put("yy/MM/dd", 11); //$NON-NLS-1$ + formatMap.put("yyMMdd", 12); //$NON-NLS-1$ + formatMap.put("yyddMM", 13); //$NON-NLS-1$ + formatMap.put("MM/yy/dd", 14); //$NON-NLS-1$ + formatMap.put("dd/yy/MM", 15); //$NON-NLS-1$ + formatMap.put("MMM dd yy HH:mm:ss", 16); //$NON-NLS-1$ + for (Map.Entry entry : new HashSet>(formatMap.entrySet())) { + formatMap.put(entry.getKey().replace("yy", "yyyy"), entry.getValue() + 100); //$NON-NLS-1$ //$NON-NLS-2$ + } + + formatMap.put("MMM d yyyy hh:mma", 100); //$NON-NLS-1$ + formatMap.put("HH:mm:ss", 8); //$NON-NLS-1$ + formatMap.put("MMM d yyyy hh:mm:ss:SSSa", 109); //$NON-NLS-1$ + formatMap.put("hh:mma", 17); //$NON-NLS-1$ + formatMap.put("HH:mm", 18); //$NON-NLS-1$ + formatMap.put("hh:mm:ss:SSSa", 19); //$NON-NLS-1$ + formatMap.put("HH:mm:ss:SSS", 20); //$NON-NLS-1$ + formatMap.put("yy/MM/dd HH:mm:ss", 21); //$NON-NLS-1$ + formatMap.put("yy/MM/dd hh:mm:ssa", 22); //$NON-NLS-1$ + formatMap.put("yyyy-MM-dd'T'HH:mm:ss", 23); //$NON-NLS-1$ + } public void start() throws TranslatorException { - super.start(); + super.start(); - registerFunctionModifier(SourceSystemFunctions.MOD, new ModFunctionModifier("%", getLanguageFactory())); //$NON-NLS-1$ + registerFunctionModifier(SourceSystemFunctions.MOD, new ModFunctionModifier("%", getLanguageFactory())); //$NON-NLS-1$ if (nullPlusNonNullIsNull()) { - registerFunctionModifier(SourceSystemFunctions.CONCAT, new AliasModifier("+")); //$NON-NLS-1$ - } else { - registerFunctionModifier(SourceSystemFunctions.CONCAT, new ConcatFunctionModifier(getLanguageFactory()) { - @Override - public List translate(Function function) { - function.setName("+"); //$NON-NLS-1$ - return super.translate(function); - } - }); + registerFunctionModifier(SourceSystemFunctions.CONCAT, new AliasModifier("+")); //$NON-NLS-1$ + } else { + registerFunctionModifier(SourceSystemFunctions.CONCAT, new ConcatFunctionModifier(getLanguageFactory()) { + @Override + public List translate(Function function) { + function.setName("+"); //$NON-NLS-1$ + return super.translate(function); + } + }); } registerFunctionModifier(SourceSystemFunctions.LCASE, new AliasModifier("lower")); //$NON-NLS-1$ registerFunctionModifier(SourceSystemFunctions.IFNULL, new AliasModifier("isnull")); //$NON-NLS-1$ - registerFunctionModifier(SourceSystemFunctions.UCASE, new AliasModifier("upper")); //$NON-NLS-1$ - registerFunctionModifier(SourceSystemFunctions.REPEAT, new AliasModifier("replicate")); //$NON-NLS-1$ - registerFunctionModifier(SourceSystemFunctions.SUBSTRING, new SubstringFunctionModifier(getLanguageFactory())); - registerFunctionModifier(SourceSystemFunctions.DAYNAME, new EscapeSyntaxModifier()); - registerFunctionModifier(SourceSystemFunctions.MONTHNAME, new EscapeSyntaxModifier()); - registerFunctionModifier(SourceSystemFunctions.DAYOFWEEK, new EscapeSyntaxModifier()); - registerFunctionModifier(SourceSystemFunctions.DAYOFYEAR, new EscapeSyntaxModifier()); - registerFunctionModifier(SourceSystemFunctions.DAYOFMONTH, new EscapeSyntaxModifier()); - registerFunctionModifier(SourceSystemFunctions.HOUR, new EscapeSyntaxModifier()); - registerFunctionModifier(SourceSystemFunctions.MINUTE, new EscapeSyntaxModifier()); - registerFunctionModifier(SourceSystemFunctions.QUARTER, new EscapeSyntaxModifier()); - registerFunctionModifier(SourceSystemFunctions.SECOND, new EscapeSyntaxModifier()); - registerFunctionModifier(SourceSystemFunctions.WEEK, new EscapeSyntaxModifier()); - registerFunctionModifier(SourceSystemFunctions.LENGTH, new EscapeSyntaxModifier()); - registerFunctionModifier(SourceSystemFunctions.ATAN2, new EscapeSyntaxModifier()); - registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new EscapeSyntaxModifier() { - - @Override - public List translate(Function function) { - if (!isFracSeconds(function)) { - return super.translate(function); - } - //convert from billionths to thousandths - return Arrays.asList("dateadd(millisecond, ", function.getParameters().get(1), "/1000000, ", function.getParameters().get(2), ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - } - }); - registerFunctionModifier(SourceSystemFunctions.TIMESTAMPDIFF, new EscapeSyntaxModifier() { - - @Override - public List translate(Function function) { - if (!isFracSeconds(function)) { - return super.translate(function); - } - //convert from billionths to thousandths - return Arrays.asList("datediff(millisecond, ", function.getParameters().get(1), ",", function.getParameters().get(2), ")*1000000"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ - } - }); - - //add in type conversion - ConvertModifier convertModifier = new ConvertModifier(); - convertModifier.setBooleanNullable(booleanNullable()); - //boolean isn't treated as bit, since it doesn't support null - //byte is treated as smallint, since tinyint is unsigned - convertModifier.addTypeMapping("smallint", FunctionModifier.BYTE, FunctionModifier.SHORT); //$NON-NLS-1$ - convertModifier.addTypeMapping("int", FunctionModifier.INTEGER); //$NON-NLS-1$ - convertModifier.addTypeMapping("numeric(19,0)", FunctionModifier.LONG); //$NON-NLS-1$ - convertModifier.addTypeMapping("real", FunctionModifier.FLOAT); //$NON-NLS-1$ - convertModifier.addTypeMapping("double precision", FunctionModifier.DOUBLE); //$NON-NLS-1$ - convertModifier.addTypeMapping("numeric(38, 0)", FunctionModifier.BIGINTEGER); //$NON-NLS-1$ - convertModifier.addTypeMapping("numeric(38, 19)", FunctionModifier.BIGDECIMAL); //$NON-NLS-1$ - convertModifier.addTypeMapping("char(1)", FunctionModifier.CHAR); //$NON-NLS-1$ - convertModifier.addTypeMapping("varchar(40)", FunctionModifier.STRING); //$NON-NLS-1$ - convertModifier.addTypeMapping("datetime", FunctionModifier.DATE, FunctionModifier.TIME, FunctionModifier.TIMESTAMP); //$NON-NLS-1$ - convertModifier.addConvert(FunctionModifier.TIMESTAMP, FunctionModifier.TIME, new FunctionModifier() { - @Override - public List translate(Function function) { - List result = new ArrayList(); - result.add("cast("); //$NON-NLS-1$ - boolean needsEnd = false; - if (!nullPlusNonNullIsNull() && !ConcatFunctionModifier.isNotNull(function.getParameters().get(0))) { - result.add("CASE WHEN "); //$NON-NLS-1$ - result.add(function.getParameters().get(0)); - result.add(" IS NOT NULL THEN "); //$NON-NLS-1$ - needsEnd = true; - } - result.add("'1970-01-01 ' + "); //$NON-NLS-1$ - result.addAll(convertTimeToString(function)); - if (needsEnd) { - result.add(" END"); //$NON-NLS-1$ - } - result.add(" AS datetime)"); //$NON-NLS-1$ - return result; - } - }); - convertModifier.addConvert(FunctionModifier.TIMESTAMP, FunctionModifier.DATE, new FunctionModifier() { - @Override - public List translate(Function function) { - List result = new ArrayList(); - result.add("cast("); //$NON-NLS-1$ - result.addAll(convertDateToString(function)); - result.add(" AS datetime)"); //$NON-NLS-1$ - return result; - } - }); - convertModifier.addConvert(FunctionModifier.TIME, FunctionModifier.STRING, new FunctionModifier() { - @Override - public List translate(Function function) { - return convertTimeToString(function); - } - }); - convertModifier.addConvert(FunctionModifier.DATE, FunctionModifier.STRING, new FunctionModifier() { - @Override - public List translate(Function function) { - return convertDateToString(function); - } - }); - convertModifier.addConvert(FunctionModifier.TIMESTAMP, FunctionModifier.STRING, new FunctionModifier() { - @Override - public List translate(Function function) { - return convertTimestampToString(function); - } - }); - convertModifier.addNumericBooleanConversions(); - registerFunctionModifier(SourceSystemFunctions.CONVERT, convertModifier); - registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new ParseFormatFunctionModifier("CONVERT(DATETIME, ") { //$NON-NLS-1$ - @Override - protected Object translateFormat(String format) { - return formatMap.get(format); - } - }); - registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new ParseFormatFunctionModifier("CONVERT(VARCHAR, ") { //$NON-NLS-1$ - @Override - protected Object translateFormat(String format) { - return formatMap.get(format); - } - }); - } - - private List convertTimeToString(Function function) { - return Arrays.asList("convert(varchar, ", function.getParameters().get(0), ", 8)"); //$NON-NLS-1$ //$NON-NLS-2$ - } - - protected List convertDateToString(Function function) { - return Arrays.asList("stuff(stuff(convert(varchar, ", function.getParameters().get(0), ", 102), 5, 1, '-'), 8, 1, '-')"); //$NON-NLS-1$ //$NON-NLS-2$ - } - - //TODO: this looses the milliseconds - protected List convertTimestampToString(Function function) { - LinkedList result = new LinkedList(); - result.addAll(convertDateToString(function)); - result.add('+'); - result.addAll(convertTimeToString(function)); - return result; - } - - @Override - public List getSupportedFunctions() { - List supportedFunctions = new ArrayList(); - 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("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("LOG"); //$NON-NLS-1$ - supportedFunctions.add("LOG10"); //$NON-NLS-1$ - supportedFunctions.add("MOD"); //$NON-NLS-1$ - supportedFunctions.add("PI"); //$NON-NLS-1$ - supportedFunctions.add("POWER"); //$NON-NLS-1$ - supportedFunctions.add("RADIANS"); //$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("||"); //$NON-NLS-1$ - supportedFunctions.add("LCASE"); //$NON-NLS-1$ - supportedFunctions.add("LEFT"); //$NON-NLS-1$ - supportedFunctions.add("LENGTH"); //$NON-NLS-1$ - supportedFunctions.add("LOWER"); //$NON-NLS-1$ - supportedFunctions.add("LTRIM"); //$NON-NLS-1$ - supportedFunctions.add("REPEAT"); //$NON-NLS-1$ - //supportedFunctions.add("RAND"); //$NON-NLS-1$ - supportedFunctions.add("RIGHT"); //$NON-NLS-1$ - supportedFunctions.add("RTRIM"); //$NON-NLS-1$ - supportedFunctions.add("SPACE"); //$NON-NLS-1$ - supportedFunctions.add("SUBSTRING"); //$NON-NLS-1$ - supportedFunctions.add("UCASE"); //$NON-NLS-1$ - supportedFunctions.add("UPPER"); //$NON-NLS-1$ - //supportedFunctons.add("CURDATE"); //$NON-NLS-1$ - //supportedFunctons.add("CURTIME"); //$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("HOUR"); //$NON-NLS-1$ - supportedFunctions.add("MINUTE"); //$NON-NLS-1$ - supportedFunctions.add("MONTH"); //$NON-NLS-1$ - supportedFunctions.add("MONTHNAME"); //$NON-NLS-1$ - //supportedFunctions.add("NOW"); //$NON-NLS-1$ - supportedFunctions.add("QUARTER"); //$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("CAST"); //$NON-NLS-1$ - supportedFunctions.add("CONVERT"); //$NON-NLS-1$ - supportedFunctions.add("IFNULL"); //$NON-NLS-1$ - supportedFunctions.add("NVL"); //$NON-NLS-1$ - //supportedFunctions.add("FORMATTIMESTAMP"); //$NON-NLS-1$ - - return supportedFunctions; - } - - @Override - public boolean supportsInlineViews() { - return true; - } - - @Override - public boolean supportsFunctionsInGroupBy() { - return true; - } - - @Override - public int getMaxFromGroups() { - return 50; - } - - @Override - public boolean supportsAggregatesEnhancedNumeric() { - return getDatabaseVersion().compareTo(FIFTEEN_0_2) >= 0; - } - - public boolean nullPlusNonNullIsNull() { - return false; - } - - public boolean booleanNullable() { - return false; - } - - @Override - public String translateLiteralTimestamp(Timestamp timestampValue) { - return "CAST('" + formatDateValue(timestampValue) +"' AS DATETIME)"; //$NON-NLS-1$ //$NON-NLS-2$ - } - - @Override - public String translateLiteralDate(Date dateValue) { - return "CAST('" + formatDateValue(dateValue) +"' AS DATE)"; //$NON-NLS-1$ //$NON-NLS-2$ - } - - private boolean isFracSeconds(Function function) { - Expression e = function.getParameters().get(0); - return (e instanceof Literal && SQLConstants.NonReserved.SQL_TSI_FRAC_SECOND.equalsIgnoreCase((String)((Literal)e).getValue())); - } - - @Override - public boolean supportsRowLimit() { - return (getDatabaseVersion().startsWith("12") && getDatabaseVersion().compareTo(TWELVE_5_3) >= 0) || getDatabaseVersion().compareTo(FIFTEEN_0_2) >=0; //$NON-NLS-1$ - } - + registerFunctionModifier(SourceSystemFunctions.UCASE, new AliasModifier("upper")); //$NON-NLS-1$ + registerFunctionModifier(SourceSystemFunctions.REPEAT, new AliasModifier("replicate")); //$NON-NLS-1$ + registerFunctionModifier(SourceSystemFunctions.SUBSTRING, new SubstringFunctionModifier(getLanguageFactory())); + registerFunctionModifier(SourceSystemFunctions.DAYNAME, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.MONTHNAME, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.DAYOFWEEK, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.DAYOFYEAR, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.DAYOFMONTH, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.HOUR, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.MINUTE, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.QUARTER, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.SECOND, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.WEEK, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.LENGTH, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.ATAN2, new EscapeSyntaxModifier()); + registerFunctionModifier(SourceSystemFunctions.TIMESTAMPADD, new EscapeSyntaxModifier() { + + @Override + public List translate(Function function) { + if (!isFracSeconds(function)) { + return super.translate(function); + } + //convert from billionths to thousandths + return Arrays.asList("dateadd(millisecond, ", function.getParameters().get(1), "/1000000, ", function.getParameters().get(2), ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + } + }); + registerFunctionModifier(SourceSystemFunctions.TIMESTAMPDIFF, new EscapeSyntaxModifier() { + + @Override + public List translate(Function function) { + if (!isFracSeconds(function)) { + return super.translate(function); + } + //convert from billionths to thousandths + return Arrays.asList("datediff(millisecond, ", function.getParameters().get(1), ",", function.getParameters().get(2), ")*1000000"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ + } + }); + + //add in type conversion + ConvertModifier convertModifier = new ConvertModifier(); + convertModifier.setBooleanNullable(booleanNullable()); + //boolean isn't treated as bit, since it doesn't support null + //byte is treated as smallint, since tinyint is unsigned + convertModifier.addTypeMapping("smallint", FunctionModifier.BYTE, FunctionModifier.SHORT); //$NON-NLS-1$ + convertModifier.addTypeMapping("int", FunctionModifier.INTEGER); //$NON-NLS-1$ + convertModifier.addTypeMapping("numeric(19,0)", FunctionModifier.LONG); //$NON-NLS-1$ + convertModifier.addTypeMapping("real", FunctionModifier.FLOAT); //$NON-NLS-1$ + convertModifier.addTypeMapping("double precision", FunctionModifier.DOUBLE); //$NON-NLS-1$ + convertModifier.addTypeMapping("numeric(38, 0)", FunctionModifier.BIGINTEGER); //$NON-NLS-1$ + convertModifier.addTypeMapping("numeric(38, 19)", FunctionModifier.BIGDECIMAL); //$NON-NLS-1$ + convertModifier.addTypeMapping("char(1)", FunctionModifier.CHAR); //$NON-NLS-1$ + convertModifier.addTypeMapping("varchar(40)", FunctionModifier.STRING); //$NON-NLS-1$ + convertModifier.addTypeMapping("datetime", FunctionModifier.DATE, FunctionModifier.TIME, FunctionModifier.TIMESTAMP); //$NON-NLS-1$ + convertModifier.addConvert(FunctionModifier.TIMESTAMP, FunctionModifier.TIME, new FunctionModifier() { + @Override + public List translate(Function function) { + List result = new ArrayList(); + result.add("cast("); //$NON-NLS-1$ + boolean needsEnd = false; + if (!nullPlusNonNullIsNull() && !ConcatFunctionModifier.isNotNull(function.getParameters().get(0))) { + result.add("CASE WHEN "); //$NON-NLS-1$ + result.add(function.getParameters().get(0)); + result.add(" IS NOT NULL THEN "); //$NON-NLS-1$ + needsEnd = true; + } + result.add("'1970-01-01 ' + "); //$NON-NLS-1$ + result.addAll(convertTimeToString(function)); + if (needsEnd) { + result.add(" END"); //$NON-NLS-1$ + } + result.add(" AS datetime)"); //$NON-NLS-1$ + return result; + } + }); + convertModifier.addConvert(FunctionModifier.TIMESTAMP, FunctionModifier.DATE, new FunctionModifier() { + @Override + public List translate(Function function) { + List result = new ArrayList(); + result.add("cast("); //$NON-NLS-1$ + result.addAll(convertDateToString(function)); + result.add(" AS datetime)"); //$NON-NLS-1$ + return result; + } + }); + convertModifier.addConvert(FunctionModifier.TIME, FunctionModifier.STRING, new FunctionModifier() { + @Override + public List translate(Function function) { + return convertTimeToString(function); + } + }); + convertModifier.addConvert(FunctionModifier.DATE, FunctionModifier.STRING, new FunctionModifier() { + @Override + public List translate(Function function) { + return convertDateToString(function); + } + }); + convertModifier.addConvert(FunctionModifier.TIMESTAMP, FunctionModifier.STRING, new FunctionModifier() { + @Override + public List translate(Function function) { + return convertTimestampToString(function); + } + }); + convertModifier.addNumericBooleanConversions(); + registerFunctionModifier(SourceSystemFunctions.CONVERT, convertModifier); + registerFunctionModifier(SourceSystemFunctions.PARSETIMESTAMP, new ParseFormatFunctionModifier("CONVERT(DATETIME, ") { //$NON-NLS-1$ + @Override + protected Object translateFormat(String format) { + return formatMap.get(format); + } + }); + registerFunctionModifier(SourceSystemFunctions.FORMATTIMESTAMP, new ParseFormatFunctionModifier("CONVERT(VARCHAR, ") { //$NON-NLS-1$ + @Override + protected Object translateFormat(String format) { + return formatMap.get(format); + } + }); + } + + private List convertTimeToString(Function function) { + return Arrays.asList("convert(varchar, ", function.getParameters().get(0), ", 8)"); //$NON-NLS-1$ //$NON-NLS-2$ + } + + protected List convertDateToString(Function function) { + return Arrays.asList("stuff(stuff(convert(varchar, ", function.getParameters().get(0), ", 102), 5, 1, '-'), 8, 1, '-')"); //$NON-NLS-1$ //$NON-NLS-2$ + } + + //TODO: this looses the milliseconds + protected List convertTimestampToString(Function function) { + LinkedList result = new LinkedList(); + result.addAll(convertDateToString(function)); + result.add('+'); + result.addAll(convertTimeToString(function)); + return result; + } + + @Override + public List getSupportedFunctions() { + List supportedFunctions = new ArrayList(); + 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("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("LOG"); //$NON-NLS-1$ + supportedFunctions.add("LOG10"); //$NON-NLS-1$ + supportedFunctions.add("MOD"); //$NON-NLS-1$ + supportedFunctions.add("PI"); //$NON-NLS-1$ + supportedFunctions.add("POWER"); //$NON-NLS-1$ + supportedFunctions.add("RADIANS"); //$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("||"); //$NON-NLS-1$ + supportedFunctions.add("LCASE"); //$NON-NLS-1$ + supportedFunctions.add("LEFT"); //$NON-NLS-1$ + supportedFunctions.add("LENGTH"); //$NON-NLS-1$ + supportedFunctions.add("LOWER"); //$NON-NLS-1$ + supportedFunctions.add("LTRIM"); //$NON-NLS-1$ + supportedFunctions.add("REPEAT"); //$NON-NLS-1$ + //supportedFunctions.add("RAND"); //$NON-NLS-1$ + supportedFunctions.add("RIGHT"); //$NON-NLS-1$ + supportedFunctions.add("RTRIM"); //$NON-NLS-1$ + supportedFunctions.add("SPACE"); //$NON-NLS-1$ + supportedFunctions.add("SUBSTRING"); //$NON-NLS-1$ + supportedFunctions.add("UCASE"); //$NON-NLS-1$ + supportedFunctions.add("UPPER"); //$NON-NLS-1$ + //supportedFunctons.add("CURDATE"); //$NON-NLS-1$ + //supportedFunctons.add("CURTIME"); //$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("HOUR"); //$NON-NLS-1$ + supportedFunctions.add("MINUTE"); //$NON-NLS-1$ + supportedFunctions.add("MONTH"); //$NON-NLS-1$ + supportedFunctions.add("MONTHNAME"); //$NON-NLS-1$ + //supportedFunctions.add("NOW"); //$NON-NLS-1$ + supportedFunctions.add("QUARTER"); //$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("CAST"); //$NON-NLS-1$ + supportedFunctions.add("CONVERT"); //$NON-NLS-1$ + supportedFunctions.add("IFNULL"); //$NON-NLS-1$ + supportedFunctions.add("NVL"); //$NON-NLS-1$ + //supportedFunctions.add("FORMATTIMESTAMP"); //$NON-NLS-1$ + + return supportedFunctions; + } + + @Override + public boolean supportsInlineViews() { + return true; + } + + @Override + public boolean supportsFunctionsInGroupBy() { + return true; + } + + @Override + public int getMaxFromGroups() { + return 50; + } + + @Override + public boolean supportsAggregatesEnhancedNumeric() { + return getVersion().compareTo(FIFTEEN_0_2) >= 0; + } + + public boolean nullPlusNonNullIsNull() { + return false; + } + + public boolean booleanNullable() { + return false; + } + + @Override + public String translateLiteralTimestamp(Timestamp timestampValue) { + return "CAST('" + formatDateValue(timestampValue) +"' AS DATETIME)"; //$NON-NLS-1$ //$NON-NLS-2$ + } + + @Override + public String translateLiteralDate(Date dateValue) { + return "CAST('" + formatDateValue(dateValue) +"' AS DATE)"; //$NON-NLS-1$ //$NON-NLS-2$ + } + + private boolean isFracSeconds(Function function) { + Expression e = function.getParameters().get(0); + return (e instanceof Literal && SQLConstants.NonReserved.SQL_TSI_FRAC_SECOND.equalsIgnoreCase((String)((Literal)e).getValue())); + } + + @Override + public boolean supportsRowLimit() { + return (getVersion().getMajorVersion() == 12 && getVersion().compareTo(TWELVE_5_3) >= 0) || getVersion().compareTo(FIFTEEN_0_2) >=0; //$NON-NLS-1$ + } + } Modified: branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/teiid/TeiidExecutionFactory.java =================================================================== --- branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/teiid/TeiidExecutionFactory.java 2014-04-16 12:56:32 UTC (rev 4629) +++ branches/7.7.x/connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/teiid/TeiidExecutionFactory.java 2014-04-16 15:26:45 UTC (rev 4630) @@ -30,6 +30,7 @@ import org.teiid.translator.SourceSystemFunctions; import org.teiid.translator.Translator; import org.teiid.translator.jdbc.JDBCExecutionFactory; +import org.teiid.translator.jdbc.Version; /** * @since 4.3 @@ -37,13 +38,13 @@ @Translator(name="teiid", description="A translator for Teiid 7.0 or later") public class TeiidExecutionFactory extends JDBCExecutionFactory { - public static final String SEVEN_0 = "7.0"; //$NON-NLS-1$ - public static final String SEVEN_1 = "7.1"; //$NON-NLS-1$ - public static final String SEVEN_2 = "7.2"; //$NON-NLS-1$ - public static final String SEVEN_3 = "7.3"; //$NON-NLS-1$ - public static final String SEVEN_4 = "7.4"; //$NON-NLS-1$ - public static final String SEVEN_5 = "7.5"; //$NON-NLS-1$ - public static final String SEVEN_6 = "7.6"; //$NON-NLS-1$ + public static final Version SEVEN_0 = Version.getVersion("7.0"); //$NON-NLS-1$ + public static final Version SEVEN_1 = Version.getVersion("7.1"); //$NON-NLS-1$ + public static final Version SEVEN_2 = Version.getVersion("7.2"); //$NON-NLS-1$ + public static final Version SEVEN_3 = Version.getVersion("7.3"); //$NON-NLS-1$ + public static final Version SEVEN_4 = Version.getVersion("7.4"); //$NON-NLS-1$ + public static final Version SEVEN_5 = Version.getVersion("7.5"); //$NON-NLS-1$ + public static final Version SEVEN_6 = Version.getVersion("7.6"); //$NON-NLS-1$ public TeiidExecutionFactory() { setDatabaseVersion(SEVEN_0); @@ -144,17 +145,17 @@ supportedFunctions.add("NULLIF"); //$NON-NLS-1$ supportedFunctions.add("COALESCE"); //$NON-NLS-1$ - if (getDatabaseVersion().compareTo(SEVEN_3) >= 0) { + if (getVersion().compareTo(SEVEN_3) >= 0) { supportedFunctions.add(SourceSystemFunctions.UNESCAPE); } - if (getDatabaseVersion().compareTo(SEVEN_4) >= 0) { + if (getVersion().compareTo(SEVEN_4) >= 0) { supportedFunctions.add(SourceSystemFunctions.UUID); supportedFunctions.add(SourceSystemFunctions.ARRAY_GET); supportedFunctions.add(SourceSystemFunctions.ARRAY_LENGTH); } - if (getDatabaseVersion().compareTo(SEVEN_5) >= 0) { + if (getVersion().compareTo(SEVEN_5) >= 0) { supportedFunctions.add(SourceSystemFunctions.TRIM); } @@ -190,7 +191,7 @@ @Override public boolean supportsAggregatesEnhancedNumeric() { - return getDatabaseVersion().compareTo(SEVEN_1) >= 0; + return getVersion().compareTo(SEVEN_1) >= 0; } @Override @@ -205,42 +206,42 @@ @Override public boolean supportsCommonTableExpressions() { - return getDatabaseVersion().compareTo(SEVEN_2) >= 0; + return getVersion().compareTo(SEVEN_2) >= 0; } @Override public boolean supportsAdvancedOlapOperations() { - return getDatabaseVersion().compareTo(SEVEN_5) >= 0; + return getVersion().compareTo(SEVEN_5) >= 0; } @Override public boolean supportsElementaryOlapOperations() { - return getDatabaseVersion().compareTo(SEVEN_5) >= 0; + return getVersion().compareTo(SEVEN_5) >= 0; } @Override public boolean supportsArrayAgg() { - return getDatabaseVersion().compareTo(SEVEN_5) >= 0; + return getVersion().compareTo(SEVEN_5) >= 0; } @Override public boolean supportsLikeRegex() { - return getDatabaseVersion().compareTo(SEVEN_5) >= 0; + return getVersion().compareTo(SEVEN_5) >= 0; } @Override public boolean supportsSimilarTo() { - return getDatabaseVersion().compareTo(SEVEN_5) >= 0; + return getVersion().compareTo(SEVEN_5) >= 0; } @Override public boolean supportsWindowDistinctAggregates() { - return getDatabaseVersion().compareTo(SEVEN_6) >= 0; + return getVersion().compareTo(SEVEN_6) >= 0; } @Override public boolean supportsWindowOrderByWithAggregates() { - return getDatabaseVersion().compareTo(SEVEN_5) >= 0; + return getVersion().compareTo(SEVEN_5) >= 0; } } Modified: branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/TestJDBCExecutionFactory.java =================================================================== --- branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/TestJDBCExecutionFactory.java 2014-04-16 12:56:32 UTC (rev 4629) +++ branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/TestJDBCExecutionFactory.java 2014-04-16 15:26:45 UTC (rev 4630) @@ -52,4 +52,15 @@ assertNotSame(cals[0], cals[1]); } + + @Test public void testVersion() { + JDBCExecutionFactory jef = new JDBCExecutionFactory(); + jef.setDatabaseVersion("Some db 1.2.3 (some build)"); + assertEquals("1.2.3", jef.getDatabaseVersion().toString()); + assertEquals(new Version(new Integer[] {1, 2, 3}), jef.getVersion()); + + Version version = Version.getVersion("10.0"); + assertTrue(version.compareTo(Version.getVersion("9.1")) > 0); + assertTrue(version.compareTo(Version.getVersion("10.0.1")) < 0); + } } Modified: branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/derby/TestDerbyCapabilities.java =================================================================== --- branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/derby/TestDerbyCapabilities.java 2014-04-16 12:56:32 UTC (rev 4629) +++ branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/derby/TestDerbyCapabilities.java 2014-04-16 15:26:45 UTC (rev 4630) @@ -31,14 +31,14 @@ @Test public void testLimitSupport() { DerbyExecutionFactory derbyCapabilities = new DerbyExecutionFactory(); assertFalse(derbyCapabilities.supportsRowLimit()); - derbyCapabilities.setDatabaseVersion(DerbyExecutionFactory.TEN_5); + derbyCapabilities.setDatabaseVersion(DerbyExecutionFactory.TEN_5.toString()); assertTrue(derbyCapabilities.supportsRowLimit()); } @Test public void testFunctionSupport() { DerbyExecutionFactory derbyCapabilities = new DerbyExecutionFactory(); assertEquals(27, derbyCapabilities.getSupportedFunctions().size()); - derbyCapabilities.setDatabaseVersion(DerbyExecutionFactory.TEN_4); + derbyCapabilities.setDatabaseVersion(DerbyExecutionFactory.TEN_4.toString()); assertEquals(44, derbyCapabilities.getSupportedFunctions().size()); } Modified: branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java =================================================================== --- branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java 2014-04-16 12:56:32 UTC (rev 4629) +++ branches/7.7.x/connectors/translator-jdbc/src/test/java/org/teiid/translator/jdbc/oracle/TestOracleTranslator.java 2014-04-16 15:26:45 UTC (rev 4630) @@ -970,5 +970,12 @@ TranslationHelper.helpTestVisitor(TranslationHelper.BQT_VDB, null, input, output, TRANSLATOR); } + + @Test public void testVersionedCapabilities() throws Exception { + OracleExecutionFactory oef = new OracleExecutionFactory(); + oef.setDatabaseVersion("10.0"); + oef.start(); + assertTrue(oef.supportsCommonTableExpressions()); + } } From docs-author at jboss.org Wed Apr 16 12:44:00 2014 From: docs-author at jboss.org (Steven Hawkins (Confluence)) Date: Wed, 16 Apr 2014 12:44:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Space Edited: Teiid 8.8 (draft) (TEIID) Message-ID: <1040430122.269.1397666640095.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140416/0d548752/attachment.html From docs-author at jboss.org Wed Apr 16 12:45:00 2014 From: docs-author at jboss.org (Steven Hawkins (Confluence)) Date: Wed, 16 Apr 2014 12:45:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.8 (draft) > Home Message-ID: <832479130.272.1397666700197.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140416/0c30ac09/attachment-0001.html From docs-author at jboss.org Wed Apr 16 12:45:00 2014 From: docs-author at jboss.org (Steven Hawkins (Confluence)) Date: Wed, 16 Apr 2014 12:45:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.8 (draft) > Home Message-ID: <1171586886.275.1397666700427.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140416/3ec6f376/attachment-0001.html From teiid-commits at lists.jboss.org Wed Apr 16 14:26:12 2014 From: teiid-commits at lists.jboss.org (teiid-commits at lists.jboss.org) Date: Wed, 16 Apr 2014 14:26:12 -0400 Subject: [teiid-commits] teiid SVN: r4631 - in branches/7.7.x: engine/src/main/java/org/teiid/common/buffer/impl and 1 other directories. Message-ID: <201404161826.s3GIQCfo010528@svn01.web.mwc.hst.phx2.redhat.com> Author: jolee Date: 2014-04-16 14:26:12 -0400 (Wed, 16 Apr 2014) New Revision: 4631 Modified: branches/7.7.x/client/src/main/java/org/teiid/client/BatchSerializer.java branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/impl/BufferFrontedFileStoreCache.java branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/impl/BufferManagerImpl.java branches/7.7.x/engine/src/main/resources/org/teiid/query/i18n.properties Log: TEIID-2636: Stream corruption errors when doing big query, logging changes only Modified: branches/7.7.x/client/src/main/java/org/teiid/client/BatchSerializer.java =================================================================== --- branches/7.7.x/client/src/main/java/org/teiid/client/BatchSerializer.java 2014-04-16 15:26:45 UTC (rev 4630) +++ branches/7.7.x/client/src/main/java/org/teiid/client/BatchSerializer.java 2014-04-16 18:26:12 UTC (rev 4631) @@ -592,7 +592,7 @@ break objectSearch; } } - throw new TeiidRuntimeException(JDBCPlugin.Util.getString("BatchSerializer.datatype_mismatch", new Object[] {types[i], new Integer(i), objectClass})); //$NON-NLS-1$ + throw new TeiidRuntimeException(e, JDBCPlugin.Util.getString("BatchSerializer.datatype_mismatch", new Object[] {types[i], new Integer(i), objectClass})); //$NON-NLS-1$ } } } Modified: branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/impl/BufferFrontedFileStoreCache.java =================================================================== --- branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/impl/BufferFrontedFileStoreCache.java 2014-04-16 15:26:45 UTC (rev 4630) +++ branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/impl/BufferFrontedFileStoreCache.java 2014-04-16 18:26:12 UTC (rev 4631) @@ -676,9 +676,9 @@ //entries are mutable after adding, the original should be removed shortly so just ignore LogManager.logDetail(LogConstants.CTX_BUFFER_MGR, "Object "+ entry.getId() +" changed size since first persistence, keeping the original."); //$NON-NLS-1$ //$NON-NLS-2$ } else if (e == BlockOutputStream.exceededMax){ - LogManager.logError(LogConstants.CTX_BUFFER_MGR, "Max block number exceeded. Increase the maxStorageObjectSize to support larger storage objects. Alternatively you could make the processor batch size smaller."); //$NON-NLS-1$ + LogManager.logError(LogConstants.CTX_BUFFER_MGR, "Max block number exceeded " + s.getId() + " " + entry.getId() + " Increase the maxStorageObjectSize to support larger storage objects. Alternatively you could make the processor batch size smaller."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } else { - LogManager.logError(LogConstants.CTX_BUFFER_MGR, e, "Error persisting, attempts to read "+ entry.getId() +" later will result in an exception."); //$NON-NLS-1$ //$NON-NLS-2$ + LogManager.logError(LogConstants.CTX_BUFFER_MGR, e, "Error persisting, attempts to read " + s.getId() + " " + entry.getId() +" later will result in an exception."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ } } finally { if (hasPermit) { @@ -789,9 +789,9 @@ CacheEntry ce = new CacheEntry(new CacheKey(oid, 1, 1), sizeEstimate, serializer.deserialize(dis), ref, true); return ce; } catch(IOException e) { - throw new TeiidComponentException(e, QueryPlugin.Util.getString("FileStoreageManager.error_reading", oid)); //$NON-NLS-1$ + throw new TeiidComponentException(e, QueryPlugin.Util.getString("FileStoreageManager.error_reading", info.gid, oid)); //$NON-NLS-1$ } catch (ClassNotFoundException e) { - throw new TeiidComponentException(e, QueryPlugin.Util.getString("FileStoreageManager.error_reading", oid)); //$NON-NLS-1$ + throw new TeiidComponentException(e, QueryPlugin.Util.getString("FileStoreageManager.error_reading", info.gid, oid)); //$NON-NLS-1$ } catch (InterruptedException e) { throw new TeiidRuntimeException(e); } finally { Modified: branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/impl/BufferManagerImpl.java =================================================================== --- branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/impl/BufferManagerImpl.java 2014-04-16 15:26:45 UTC (rev 4630) +++ branches/7.7.x/engine/src/main/java/org/teiid/common/buffer/impl/BufferManagerImpl.java 2014-04-16 18:26:12 UTC (rev 4631) @@ -48,6 +48,7 @@ import org.teiid.client.BatchSerializer; import org.teiid.client.ResizingArrayList; +import org.teiid.client.util.ExceptionUtil; import org.teiid.common.buffer.*; import org.teiid.common.buffer.AutoCleanupUtil.Removable; import org.teiid.common.buffer.LobManager.ReferenceMode; @@ -205,7 +206,7 @@ CacheKey key = new CacheKey(oid, (int)readAttempts.get(), old!=null?old.getKey().getOrderingValue():0); CacheEntry ce = new CacheEntry(key, sizeEstimate, batch, this.ref, false); if (LogManager.isMessageToBeRecorded(LogConstants.CTX_BUFFER_MGR, MessageLevel.TRACE)) { - LogManager.logTrace(LogConstants.CTX_BUFFER_MGR, "Add batch to BufferManager", ce.getId(), "with size estimate", ce.getSizeEstimate()); //$NON-NLS-1$ //$NON-NLS-2$ + LogManager.logTrace(LogConstants.CTX_BUFFER_MGR, "Add batch to BufferManager", this.id, ce.getId(), "with size estimate", ce.getSizeEstimate()); //$NON-NLS-1$ //$NON-NLS-2$ } maxReserveBytes.addAndGet(-BATCH_OVERHEAD); reserveBatchBytes.addAndGet(-BATCH_OVERHEAD); @@ -236,7 +237,6 @@ @Override public void serialize(List> obj, ObjectOutput oos) throws IOException { - int expectedModCount = 0; ResizingArrayList list = null; if (obj instanceof ResizingArrayList) { list = (ResizingArrayList)obj; @@ -245,11 +245,15 @@ //it's expected that the containing structure has updated the lob manager BatchSerializer.writeBatch(oos, types, obj); } catch (RuntimeException e) { + if (ExceptionUtil.getExceptionOfType(e, ClassCastException.class) != null) { + throw e; + } //there is a chance of a concurrent persist while modifying //in which case we want to swallow this exception - if (list == null || list.getModCount() == expectedModCount) { + if (list == null) { throw e; } + LogManager.logDetail(LogConstants.CTX_BUFFER_MGR, e, "Possible Concurrent Modification", id); //$NON-NLS-1$ } } @@ -756,7 +760,7 @@ if (persist) { long count = writeCount.incrementAndGet(); if (LogManager.isMessageToBeRecorded(LogConstants.CTX_BUFFER_MGR, MessageLevel.DETAIL)) { - LogManager.logDetail(LogConstants.CTX_BUFFER_MGR, ce.getId(), "writing batch to storage, total writes: ", count); //$NON-NLS-1$ + LogManager.logDetail(LogConstants.CTX_BUFFER_MGR, s.getId(), ce.getId(), "writing batch to storage, total writes: ", count); //$NON-NLS-1$ } } boolean result = cache.add(ce, s); @@ -837,7 +841,7 @@ CacheEntry remove(Long gid, Long batch, boolean prefersMemory) { if (LogManager.isMessageToBeRecorded(LogConstants.CTX_BUFFER_MGR, MessageLevel.TRACE)) { - LogManager.logTrace(LogConstants.CTX_BUFFER_MGR, "Removing batch from BufferManager", batch); //$NON-NLS-1$ + LogManager.logTrace(LogConstants.CTX_BUFFER_MGR, "Removing batch from BufferManager", gid, batch); //$NON-NLS-1$ } cleanSoftReferences(); CacheEntry ce = fastGet(batch, prefersMemory, false); Modified: branches/7.7.x/engine/src/main/resources/org/teiid/query/i18n.properties =================================================================== --- branches/7.7.x/engine/src/main/resources/org/teiid/query/i18n.properties 2014-04-16 15:26:45 UTC (rev 4630) +++ branches/7.7.x/engine/src/main/resources/org/teiid/query/i18n.properties 2014-04-16 18:26:12 UTC (rev 4631) @@ -804,7 +804,7 @@ ProcedurePlan.nonNullableParam=The procedure parameter {0} is not nullable, but is set to null. FileStoreageManager.error_creating=Error creating {0} -FileStoreageManager.error_reading=Error reading {0} +FileStoreageManager.error_reading=Error reading {0} {1} FileStoreageManager.no_directory=No directory specified for the file storage manager. FileStoreageManager.not_a_directory={0} is not a valid storage manager directory. FileStoreageManager.space_exhausted=Max buffer space of {2} bytes has been exceed with an allocation of {0} bytes for a total of {1}. The current operation will be aborted. From shawkins at redhat.com Thu Apr 17 09:26:21 2014 From: shawkins at redhat.com (shawkins) Date: Thu, 17 Apr 2014 06:26:21 -0700 Subject: [teiid-commits] [teiid/teiid] cb32ed: TEIID-2928 allowing for multiple security domains Message-ID: <534fd67dc9bd9_73931349d3c830e3@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: cb32ed6ef703098b6d7e8d7a288cbdfec39747f9 https://github.com/teiid/teiid/commit/cb32ed6ef703098b6d7e8d7a288cbdfec39747f9 Author: shawkins Date: 2014-04-17 (Thu, 17 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/dqp/service/SessionService.java M jboss-integration/src/test/java/org/teiid/jboss/TestJBossSessionServiceImpl.java M runtime/src/main/java/org/teiid/services/SessionServiceImpl.java M runtime/src/main/java/org/teiid/transport/LogonImpl.java M runtime/src/test/java/org/teiid/services/TestSessionServiceImpl.java M runtime/src/test/java/org/teiid/transport/TestLogonImpl.java Log Message: ----------- TEIID-2928 allowing for multiple security domains From shawkins at redhat.com Thu Apr 17 10:16:09 2014 From: shawkins at redhat.com (shawkins) Date: Thu, 17 Apr 2014 07:16:09 -0700 Subject: [teiid-commits] [teiid/teiid] d13fae: TEIID-2780 ensuring test works across timezones Message-ID: <534fe2294decf_737994bd4488719@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: d13fae9aff21d83f9c9b31ce0111e101c62d0d9a https://github.com/teiid/teiid/commit/d13fae9aff21d83f9c9b31ce0111e101c62d0d9a Author: shawkins Date: 2014-04-17 (Thu, 17 Apr 2014) Changed paths: M connectors/translator-solr/src/test/java/org/teiid/translator/solr/TestTeiidLanguageToSolr.java Log Message: ----------- TEIID-2780 ensuring test works across timezones From shawkins at redhat.com Thu Apr 17 15:45:02 2014 From: shawkins at redhat.com (shawkins) Date: Thu, 17 Apr 2014 12:45:02 -0700 Subject: [teiid-commits] [teiid/teiid] 89f9e1: TEIID-2931 more efficient full full outer equi joi... Message-ID: <53502f3e20344_74c61029d3c65646@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 89f9e1e4938350271963865d2d8be1c0b76acd44 https://github.com/teiid/teiid/commit/89f9e1e4938350271963865d2d8be1c0b76acd44 Author: shawkins Date: 2014-04-17 (Thu, 17 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/processor/relational/JoinNode.java M engine/src/main/java/org/teiid/query/processor/relational/MergeJoinStrategy.java M test-integration/perf/src/test/java/org/teiid/query/eval/TestEnginePerformance.java Log Message: ----------- TEIID-2931 more efficient full full outer equi join From shawkins at redhat.com Thu Apr 17 15:50:39 2014 From: shawkins at redhat.com (shawkins) Date: Thu, 17 Apr 2014 12:50:39 -0700 Subject: [teiid-commits] [teiid/teiid] 22f093: TEIID-2930 fix for scrolling cursor Message-ID: <5350308f4d00_75cc5abd386719a@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 22f093ab10780765444182a0fad263119840d72f https://github.com/teiid/teiid/commit/22f093ab10780765444182a0fad263119840d72f Author: shawkins Date: 2014-04-17 (Thu, 17 Apr 2014) Changed paths: M runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java M test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java Log Message: ----------- TEIID-2930 fix for scrolling cursor From shawkins at redhat.com Fri Apr 18 08:35:46 2014 From: shawkins at redhat.com (Steve Hawkins) Date: Fri, 18 Apr 2014 05:35:46 -0700 Subject: [teiid-commits] [teiid/teiid] 8611cd: TEIID-2910: Adding deprecation notice to the prope... Message-ID: <53511c2294539_64c6ac1d407497f@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 8611cdb826208a1d9e5762cd284bf3b706fb4b5c https://github.com/teiid/teiid/commit/8611cdb826208a1d9e5762cd284bf3b706fb4b5c Author: Ramesh Reddy Date: 2014-04-09 (Wed, 09 Apr 2014) Changed paths: M api/src/main/java/org/teiid/translator/ExecutionFactory.java Log Message: ----------- TEIID-2910: Adding deprecation notice to the properties that are not needed Commit: ada89f5a489b6721e038471ac384d1b9fce00801 https://github.com/teiid/teiid/commit/ada89f5a489b6721e038471ac384d1b9fce00801 Author: Ramesh Reddy Date: 2014-04-09 (Wed, 09 Apr 2014) Changed paths: M api/src/main/java/org/teiid/translator/ExecutionFactory.java Log Message: ----------- Merge pull request #223 from rareddy/TEIID-2910 TEIID-2910: Adding deprecation notice to the properties that are not nee... Commit: 37a4e057850e33469e804477feadd18b15b99158 https://github.com/teiid/teiid/commit/37a4e057850e33469e804477feadd18b15b99158 Author: shawkins Date: 2014-04-09 (Wed, 09 Apr 2014) Changed paths: M admin/pom.xml M adminshell/pom.xml M api/pom.xml M build/pom.xml M client-jdk15/pom.xml M client/pom.xml M common-core/pom.xml M connectors/connector-accumulo/pom.xml M connectors/connector-cassandra/pom.xml M connectors/connector-file/pom.xml M connectors/connector-google/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-ldap/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-simpledb/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/pom.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/pom.xml M connectors/salesforce-api/pom.xml M connectors/sandbox/pom.xml M connectors/sandbox/translator-yahoo/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-file/pom.xml M connectors/translator-google/pom.xml M connectors/translator-hive/pom.xml M connectors/translator-jdbc/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-ldap/pom.xml M connectors/translator-loopback/pom.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-odata/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-salesforce/pom.xml M connectors/translator-simpledb/pom.xml M connectors/translator-solr/pom.xml M connectors/translator-ws/pom.xml M engine/pom.xml M hibernate-dialect/pom.xml M jboss-integration/pom.xml M metadata/pom.xml M odata/pom.xml M pom.xml M runtime/pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml M test-integration/perf/pom.xml M test-integration/pom.xml Log Message: ----------- correcting the version Commit: 70cf1f6dc241232b5dd2f20ad3124eac094e3702 https://github.com/teiid/teiid/commit/70cf1f6dc241232b5dd2f20ad3124eac094e3702 Author: Ramesh Reddy Date: 2014-04-10 (Thu, 10 Apr 2014) Changed paths: M connectors/connector-simpledb/src/main/java/org/teiid/resource/adapter/simpledb/SimpleDBConnectionImpl.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBDeleteExecute.java M connectors/translator-simpledb/src/test/java/org/teiid/translator/simpledb/visitors/TestSimpleDBExecution.java Log Message: ----------- TEIID-1070: couple minor corrections not to add the data, rather replace or create it; ability to create domains if not existing Commit: c039e9587af2cb45100337c0afb94aa41ee6c33c https://github.com/teiid/teiid/commit/c039e9587af2cb45100337c0afb94aa41ee6c33c Author: Ramesh Reddy Date: 2014-04-10 (Thu, 10 Apr 2014) Changed paths: M connectors/connector-simpledb/src/main/java/org/teiid/resource/adapter/simpledb/SimpleDBConnectionImpl.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBDeleteExecute.java M connectors/translator-simpledb/src/test/java/org/teiid/translator/simpledb/visitors/TestSimpleDBExecution.java Log Message: ----------- Merge pull request #224 from rareddy/TEIID-1070 TEIID-1070: couple minor corrections not to add the data, rather replace... Commit: d8405ddb6e1ae85bae2f458990e51087cba9cc38 https://github.com/teiid/teiid/commit/d8405ddb6e1ae85bae2f458990e51087cba9cc38 Author: shawkins Date: 2014-04-11 (Fri, 11 Apr 2014) Changed paths: M admin/pom.xml M adminshell/pom.xml M api/pom.xml M build/pom.xml M client-jdk15/pom.xml M client/pom.xml M common-core/pom.xml M connectors/connector-accumulo/pom.xml M connectors/connector-cassandra/pom.xml M connectors/connector-file/pom.xml M connectors/connector-google/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-ldap/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-simpledb/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/pom.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/pom.xml M connectors/salesforce-api/pom.xml M connectors/sandbox/pom.xml M connectors/sandbox/translator-yahoo/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-file/pom.xml M connectors/translator-google/pom.xml M connectors/translator-hive/pom.xml M connectors/translator-jdbc/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-ldap/pom.xml M connectors/translator-loopback/pom.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-odata/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-salesforce/pom.xml M connectors/translator-simpledb/pom.xml M connectors/translator-solr/pom.xml M connectors/translator-ws/pom.xml M engine/pom.xml M hibernate-dialect/pom.xml M jboss-integration/pom.xml M metadata/pom.xml M odata/pom.xml M pom.xml M runtime/pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml M test-integration/perf/pom.xml M test-integration/pom.xml Log Message: ----------- removing extra snapshot Commit: 7e363b40ba5eb6f395299d2c7322335a0f2fe7d9 https://github.com/teiid/teiid/commit/7e363b40ba5eb6f395299d2c7322335a0f2fe7d9 Author: Ramesh Reddy Date: 2014-04-11 (Fri, 11 Apr 2014) Changed paths: M connectors/connector-cassandra/src/main/java/org/teiid/resource/adapter/cassandra/CassandraConnectionImpl.java M connectors/connector-cassandra/src/main/java/org/teiid/resource/adapter/cassandra/CassandraManagedConnectionFactory.java M connectors/connector-cassandra/src/main/rar/META-INF/ra.xml Log Message: ----------- TEIID-2923: adding username, pasword and port information to be configurable on a connection Commit: 14df69d097db5db6f5c92a8ef150ab848141b491 https://github.com/teiid/teiid/commit/14df69d097db5db6f5c92a8ef150ab848141b491 Author: Ramesh Reddy Date: 2014-04-11 (Fri, 11 Apr 2014) Changed paths: M connectors/connector-cassandra/src/main/java/org/teiid/resource/adapter/cassandra/CassandraConnectionImpl.java M connectors/connector-cassandra/src/main/java/org/teiid/resource/adapter/cassandra/CassandraManagedConnectionFactory.java M connectors/connector-cassandra/src/main/rar/META-INF/ra.xml Log Message: ----------- Merge pull request #225 from rareddy/TEIID-2923 TEIID-2923: adding username, pasword and port information to be configur... Commit: 622b881425dca223d9ad2465f6d863e3200ff4dd https://github.com/teiid/teiid/commit/622b881425dca223d9ad2465f6d863e3200ff4dd Author: Ramesh Reddy Date: 2014-04-11 (Fri, 11 Apr 2014) Changed paths: M build/kits/jboss-as7/docs/teiid/datasources/cassandra/cassandra.xml Log Message: ----------- TEIID-2923 Commit: 38d506f0558bafa8ad43f3cfb72bd35bac0714cb https://github.com/teiid/teiid/commit/38d506f0558bafa8ad43f3cfb72bd35bac0714cb Author: Ramesh Reddy Date: 2014-04-11 (Fri, 11 Apr 2014) Changed paths: M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveMetadataProcessor.java Log Message: ----------- TEIID-1910: fix of the regression for getConnectorMetadata Commit: 8021b0761453055ee5d37d9bf1e8823a66753c5d https://github.com/teiid/teiid/commit/8021b0761453055ee5d37d9bf1e8823a66753c5d Author: Ramesh Reddy Date: 2014-04-11 (Fri, 11 Apr 2014) Changed paths: M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveMetadataProcessor.java Log Message: ----------- Merge pull request #226 from rareddy/TEIID-2910 TEIID-2910: fix of the regression for getConnectorMetadata Commit: cfe5e282e11d70145d15ffa1c96cfd793f353f79 https://github.com/teiid/teiid/commit/cfe5e282e11d70145d15ffa1c96cfd793f353f79 Author: Ramesh Reddy Date: 2014-04-14 (Mon, 14 Apr 2014) Changed paths: M admin/src/main/java/org/teiid/adminapi/AdminFactory.java M test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java Log Message: ----------- TEIID-2925: Adding driver-name proeprty for the resource-adpater that are module based Commit: ae6190d796ae18cd2379f484d209bd4c865e29ad https://github.com/teiid/teiid/commit/ae6190d796ae18cd2379f484d209bd4c865e29ad Author: Ramesh Reddy Date: 2014-04-14 (Mon, 14 Apr 2014) Changed paths: M admin/src/main/java/org/teiid/adminapi/AdminFactory.java M test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java Log Message: ----------- Merge pull request #227 from rareddy/TEIID-2925 TEIID-2925: Adding driver-name proeprty for the resource-adpater that ar... Commit: 2541b9afe14f3cf25930f39b757f7e1b58d2e6dd https://github.com/teiid/teiid/commit/2541b9afe14f3cf25930f39b757f7e1b58d2e6dd Author: Ramesh Reddy Date: 2014-04-14 (Mon, 14 Apr 2014) Changed paths: M runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java M runtime/src/test/java/org/teiid/deployers/TestTranslatorUtil.java Log Message: ----------- TEIID-2926: fixing the error in returning the default value with translator import property Commit: fd7cc5bf644330325676cac9c6ebe97d0b09350e https://github.com/teiid/teiid/commit/fd7cc5bf644330325676cac9c6ebe97d0b09350e Author: Ramesh Reddy Date: 2014-04-14 (Mon, 14 Apr 2014) Changed paths: M runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java M runtime/src/test/java/org/teiid/deployers/TestTranslatorUtil.java Log Message: ----------- Merge pull request #228 from rareddy/TEIID-2926 TEIID-2926: fixing the error in returning the default value with transla... Commit: db63eb2d8edef0147d65422d07aa0228b9530747 https://github.com/teiid/teiid/commit/db63eb2d8edef0147d65422d07aa0228b9530747 Author: Steve Hawkins Date: 2014-04-16 (Wed, 16 Apr 2014) Changed paths: M admin/pom.xml M adminshell/pom.xml M api/pom.xml M build/pom.xml M client-jdk15/pom.xml M client/pom.xml M common-core/pom.xml M connectors/connector-accumulo/pom.xml M connectors/connector-cassandra/pom.xml M connectors/connector-file/pom.xml M connectors/connector-google/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-ldap/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-simpledb/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/pom.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/pom.xml M connectors/salesforce-api/pom.xml M connectors/sandbox/pom.xml M connectors/sandbox/translator-yahoo/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-file/pom.xml M connectors/translator-google/pom.xml M connectors/translator-hive/pom.xml M connectors/translator-jdbc/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-ldap/pom.xml M connectors/translator-loopback/pom.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-odata/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-salesforce/pom.xml M connectors/translator-simpledb/pom.xml M connectors/translator-solr/pom.xml M connectors/translator-ws/pom.xml M engine/pom.xml M hibernate-dialect/pom.xml M jboss-integration/pom.xml M metadata/pom.xml M odata/pom.xml M pom.xml M runtime/pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml M test-integration/perf/pom.xml M test-integration/pom.xml Log Message: ----------- [maven-release-plugin] prepare release teiid-parent-8.7.0.Final Commit: 5748a13ade3564cf6069f80b39c5b461cc8e657a https://github.com/teiid/teiid/commit/5748a13ade3564cf6069f80b39c5b461cc8e657a Author: Steve Hawkins Date: 2014-04-16 (Wed, 16 Apr 2014) Changed paths: M admin/pom.xml M adminshell/pom.xml M api/pom.xml M build/pom.xml M client-jdk15/pom.xml M client/pom.xml M common-core/pom.xml M connectors/connector-accumulo/pom.xml M connectors/connector-cassandra/pom.xml M connectors/connector-file/pom.xml M connectors/connector-google/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-ldap/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-simpledb/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/pom.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/pom.xml M connectors/salesforce-api/pom.xml M connectors/sandbox/pom.xml M connectors/sandbox/translator-yahoo/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-file/pom.xml M connectors/translator-google/pom.xml M connectors/translator-hive/pom.xml M connectors/translator-jdbc/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-ldap/pom.xml M connectors/translator-loopback/pom.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-odata/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-salesforce/pom.xml M connectors/translator-simpledb/pom.xml M connectors/translator-solr/pom.xml M connectors/translator-ws/pom.xml M engine/pom.xml M hibernate-dialect/pom.xml M jboss-integration/pom.xml M metadata/pom.xml M odata/pom.xml M pom.xml M runtime/pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml M test-integration/perf/pom.xml M test-integration/pom.xml Log Message: ----------- [maven-release-plugin] prepare for next development iteration Commit: cb32ed6ef703098b6d7e8d7a288cbdfec39747f9 https://github.com/teiid/teiid/commit/cb32ed6ef703098b6d7e8d7a288cbdfec39747f9 Author: shawkins Date: 2014-04-17 (Thu, 17 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/dqp/service/SessionService.java M jboss-integration/src/test/java/org/teiid/jboss/TestJBossSessionServiceImpl.java M runtime/src/main/java/org/teiid/services/SessionServiceImpl.java M runtime/src/main/java/org/teiid/transport/LogonImpl.java M runtime/src/test/java/org/teiid/services/TestSessionServiceImpl.java M runtime/src/test/java/org/teiid/transport/TestLogonImpl.java Log Message: ----------- TEIID-2928 allowing for multiple security domains Commit: d13fae9aff21d83f9c9b31ce0111e101c62d0d9a https://github.com/teiid/teiid/commit/d13fae9aff21d83f9c9b31ce0111e101c62d0d9a Author: shawkins Date: 2014-04-17 (Thu, 17 Apr 2014) Changed paths: M connectors/translator-solr/src/test/java/org/teiid/translator/solr/TestTeiidLanguageToSolr.java Log Message: ----------- TEIID-2780 ensuring test works across timezones Commit: 89f9e1e4938350271963865d2d8be1c0b76acd44 https://github.com/teiid/teiid/commit/89f9e1e4938350271963865d2d8be1c0b76acd44 Author: shawkins Date: 2014-04-17 (Thu, 17 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/processor/relational/JoinNode.java M engine/src/main/java/org/teiid/query/processor/relational/MergeJoinStrategy.java M test-integration/perf/src/test/java/org/teiid/query/eval/TestEnginePerformance.java Log Message: ----------- TEIID-2931 more efficient full full outer equi join Commit: 22f093ab10780765444182a0fad263119840d72f https://github.com/teiid/teiid/commit/22f093ab10780765444182a0fad263119840d72f Author: shawkins Date: 2014-04-17 (Thu, 17 Apr 2014) Changed paths: M runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java M test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java Log Message: ----------- TEIID-2930 fix for scrolling cursor Commit: bdc14015f6b424496561b358e046892d42915c59 https://github.com/teiid/teiid/commit/bdc14015f6b424496561b358e046892d42915c59 Author: Steve Hawkins Date: 2014-04-18 (Fri, 18 Apr 2014) Changed paths: M admin/src/main/java/org/teiid/adminapi/AdminFactory.java M api/src/main/java/org/teiid/translator/ExecutionFactory.java M build/kits/jboss-as7/docs/teiid/datasources/cassandra/cassandra.xml M connectors/connector-cassandra/src/main/java/org/teiid/resource/adapter/cassandra/CassandraConnectionImpl.java M connectors/connector-cassandra/src/main/java/org/teiid/resource/adapter/cassandra/CassandraManagedConnectionFactory.java M connectors/connector-cassandra/src/main/rar/META-INF/ra.xml M connectors/connector-simpledb/src/main/java/org/teiid/resource/adapter/simpledb/SimpleDBConnectionImpl.java M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveMetadataProcessor.java M connectors/translator-simpledb/src/main/java/org/teiid/translator/simpledb/SimpleDBDeleteExecute.java M connectors/translator-simpledb/src/test/java/org/teiid/translator/simpledb/visitors/TestSimpleDBExecution.java M connectors/translator-solr/src/test/java/org/teiid/translator/solr/TestTeiidLanguageToSolr.java M engine/src/main/java/org/teiid/query/processor/relational/JoinNode.java M engine/src/main/java/org/teiid/query/processor/relational/MergeJoinStrategy.java M runtime/src/main/java/org/teiid/deployers/TranslatorUtil.java M runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java M runtime/src/test/java/org/teiid/deployers/TestTranslatorUtil.java M test-integration/common/src/test/java/org/teiid/arquillian/IntegrationTestDeployment.java M test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java M test-integration/perf/src/test/java/org/teiid/query/eval/TestEnginePerformance.java Log Message: ----------- Merge branch '8.7.x' Compare: https://github.com/teiid/teiid/compare/a1985ab32271...bdc14015f6b4 From teiid-commits at lists.jboss.org Mon Apr 21 16:33:54 2014 From: teiid-commits at lists.jboss.org (teiid-commits at lists.jboss.org) Date: Mon, 21 Apr 2014 16:33:54 -0400 Subject: [teiid-commits] teiid SVN: r4632 - in branches/7.7.x/engine/src: test/java/org/teiid/query/optimizer and 1 other directory. Message-ID: <201404212033.s3LKXs3p007423@svn01.web.mwc.hst.phx2.redhat.com> Author: jolee Date: 2014-04-21 16:33:53 -0400 (Mon, 21 Apr 2014) New Revision: 4632 Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RulePlanSorts.java branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java Log: TEIID-2921: Allow the projection raising (or order pushing) logic to work with non-simple ordering expressions Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RulePlanSorts.java =================================================================== --- branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RulePlanSorts.java 2014-04-16 18:26:12 UTC (rev 4631) +++ branches/7.7.x/engine/src/main/java/org/teiid/query/optimizer/relational/rules/RulePlanSorts.java 2014-04-21 20:33:53 UTC (rev 4632) @@ -23,6 +23,7 @@ package org.teiid.query.optimizer.relational.rules; import java.util.ArrayList; +import java.util.LinkedHashSet; import java.util.List; import org.teiid.api.exception.query.QueryMetadataException; @@ -34,9 +35,10 @@ import org.teiid.query.optimizer.relational.OptimizerRule; import org.teiid.query.optimizer.relational.RuleStack; import org.teiid.query.optimizer.relational.plantree.NodeConstants; +import org.teiid.query.optimizer.relational.plantree.NodeConstants.Info; import org.teiid.query.optimizer.relational.plantree.NodeEditor; +import org.teiid.query.optimizer.relational.plantree.NodeFactory; import org.teiid.query.optimizer.relational.plantree.PlanNode; -import org.teiid.query.optimizer.relational.plantree.NodeConstants.Info; import org.teiid.query.processor.relational.JoinNode.JoinStrategyType; import org.teiid.query.processor.relational.MergeJoinStrategy.SortOption; import org.teiid.query.sql.lang.OrderBy; @@ -236,17 +238,34 @@ List childOutputCols = (List) projectNode.getFirstChild().getProperty(Info.OUTPUT_COLS); OrderBy orderBy = (OrderBy) node.getProperty(Info.SORT_ORDER); List orderByKeys = orderBy.getSortKeys(); + LinkedHashSet toProject = new LinkedHashSet(); for (SingleElementSymbol ss : orderByKeys) { + SingleElementSymbol original = ss; if(ss instanceof AliasSymbol) { ss = ((AliasSymbol)ss).getSymbol(); } if (ss instanceof ExpressionSymbol && !(ss instanceof AggregateSymbol)) { - return root; //TODO: insert a new project node to handle this case + if (!raiseAccess) { + return root; //TODO: insert a new project node to handle this case + } } if (!childOutputCols.contains(ss)) { - return root; + if (!raiseAccess) { + return root; + } + toProject.add(original); } } + PlanNode toRepair = projectNode.getParent(); + if (!toProject.isEmpty()) { + PlanNode intermediateProject = NodeFactory.getNewNode(NodeConstants.Types.PROJECT); + toProject.addAll(childOutputCols); + List projectCols = new ArrayList(toProject); + childOutputCols = projectCols; + intermediateProject.setProperty(NodeConstants.Info.PROJECT_COLS, projectCols); + intermediateProject.setProperty(NodeConstants.Info.OUTPUT_COLS, new ArrayList(projectCols)); + toRepair.getFirstChild().addAsParent(intermediateProject); + } NodeEditor.removeChildNode(projectNode.getParent(), projectNode); if (parent != null && parent.getType() == NodeConstants.Types.TUPLE_LIMIT && parent.getParent() != null) { parent.addAsParent(projectNode); @@ -270,14 +289,16 @@ unrelated = true; } for (OrderByItem item : orderBy.getOrderByItems()) { - if (unrelated) { + if (unrelated || !toProject.isEmpty()) { //update sort order int index = childOutputCols.indexOf(item.getSymbol()); item.setExpressionPosition(index); } - //strip alias as project was raised - if (item.getSymbol() instanceof AliasSymbol) { - item.setSymbol(((AliasSymbol)item.getSymbol()).getSymbol()); + if (toProject.isEmpty()) { + //strip alias as project was raised + if (item.getSymbol() instanceof AliasSymbol) { + item.setSymbol(((AliasSymbol)item.getSymbol()).getSymbol()); + } } } projectNode.setProperty(Info.OUTPUT_COLS, orderByOutputSymbols); @@ -287,17 +308,25 @@ parent.setProperty(Info.OUTPUT_COLS, childOutputCols); } if (raiseAccess) { - PlanNode accessNode = node.getFirstChild(); + PlanNode accessNode = NodeEditor.findNodePreOrder(node, NodeConstants.Types.ACCESS); + //instead of just calling ruleraiseaccess, we're more selective //we do not want to raise the access node over a project that is handling an unrelated sort PlanNode newRoot = RuleRaiseAccess.raiseAccessNode(root, accessNode, metadata, capFinder, true, record); if (newRoot != null) { + accessNode.setProperty(NodeConstants.Info.OUTPUT_COLS, childOutputCols); root = newRoot; - if (accessNode.getParent().getType() == NodeConstants.Types.TUPLE_LIMIT) { - newRoot = RulePushLimit.raiseAccessOverLimit(root, accessNode, metadata, capFinder, accessNode.getParent(), record); + if (!toProject.isEmpty()) { + newRoot = RuleRaiseAccess.raiseAccessNode(root, accessNode, metadata, capFinder, true, record); } if (newRoot != null) { root = newRoot; + if (accessNode.getParent().getType() == NodeConstants.Types.TUPLE_LIMIT) { + newRoot = RulePushLimit.raiseAccessOverLimit(root, accessNode, metadata, capFinder, accessNode.getParent(), record); + } + if (newRoot != null) { + root = newRoot; + } } } } Modified: branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java =================================================================== --- branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java 2014-04-16 18:26:12 UTC (rev 4631) +++ branches/7.7.x/engine/src/test/java/org/teiid/query/optimizer/TestSortOptimization.java 2014-04-21 20:33:53 UTC (rev 4632) @@ -25,18 +25,25 @@ import static org.junit.Assert.*; import static org.teiid.query.optimizer.TestOptimizer.*; +import java.util.Arrays; +import java.util.List; + import org.junit.Test; import org.teiid.query.optimizer.TestOptimizer.ComparisonMode; import org.teiid.query.optimizer.TestOptimizer.DupRemoveSortNode; import org.teiid.query.optimizer.capabilities.BasicSourceCapabilities; +import org.teiid.query.optimizer.capabilities.CapabilitiesFinder; import org.teiid.query.optimizer.capabilities.DefaultCapabilitiesFinder; import org.teiid.query.optimizer.capabilities.FakeCapabilitiesFinder; import org.teiid.query.optimizer.capabilities.SourceCapabilities.Capability; +import org.teiid.query.processor.HardcodedDataManager; import org.teiid.query.processor.ProcessorPlan; +import org.teiid.query.processor.TestProcessor; import org.teiid.query.processor.relational.LimitNode; import org.teiid.query.processor.relational.ProjectNode; import org.teiid.query.processor.relational.RelationalPlan; import org.teiid.query.unittest.RealMetadataFactory; +import org.teiid.translator.SourceSystemFunctions; public class TestSortOptimization { @@ -300,6 +307,33 @@ new String[] {"SELECT g_0.e1 AS c_0, g_0.e2 AS c_1 FROM pm1.g1 AS g_0 ORDER BY c_0 LIMIT 1"}, ComparisonMode.EXACT_COMMAND_STRING); //$NON-NLS-1$ } + @Test public void testProjectionRaisingWithComplexOrdering() { + String sql = "select e1 || 1, e2 / 2 from pm1.g1 as x order by e1 || 1 limit 2"; //$NON-NLS-1$ + BasicSourceCapabilities bsc = TestOptimizer.getTypicalCapabilities(); + bsc.setFunctionSupport(SourceSystemFunctions.CONCAT, true); + bsc.setCapabilitySupport(Capability.ROW_LIMIT, true); + CapabilitiesFinder finder = new DefaultCapabilitiesFinder(bsc); + RelationalPlan plan = (RelationalPlan)helpPlan(sql, RealMetadataFactory.example1Cached(), null, finder, + new String[] {"SELECT concat(g_0.e1, '1') AS c_0, g_0.e1 AS c_1, g_0.e2 AS c_2 FROM pm1.g1 AS g_0 ORDER BY c_0 LIMIT 2"}, TestOptimizer.SHOULD_SUCCEED); //$NON-NLS-1$ + + assertTrue(plan.getRootNode() instanceof ProjectNode); + } + + @Test public void testProjectionRaisingWithComplexOrdering1() { + String sql = "select e1 || 1 as a, e2 / 2 from pm1.g1 as x order by a, e2 limit 2"; //$NON-NLS-1$ + BasicSourceCapabilities bsc = TestOptimizer.getTypicalCapabilities(); + bsc.setFunctionSupport(SourceSystemFunctions.CONCAT, true); + bsc.setCapabilitySupport(Capability.ROW_LIMIT, true); + CapabilitiesFinder finder = new DefaultCapabilitiesFinder(bsc); + RelationalPlan plan = (RelationalPlan)helpPlan(sql, RealMetadataFactory.example1Cached(), null, finder, + new String[] {"SELECT concat(g_0.e1, '1') AS c_0, g_0.e1 AS c_1, g_0.e2 AS c_2 FROM pm1.g1 AS g_0 ORDER BY c_0, c_2 LIMIT 2"}, TestOptimizer.SHOULD_SUCCEED); //$NON-NLS-1$ + + assertTrue(plan.getRootNode() instanceof ProjectNode); + HardcodedDataManager hdm = new HardcodedDataManager(); + hdm.addData("SELECT concat(g_0.e1, '1') AS c_0, g_0.e1 AS c_1, g_0.e2 AS c_2 FROM pm1.g1 AS g_0 ORDER BY c_0, c_2 LIMIT 2", new List[] {Arrays.asList("c1", "c", 2), Arrays.asList("d1", "d", 3)}); + TestProcessor.helpProcess(plan, hdm, new List[] {Arrays.asList("c1", 1), Arrays.asList("d1", 1)}); + } + //TODO this should trigger another view removal and thus the combination of the grouping/dup operation @Test public void testGroupDupCombination1Pushdown() { FakeCapabilitiesFinder capFinder = new FakeCapabilitiesFinder(); From shawkins at redhat.com Mon Apr 21 20:13:11 2014 From: shawkins at redhat.com (shawkins) Date: Mon, 21 Apr 2014 17:13:11 -0700 Subject: [teiid-commits] [teiid/teiid] b6102e: TEIID-2885 allowing dependent join pushdown to be ... Message-ID: <5355b417c9db_3570afdd4011965f@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: b6102e8683100634662229327b1c0a04a2b185a5 https://github.com/teiid/teiid/commit/b6102e8683100634662229327b1c0a04a2b185a5 Author: shawkins Date: 2014-04-21 (Mon, 21 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/optimizer/relational/rules/NewCalculateCostUtil.java M engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleChooseDependent.java M engine/src/main/java/org/teiid/query/util/Options.java M engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java Log Message: ----------- TEIID-2885 allowing dependent join pushdown to be decided by the planner From shawkins at redhat.com Tue Apr 22 09:34:44 2014 From: shawkins at redhat.com (shawkins) Date: Tue, 22 Apr 2014 06:34:44 -0700 Subject: [teiid-commits] [teiid/teiid] 8cc3d5: TEIID-2885 removing the undo of the speculative pu... Message-ID: <53566ff44c184_702bf95d4488474@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 8cc3d58014802aaa73144e543022c4817c0a90f0 https://github.com/teiid/teiid/commit/8cc3d58014802aaa73144e543022c4817c0a90f0 Author: shawkins Date: 2014-04-22 (Tue, 22 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleChooseDependent.java M engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java Log Message: ----------- TEIID-2885 removing the undo of the speculative pushdown and making default independent size settable From teiid-commits at lists.jboss.org Tue Apr 22 10:11:48 2014 From: teiid-commits at lists.jboss.org (teiid-commits at lists.jboss.org) Date: Tue, 22 Apr 2014 10:11:48 -0400 Subject: [teiid-commits] teiid SVN: r4633 - in branches/7.7.x: test-integration/perf/src/test/java/org/teiid/query/eval and 1 other directory. Message-ID: <201404221411.s3MEBmo4006105@svn01.web.mwc.hst.phx2.redhat.com> Author: jolee Date: 2014-04-22 10:11:47 -0400 (Tue, 22 Apr 2014) New Revision: 4633 Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/processor/relational/JoinNode.java branches/7.7.x/engine/src/main/java/org/teiid/query/processor/relational/MergeJoinStrategy.java branches/7.7.x/test-integration/perf/src/test/java/org/teiid/query/eval/TestEnginePerformance.java Log: TEIID-2931: Perform equi-join full outer joins in a streaming manner Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/processor/relational/JoinNode.java =================================================================== --- branches/7.7.x/engine/src/main/java/org/teiid/query/processor/relational/JoinNode.java 2014-04-21 20:33:53 UTC (rev 4632) +++ branches/7.7.x/engine/src/main/java/org/teiid/query/processor/relational/JoinNode.java 2014-04-22 14:11:47 UTC (rev 4633) @@ -179,7 +179,7 @@ TeiidProcessingException { try { if (state == State.LOAD_LEFT) { - if (this.joinType != JoinType.JOIN_FULL_OUTER) { + if (this.joinType != JoinType.JOIN_FULL_OUTER || this.getJoinCriteria() == null) { this.joinStrategy.leftSource.setImplicitBuffer(ImplicitBuffer.NONE); } //left child was already opened by the join node Modified: branches/7.7.x/engine/src/main/java/org/teiid/query/processor/relational/MergeJoinStrategy.java =================================================================== --- branches/7.7.x/engine/src/main/java/org/teiid/query/processor/relational/MergeJoinStrategy.java 2014-04-21 20:33:53 UTC (rev 4632) +++ branches/7.7.x/engine/src/main/java/org/teiid/query/processor/relational/MergeJoinStrategy.java 2014-04-22 14:11:47 UTC (rev 4633) @@ -212,7 +212,7 @@ outerMatched = false; innerState.reset(); loopState = LoopState.LOAD_INNER; - } else if (matchState == MatchState.MATCH_LEFT && joinNode.getJoinType() == JoinType.JOIN_FULL_OUTER) { + } else if (matchState == MatchState.MATCH_LEFT && joinNode.getJoinType() == JoinType.JOIN_FULL_OUTER && this.joinNode.getJoinCriteria() != null) { // on a full outer join, we need to determine the outer right values as well matchState = MatchState.MATCH_RIGHT; outerState = this.rightSource; @@ -342,7 +342,7 @@ @Override protected void loadRight() throws TeiidComponentException, TeiidProcessingException { - if (this.joinNode.getJoinType() != JoinType.JOIN_FULL_OUTER) { + if (this.joinNode.getJoinType() != JoinType.JOIN_FULL_OUTER || this.joinNode.getJoinCriteria() == null) { this.rightSource.setImplicitBuffer(ImplicitBuffer.ON_MARK); } this.rightSource.sort(this.processingSortRight); Modified: branches/7.7.x/test-integration/perf/src/test/java/org/teiid/query/eval/TestEnginePerformance.java =================================================================== --- branches/7.7.x/test-integration/perf/src/test/java/org/teiid/query/eval/TestEnginePerformance.java 2014-04-21 20:33:53 UTC (rev 4632) +++ branches/7.7.x/test-integration/perf/src/test/java/org/teiid/query/eval/TestEnginePerformance.java 2014-04-22 14:11:47 UTC (rev 4633) @@ -350,6 +350,10 @@ helpTestEquiJoin(bm, 100, 100, 10000, 1, new MergeJoinStrategy(SortOption.SORT, SortOption.SORT, false), JoinType.JOIN_INNER, 100); } + @Test public void runOuterMergeJoin_1_1000_1000() throws Exception { + helpTestEquiJoin(bm, 1000, 1000, 10000, 1, new MergeJoinStrategy(SortOption.SORT, SortOption.SORT, false), JoinType.JOIN_FULL_OUTER, 1000); + } + @Test public void runInnerMergeJoin_4_4000_4000() throws Exception { helpTestEquiJoin(bm, 4000, 4000, 500, 4, new MergeJoinStrategy(SortOption.SORT, SortOption.SORT, false), JoinType.JOIN_INNER, 4000); } From shawkins at redhat.com Tue Apr 22 10:40:19 2014 From: shawkins at redhat.com (shawkins) Date: Tue, 22 Apr 2014 07:40:19 -0700 Subject: [teiid-commits] [teiid/teiid] 545845: TEIID-2885 allowing dependent join pushdown to be ... Message-ID: <53567f537d118_693d1149d3415147@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 5458452b7c485dd1257042c5500fa6d030ba9c14 https://github.com/teiid/teiid/commit/5458452b7c485dd1257042c5500fa6d030ba9c14 Author: shawkins Date: 2014-04-22 (Tue, 22 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/optimizer/relational/rules/NewCalculateCostUtil.java M engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleChooseDependent.java M engine/src/main/java/org/teiid/query/util/Options.java M engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java Log Message: ----------- TEIID-2885 allowing dependent join pushdown to be decided by the planner Commit: 07ac6337565acdf762f00db5612f7f9fd61b73ba https://github.com/teiid/teiid/commit/07ac6337565acdf762f00db5612f7f9fd61b73ba Author: shawkins Date: 2014-04-22 (Tue, 22 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleChooseDependent.java M engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java Log Message: ----------- TEIID-2885 removing the undo of the speculative pushdown and making default independent size settable Compare: https://github.com/teiid/teiid/compare/22f093ab1078...07ac6337565a From docs-author at jboss.org Tue Apr 22 10:50:00 2014 From: docs-author at jboss.org (Steven Hawkins (Confluence)) Date: Tue, 22 Apr 2014 10:50:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.8 (draft) > System Properties Message-ID: <178282795.317.1398178200215.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140422/d713c414/attachment-0001.html From shawkins at redhat.com Tue Apr 22 13:03:47 2014 From: shawkins at redhat.com (shawkins) Date: Tue, 22 Apr 2014 10:03:47 -0700 Subject: [teiid-commits] [teiid/teiid] 1cc0f1: TEIID-2912 adding default import properties Message-ID: <5356a0f3cfc32_5606b23d3848818@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 1cc0f1d9f535f84af7542a8fa17a567677dc8b9a https://github.com/teiid/teiid/commit/1cc0f1d9f535f84af7542a8fa17a567677dc8b9a Author: shawkins Date: 2014-04-22 (Tue, 22 Apr 2014) Changed paths: M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/access/AccessExecutionFactory.java Log Message: ----------- TEIID-2912 adding default import properties From docs-author at jboss.org Tue Apr 22 13:12:00 2014 From: docs-author at jboss.org (Steven Hawkins (Confluence)) Date: Tue, 22 Apr 2014 13:12:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.8 (draft) > JDBC Translator Message-ID: <1639463320.323.1398186720137.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140422/0177b256/attachment-0001.html From docs-author at jboss.org Tue Apr 22 13:12:00 2014 From: docs-author at jboss.org (Steven Hawkins (Confluence)) Date: Tue, 22 Apr 2014 13:12:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.8 (draft) > JDBC Translator Message-ID: <27684491.328.1398186720416.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140422/268aedea/attachment-0001.html From shawkins at redhat.com Tue Apr 22 13:15:40 2014 From: shawkins at redhat.com (Steve Hawkins) Date: Tue, 22 Apr 2014 10:15:40 -0700 Subject: [teiid-commits] [teiid/teiid] 545845: TEIID-2885 allowing dependent join pushdown to be ... Message-ID: <5356a3bc447e4_5c5c13add3c331d9@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 5458452b7c485dd1257042c5500fa6d030ba9c14 https://github.com/teiid/teiid/commit/5458452b7c485dd1257042c5500fa6d030ba9c14 Author: shawkins Date: 2014-04-22 (Tue, 22 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/optimizer/relational/rules/NewCalculateCostUtil.java M engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleChooseDependent.java M engine/src/main/java/org/teiid/query/util/Options.java M engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java Log Message: ----------- TEIID-2885 allowing dependent join pushdown to be decided by the planner Commit: 07ac6337565acdf762f00db5612f7f9fd61b73ba https://github.com/teiid/teiid/commit/07ac6337565acdf762f00db5612f7f9fd61b73ba Author: shawkins Date: 2014-04-22 (Tue, 22 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleChooseDependent.java M engine/src/test/java/org/teiid/query/processor/TestDependentJoins.java Log Message: ----------- TEIID-2885 removing the undo of the speculative pushdown and making default independent size settable Commit: 1cc0f1d9f535f84af7542a8fa17a567677dc8b9a https://github.com/teiid/teiid/commit/1cc0f1d9f535f84af7542a8fa17a567677dc8b9a Author: shawkins Date: 2014-04-22 (Tue, 22 Apr 2014) Changed paths: M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/access/AccessExecutionFactory.java Log Message: ----------- TEIID-2912 adding default import properties Commit: 50109d2ac1768a4440a52aebfdcbfb5f6a83cb59 https://github.com/teiid/teiid/commit/50109d2ac1768a4440a52aebfdcbfb5f6a83cb59 Author: Steve Hawkins Date: 2014-04-22 (Tue, 22 Apr 2014) Changed paths: M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/access/AccessExecutionFactory.java Log Message: ----------- Merge branch '8.7.x' Compare: https://github.com/teiid/teiid/compare/8cc3d5801480...50109d2ac176 From shawkins at redhat.com Wed Apr 23 10:42:16 2014 From: shawkins at redhat.com (shawkins) Date: Wed, 23 Apr 2014 07:42:16 -0700 Subject: [teiid-commits] [teiid/teiid] f4b1e3: TEIID-2933 fix for skip token Message-ID: <5357d148934ed_2404c55d3c470dd@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: f4b1e35c1cb4a4a741d9afce93fd35a4de2aa78a https://github.com/teiid/teiid/commit/f4b1e35c1cb4a4a741d9afce93fd35a4de2aa78a Author: shawkins Date: 2014-04-23 (Wed, 23 Apr 2014) Changed paths: M odata/src/main/java/org/teiid/odata/EntityList.java M odata/src/test/java/org/teiid/odata/TestODataIntegration.java Log Message: ----------- TEIID-2933 fix for skip token From teiid-commits at lists.jboss.org Wed Apr 23 13:49:00 2014 From: teiid-commits at lists.jboss.org (teiid-commits at lists.jboss.org) Date: Wed, 23 Apr 2014 13:49:00 -0400 Subject: [teiid-commits] teiid SVN: r4634 - in branches/7.7.x: test-integration/common/src/test/java/org/teiid/transport and 1 other directory. Message-ID: <201404231749.s3NHn08W027008@svn01.web.mwc.hst.phx2.redhat.com> Author: jolee Date: 2014-04-23 13:48:59 -0400 (Wed, 23 Apr 2014) New Revision: 4634 Modified: branches/7.7.x/runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java Log: TEIID-2930: SCROLL keyword for DECLARE CURSOR not being parsed correctly Modified: branches/7.7.x/runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java =================================================================== --- branches/7.7.x/runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java 2014-04-22 14:11:47 UTC (rev 4633) +++ branches/7.7.x/runtime/src/main/java/org/teiid/odbc/ODBCServerRemoteImpl.java 2014-04-23 17:48:59 UTC (rev 4634) @@ -149,8 +149,8 @@ private static Pattern preparedAutoIncrement = Pattern.compile("select 1 \\s*from pg_catalog.pg_attrdef \\s*where adrelid = \\$1 AND adnum = \\$2 " + //$NON-NLS-1$ "\\s*and pg_catalog.pg_get_expr\\(adbin, adrelid\\) \\s*like '%nextval\\(%'", Pattern.DOTALL|Pattern.CASE_INSENSITIVE); //$NON-NLS-1$ - - private static Pattern cursorSelectPattern = Pattern.compile("DECLARE \"(\\w+)\" CURSOR(\\s(WITH HOLD|SCROLL))? FOR (.*)", Pattern.CASE_INSENSITIVE|Pattern.DOTALL); //$NON-NLS-1$ + + private static Pattern cursorSelectPattern = Pattern.compile("DECLARE\\s+\"(\\w+)\"(?:\\s+INSENSITIVE)?(\\s+(NO\\s+)?SCROLL)?\\s+CURSOR\\s+FOR\\s+(.*)", Pattern.CASE_INSENSITIVE|Pattern.DOTALL); //$NON-NLS-1$ private static Pattern fetchPattern = Pattern.compile("FETCH (\\d+) IN \"(\\w+)\".*", Pattern.DOTALL|Pattern.CASE_INSENSITIVE); //$NON-NLS-1$ private static Pattern movePattern = Pattern.compile("MOVE (\\d+) IN \"(\\w+)\".*", Pattern.DOTALL|Pattern.CASE_INSENSITIVE); //$NON-NLS-1$ private static Pattern closePattern = Pattern.compile("CLOSE \"(\\w+)\"", Pattern.DOTALL|Pattern.CASE_INSENSITIVE); //$NON-NLS-1$ @@ -250,38 +250,46 @@ } } - private void cursorExecute(final String cursorName, final String sql, final ResultsFuture completion) { - if (sql != null) { - try { - // close if the name is already used or the unnamed prepare; otherwise - // stmt is alive until session ends. - Prepared previous = this.preparedMap.remove(cursorName); - if (previous != null) { - previous.stmt.close(); - } - - final PreparedStatementImpl stmt = this.connection.prepareStatement(sql); - this.executionFuture = stmt.submitExecute(ResultsMode.RESULTSET); - this.executionFuture.addCompletionListener(new ResultsFuture.CompletionListener() { - @Override - public void onCompletion(ResultsFuture future) { - executionFuture = null; - try { - if (future.get()) { - List cols = getPgColInfo(stmt.getResultSet().getMetaData()); - cursorMap.put(cursorName, new Cursor(cursorName, sql, stmt, null, stmt.getResultSet(), cols)); - client.sendCommandComplete("DECLARE CURSOR", null); //$NON-NLS-1$ - completion.getResultsReceiver().receiveResults(0); - } - } catch (Throwable e) { - completion.getResultsReceiver().exceptionOccurred(e); - } - } - }); - } catch (SQLException e) { - completion.getResultsReceiver().exceptionOccurred(e); - } - } + private void cursorExecute(String cursorName, final String sql, final ResultsFuture completion, boolean scroll) { + try { + // close if the name is already used or the unnamed prepare; otherwise + // stmt is alive until session ends. + this.preparedMap.remove(UNNAMED); + Portal p = this.portalMap.remove(UNNAMED); + if (p != null) { + closePortal(p); + } + if (cursorName == null || cursorName.length() == 0) { + cursorName = UNNAMED; + } + Cursor cursor = cursorMap.get(cursorName); + if (cursor != null) { + errorOccurred("Cannot use the portal name " + cursorName + " until the exiting instance is closed."); + return; + } + + final PreparedStatementImpl stmt = this.connection.prepareStatement(sql, scroll?ResultSet.TYPE_SCROLL_INSENSITIVE:ResultSet.TYPE_FORWARD_ONLY, ResultSet.CONCUR_READ_ONLY); + this.executionFuture = stmt.submitExecute(ResultsMode.RESULTSET); + final String name = cursorName; + this.executionFuture.addCompletionListener(new ResultsFuture.CompletionListener() { + @Override + public void onCompletion(ResultsFuture future) { + executionFuture = null; + try { + if (future.get()) { + List cols = getPgColInfo(stmt.getResultSet().getMetaData()); + cursorMap.put(name, new Cursor(name, sql, stmt, null, stmt.getResultSet(), cols)); + client.sendCommandComplete("DECLARE CURSOR", null); //$NON-NLS-1$ + completion.getResultsReceiver().receiveResults(0); + } + } catch (Throwable e) { + completion.getResultsReceiver().exceptionOccurred(e); + } + } + }); + } catch (SQLException e) { + completion.getResultsReceiver().exceptionOccurred(e); + } } private void cursorFetch(String cursorName, int rows, final ResultsFuture completion) throws SQLException { @@ -788,6 +796,23 @@ } } } + + private void closePortal(Portal query) { + ResultSet rs = query.rs; + if (rs != null) { + try { + rs.close(); + } catch (SQLException e) { + LogManager.logDetail(LogConstants.CTX_ODBC, e, "Did not successfully close portal", query.name); //$NON-NLS-1$ + } + query.rs = null; + } + try { + query.stmt.close(); + } catch (SQLException e) { + LogManager.logDetail(LogConstants.CTX_ODBC, e, "Did not successfully close portal", query.name); //$NON-NLS-1$ + } + } @Override public void closePreparedStatement(String preparedName) { @@ -930,7 +955,11 @@ Matcher m = null; if ((m = cursorSelectPattern.matcher(sql)).matches()){ - cursorExecute(m.group(1), fixSQL(m.group(4)), results); + boolean scroll = false; + if (m.group(2) != null && m.group(3) == null ) { + scroll = true; + } + cursorExecute(m.group(1), fixSQL(m.group(4)), results, scroll); } else if ((m = fetchPattern.matcher(sql)).matches()){ cursorFetch(m.group(2), Integer.parseInt(m.group(1)), results); @@ -1064,6 +1093,8 @@ * The format used in the result set columns (if set). */ int[] resultColumnFormat; + + volatile ResultSetImpl rs; /** * The prepared statement. Modified: branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java =================================================================== --- branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java 2014-04-22 14:11:47 UTC (rev 4633) +++ branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java 2014-04-23 17:48:59 UTC (rev 4634) @@ -50,6 +50,7 @@ import org.mockito.Mockito; import org.postgresql.Driver; import org.teiid.client.security.ILogon; +import org.postgresql.core.v3.ExtendedQueryExectutorImpl; import org.teiid.common.buffer.BufferManagerFactory; import org.teiid.core.util.UnitTestUtil; import org.teiid.jdbc.FakeServer; @@ -318,6 +319,26 @@ rs.next(); } + @Test public void testScrollCursor() throws Exception { + Statement stmt = conn.createStatement(); + ExtendedQueryExectutorImpl.simplePortal = "foo"; + try { + assertFalse(stmt.execute("declare \"foo\" insensitive scroll cursor for select * from pg_proc;")); + assertFalse(stmt.execute("move 5 in \"foo\"")); + stmt.execute("fetch 10 in \"foo\""); + ResultSet rs = stmt.getResultSet(); + int rowCount = 0; + while (rs.next()) { + rowCount++; + } + assertEquals(6, rowCount); + stmt.execute("close \"foo\""); + } finally { + ExtendedQueryExectutorImpl.simplePortal = null; + } + + } + @Test public void testPgProcedure() throws Exception { Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select has_function_privilege(100, 'foo')"); From teiid-commits at lists.jboss.org Wed Apr 23 13:49:06 2014 From: teiid-commits at lists.jboss.org (teiid-commits at lists.jboss.org) Date: Wed, 23 Apr 2014 13:49:06 -0400 Subject: [teiid-commits] teiid SVN: r4635 - branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport. Message-ID: <201404231749.s3NHn6UD027021@svn01.web.mwc.hst.phx2.redhat.com> Author: jolee Date: 2014-04-23 13:49:06 -0400 (Wed, 23 Apr 2014) New Revision: 4635 Modified: branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java Log: TEIID-2931: Perform equi-join full outer joins in a streaming manner Modified: branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java =================================================================== --- branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java 2014-04-23 17:48:59 UTC (rev 4634) +++ branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java 2014-04-23 17:49:06 UTC (rev 4635) @@ -318,27 +318,28 @@ ResultSet rs = stmt.executeQuery("begin;declare \"foo\" cursor for select * from pg_proc;fetch 10 in \"foo\"; close \"foo\""); rs.next(); } + +// Introduces too many upstream dependencies, manual test against patched server needed. +// @Test public void testScrollCursor() throws Exception { +// Statement stmt = conn.createStatement(); +// //ExtendedQueryExectutorImpl.simplePortal = "foo"; +// try { +// assertFalse(stmt.execute("declare \"foo\" insensitive scroll cursor for select * from pg_proc;")); +// assertFalse(stmt.execute("move 5 in \"foo\"")); +// stmt.execute("fetch 10 in \"foo\""); +// ResultSet rs = stmt.getResultSet(); +// int rowCount = 0; +// while (rs.next()) { +// rowCount++; +// } +// assertEquals(6, rowCount); +// stmt.execute("close \"foo\""); +// } finally { +// // ExtendedQueryExectutorImpl.simplePortal = null; +// } +// +// } - @Test public void testScrollCursor() throws Exception { - Statement stmt = conn.createStatement(); - ExtendedQueryExectutorImpl.simplePortal = "foo"; - try { - assertFalse(stmt.execute("declare \"foo\" insensitive scroll cursor for select * from pg_proc;")); - assertFalse(stmt.execute("move 5 in \"foo\"")); - stmt.execute("fetch 10 in \"foo\""); - ResultSet rs = stmt.getResultSet(); - int rowCount = 0; - while (rs.next()) { - rowCount++; - } - assertEquals(6, rowCount); - stmt.execute("close \"foo\""); - } finally { - ExtendedQueryExectutorImpl.simplePortal = null; - } - - } - @Test public void testPgProcedure() throws Exception { Statement stmt = conn.createStatement(); ResultSet rs = stmt.executeQuery("select has_function_privilege(100, 'foo')"); From teiid-commits at lists.jboss.org Wed Apr 23 14:18:26 2014 From: teiid-commits at lists.jboss.org (teiid-commits at lists.jboss.org) Date: Wed, 23 Apr 2014 14:18:26 -0400 Subject: [teiid-commits] teiid SVN: r4636 - in branches/7.7.x: adminshell and 46 other directories. Message-ID: <201404231818.s3NIIQbA004020@svn01.web.mwc.hst.phx2.redhat.com> Author: jolee Date: 2014-04-23 14:18:25 -0400 (Wed, 23 Apr 2014) New Revision: 4636 Modified: branches/7.7.x/adminshell/pom.xml branches/7.7.x/api/pom.xml branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html branches/7.7.x/build/pom.xml branches/7.7.x/cache-jbosscache/pom.xml branches/7.7.x/client-jdk15/pom.xml branches/7.7.x/client/pom.xml branches/7.7.x/common-core/pom.xml branches/7.7.x/connectors/connector-file/pom.xml branches/7.7.x/connectors/connector-infinispan/pom.xml branches/7.7.x/connectors/connector-ldap/pom.xml branches/7.7.x/connectors/connector-salesforce/pom.xml branches/7.7.x/connectors/connector-ws/pom.xml branches/7.7.x/connectors/pom.xml branches/7.7.x/connectors/salesforce-api/pom.xml branches/7.7.x/connectors/sandbox/connector-coherence/pom.xml branches/7.7.x/connectors/sandbox/connector-template/pom.xml branches/7.7.x/connectors/sandbox/pom.xml branches/7.7.x/connectors/sandbox/translator-coherence/pom.xml branches/7.7.x/connectors/sandbox/translator-yahoo/pom.xml branches/7.7.x/connectors/translator-file/pom.xml branches/7.7.x/connectors/translator-hive/pom.xml branches/7.7.x/connectors/translator-jdbc/pom.xml branches/7.7.x/connectors/translator-ldap/pom.xml branches/7.7.x/connectors/translator-loopback/pom.xml branches/7.7.x/connectors/translator-object/pom.xml branches/7.7.x/connectors/translator-olap/pom.xml branches/7.7.x/connectors/translator-salesforce/pom.xml branches/7.7.x/connectors/translator-ws/pom.xml branches/7.7.x/console/pom.xml branches/7.7.x/documentation/admin-guide/pom.xml branches/7.7.x/documentation/caching-guide/pom.xml branches/7.7.x/documentation/client-developers-guide/pom.xml branches/7.7.x/documentation/developer-guide/pom.xml branches/7.7.x/documentation/javadocs/pom.xml branches/7.7.x/documentation/pom.xml branches/7.7.x/documentation/quick-start-example/pom.xml branches/7.7.x/documentation/reference/pom.xml branches/7.7.x/engine/pom.xml branches/7.7.x/hibernate-dialect/pom.xml branches/7.7.x/jboss-integration/pom.xml branches/7.7.x/metadata/pom.xml branches/7.7.x/pom.xml branches/7.7.x/runtime/pom.xml branches/7.7.x/test-integration/common/pom.xml branches/7.7.x/test-integration/db/pom.xml branches/7.7.x/test-integration/perf/pom.xml branches/7.7.x/test-integration/pom.xml Log: BZ1054940 - Roll up patch EDS_5.3.1_1_2014 Modified: branches/7.7.x/adminshell/pom.xml =================================================================== --- branches/7.7.x/adminshell/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/adminshell/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 teiid-adminshell Modified: branches/7.7.x/api/pom.xml =================================================================== --- branches/7.7.x/api/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/api/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 teiid-api Modified: branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html =================================================================== --- branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/build/kits/jboss-container/teiid-releasenotes.html 2014-04-23 18:18:25 UTC (rev 4636) @@ -242,6 +242,23 @@

From ${project.version}

+

From 7.7.9

+
  • [BZ1029532] - determine if transitive condition is needed
  • [TEIID-1560] - (partial) modified instanceof check in FrameUtil Modified: branches/7.7.x/build/pom.xml =================================================================== --- branches/7.7.x/build/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/build/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 teiid Modified: branches/7.7.x/cache-jbosscache/pom.xml =================================================================== --- branches/7.7.x/cache-jbosscache/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/cache-jbosscache/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 teiid-cache-jbosscache Modified: branches/7.7.x/client/pom.xml =================================================================== --- branches/7.7.x/client/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/client/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 teiid-client Modified: branches/7.7.x/client-jdk15/pom.xml =================================================================== --- branches/7.7.x/client-jdk15/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/client-jdk15/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 teiid-client-jdk15 Modified: branches/7.7.x/common-core/pom.xml =================================================================== --- branches/7.7.x/common-core/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/common-core/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 teiid-common-core Modified: branches/7.7.x/connectors/connector-file/pom.xml =================================================================== --- branches/7.7.x/connectors/connector-file/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/connector-file/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 connector-file Modified: branches/7.7.x/connectors/connector-infinispan/pom.xml =================================================================== --- branches/7.7.x/connectors/connector-infinispan/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/connector-infinispan/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -4,7 +4,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 connector-infinispan Modified: branches/7.7.x/connectors/connector-ldap/pom.xml =================================================================== --- branches/7.7.x/connectors/connector-ldap/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/connector-ldap/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 connector-ldap Modified: branches/7.7.x/connectors/connector-salesforce/pom.xml =================================================================== --- branches/7.7.x/connectors/connector-salesforce/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/connector-salesforce/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 connector-salesforce Modified: branches/7.7.x/connectors/connector-ws/pom.xml =================================================================== --- branches/7.7.x/connectors/connector-ws/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/connector-ws/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 connector-ws Modified: branches/7.7.x/connectors/pom.xml =================================================================== --- branches/7.7.x/connectors/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 org.jboss.teiid Modified: branches/7.7.x/connectors/salesforce-api/pom.xml =================================================================== --- branches/7.7.x/connectors/salesforce-api/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/salesforce-api/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 salesforce-api Modified: branches/7.7.x/connectors/sandbox/connector-coherence/pom.xml =================================================================== --- branches/7.7.x/connectors/sandbox/connector-coherence/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/sandbox/connector-coherence/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ sandbox org.jboss.teiid.connectors - 7.7.9 + 7.7.10 4.0.0 connector-coherence Modified: branches/7.7.x/connectors/sandbox/connector-template/pom.xml =================================================================== --- branches/7.7.x/connectors/sandbox/connector-template/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/sandbox/connector-template/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -6,7 +6,7 @@ ${connector-name} ${connector-name} rar - 7.7.9 + 7.7.10 ${teiid-version} Modified: branches/7.7.x/connectors/sandbox/pom.xml =================================================================== --- branches/7.7.x/connectors/sandbox/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/sandbox/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 org.jboss.teiid.connectors Modified: branches/7.7.x/connectors/sandbox/translator-coherence/pom.xml =================================================================== --- branches/7.7.x/connectors/sandbox/translator-coherence/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/sandbox/translator-coherence/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -8,7 +8,7 @@ 4.0.0 translator-coherence org.jboss.teiid.connectors.sandbox - 7.7.9 + 7.7.10 Coherence Translator This is the tranlator for a Coherence connector Modified: branches/7.7.x/connectors/sandbox/translator-yahoo/pom.xml =================================================================== --- branches/7.7.x/connectors/sandbox/translator-yahoo/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/sandbox/translator-yahoo/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ sandbox org.jboss.teiid.connectors - 7.7.9 + 7.7.10 4.0.0 translator-yahoo Modified: branches/7.7.x/connectors/translator-file/pom.xml =================================================================== --- branches/7.7.x/connectors/translator-file/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/translator-file/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 translator-file Modified: branches/7.7.x/connectors/translator-hive/pom.xml =================================================================== --- branches/7.7.x/connectors/translator-hive/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/translator-hive/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 translator-hive Modified: branches/7.7.x/connectors/translator-jdbc/pom.xml =================================================================== --- branches/7.7.x/connectors/translator-jdbc/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/translator-jdbc/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 translator-jdbc Modified: branches/7.7.x/connectors/translator-ldap/pom.xml =================================================================== --- branches/7.7.x/connectors/translator-ldap/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/translator-ldap/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 translator-ldap Modified: branches/7.7.x/connectors/translator-loopback/pom.xml =================================================================== --- branches/7.7.x/connectors/translator-loopback/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/translator-loopback/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 translator-loopback Modified: branches/7.7.x/connectors/translator-object/pom.xml =================================================================== --- branches/7.7.x/connectors/translator-object/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/translator-object/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 translator-object Modified: branches/7.7.x/connectors/translator-olap/pom.xml =================================================================== --- branches/7.7.x/connectors/translator-olap/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/translator-olap/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 translator-olap Modified: branches/7.7.x/connectors/translator-salesforce/pom.xml =================================================================== --- branches/7.7.x/connectors/translator-salesforce/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/translator-salesforce/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 translator-salesforce Modified: branches/7.7.x/connectors/translator-ws/pom.xml =================================================================== --- branches/7.7.x/connectors/translator-ws/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/connectors/translator-ws/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ connectors org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 translator-ws Modified: branches/7.7.x/console/pom.xml =================================================================== --- branches/7.7.x/console/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/console/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 Modified: branches/7.7.x/documentation/admin-guide/pom.xml =================================================================== --- branches/7.7.x/documentation/admin-guide/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/documentation/admin-guide/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ org.jboss.teiid documentation - 7.7.9 + 7.7.10 4.0.0 admin-guide Modified: branches/7.7.x/documentation/caching-guide/pom.xml =================================================================== --- branches/7.7.x/documentation/caching-guide/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/documentation/caching-guide/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ org.jboss.teiid documentation - 7.7.9 + 7.7.10 4.0.0 caching-guide Modified: branches/7.7.x/documentation/client-developers-guide/pom.xml =================================================================== --- branches/7.7.x/documentation/client-developers-guide/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/documentation/client-developers-guide/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ org.jboss.teiid documentation - 7.7.9 + 7.7.10 4.0.0 client-developers-guide Modified: branches/7.7.x/documentation/developer-guide/pom.xml =================================================================== --- branches/7.7.x/documentation/developer-guide/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/documentation/developer-guide/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ org.jboss.teiid documentation - 7.7.9 + 7.7.10 4.0.0 developer-guide Modified: branches/7.7.x/documentation/javadocs/pom.xml =================================================================== --- branches/7.7.x/documentation/javadocs/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/documentation/javadocs/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ org.jboss.teiid documentation - 7.7.9 + 7.7.10 4.0.0 javadocs Modified: branches/7.7.x/documentation/pom.xml =================================================================== --- branches/7.7.x/documentation/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/documentation/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 org.jboss.teiid Modified: branches/7.7.x/documentation/quick-start-example/pom.xml =================================================================== --- branches/7.7.x/documentation/quick-start-example/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/documentation/quick-start-example/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ org.jboss.teiid documentation - 7.7.9 + 7.7.10 4.0.0 quick-start-example Modified: branches/7.7.x/documentation/reference/pom.xml =================================================================== --- branches/7.7.x/documentation/reference/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/documentation/reference/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ org.jboss.teiid documentation - 7.7.9 + 7.7.10 4.0.0 reference Modified: branches/7.7.x/engine/pom.xml =================================================================== --- branches/7.7.x/engine/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/engine/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 teiid-engine Modified: branches/7.7.x/hibernate-dialect/pom.xml =================================================================== --- branches/7.7.x/hibernate-dialect/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/hibernate-dialect/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 teiid-hibernate-dialect Modified: branches/7.7.x/jboss-integration/pom.xml =================================================================== --- branches/7.7.x/jboss-integration/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/jboss-integration/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -2,7 +2,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 org.jboss.teiid Modified: branches/7.7.x/metadata/pom.xml =================================================================== --- branches/7.7.x/metadata/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/metadata/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 teiid-metadata Modified: branches/7.7.x/pom.xml =================================================================== --- branches/7.7.x/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -5,7 +5,7 @@ teiid-parent pom Teiid - 7.7.9 + 7.7.10 Federated SQL and XML query engine. 1.7.0 Modified: branches/7.7.x/runtime/pom.xml =================================================================== --- branches/7.7.x/runtime/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/runtime/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 org.jboss.teiid Modified: branches/7.7.x/test-integration/common/pom.xml =================================================================== --- branches/7.7.x/test-integration/common/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/test-integration/common/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-test-integration org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 test-integration-common Modified: branches/7.7.x/test-integration/db/pom.xml =================================================================== --- branches/7.7.x/test-integration/db/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/test-integration/db/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -9,7 +9,7 @@ teiid-test-integration org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 Modified: branches/7.7.x/test-integration/perf/pom.xml =================================================================== --- branches/7.7.x/test-integration/perf/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/test-integration/perf/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-test-integration org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 test-integration-perf Modified: branches/7.7.x/test-integration/pom.xml =================================================================== --- branches/7.7.x/test-integration/pom.xml 2014-04-23 17:49:06 UTC (rev 4635) +++ branches/7.7.x/test-integration/pom.xml 2014-04-23 18:18:25 UTC (rev 4636) @@ -3,7 +3,7 @@ teiid-parent org.jboss.teiid - 7.7.9 + 7.7.10 4.0.0 teiid-test-integration From teiid-commits at lists.jboss.org Thu Apr 24 08:09:47 2014 From: teiid-commits at lists.jboss.org (teiid-commits at lists.jboss.org) Date: Thu, 24 Apr 2014 08:09:47 -0400 Subject: [teiid-commits] teiid SVN: r4637 - branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport. Message-ID: <201404241209.s3OC9lKV003774@svn01.web.mwc.hst.phx2.redhat.com> Author: jolee Date: 2014-04-24 08:09:46 -0400 (Thu, 24 Apr 2014) New Revision: 4637 Modified: branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java Log: BZ1054940 - Roll up patch EDS_5.3.1_1_2014 (import statement correction) Modified: branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java =================================================================== --- branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java 2014-04-23 18:18:25 UTC (rev 4636) +++ branches/7.7.x/test-integration/common/src/test/java/org/teiid/transport/TestODBCSocketTransport.java 2014-04-24 12:09:46 UTC (rev 4637) @@ -50,7 +50,7 @@ import org.mockito.Mockito; import org.postgresql.Driver; import org.teiid.client.security.ILogon; -import org.postgresql.core.v3.ExtendedQueryExectutorImpl; +//import org.postgresql.core.v3.ExtendedQueryExectutorImpl; import org.teiid.common.buffer.BufferManagerFactory; import org.teiid.core.util.UnitTestUtil; import org.teiid.jdbc.FakeServer; From docs-author at jboss.org Fri Apr 25 10:56:00 2014 From: docs-author at jboss.org (Steven Hawkins (Confluence)) Date: Fri, 25 Apr 2014 10:56:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.8 (draft) > System Tables Message-ID: <111543702.407.1398437760253.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140425/3482dd36/attachment-0001.html From shawkins at redhat.com Fri Apr 25 14:01:42 2014 From: shawkins at redhat.com (shawkins) Date: Fri, 25 Apr 2014 11:01:42 -0700 Subject: [teiid-commits] [teiid/teiid] 8bd30f: TEIID-2934 TEIID-2935 improving odata performance ... Message-ID: <535aa306e6d39_64c5d19d406652a@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 8bd30f9df746f7ea77744a534311680b2a4969f2 https://github.com/teiid/teiid/commit/8bd30f9df746f7ea77744a534311680b2a4969f2 Author: shawkins Date: 2014-04-25 (Fri, 25 Apr 2014) Changed paths: M odata/src/main/java/org/teiid/odata/Client.java M odata/src/main/java/org/teiid/odata/EntityList.java M odata/src/main/java/org/teiid/odata/LocalClient.java M odata/src/main/java/org/teiid/odata/ODataSQLBuilder.java M odata/src/main/java/org/teiid/odata/TeiidProducer.java M odata/src/test/java/org/teiid/odata/TestODataIntegration.java M odata/src/test/java/org/teiid/odata/TestODataSQLStringVisitor.java Log Message: ----------- TEIID-2934 TEIID-2935 improving odata performance and ensuring the correct inline count is returned From shawkins at redhat.com Sun Apr 27 18:41:33 2014 From: shawkins at redhat.com (Steve Hawkins) Date: Sun, 27 Apr 2014 15:41:33 -0700 Subject: [teiid-commits] [teiid/teiid] f4b1e3: TEIID-2933 fix for skip token Message-ID: <535d879d7686_f07a2fd3c559cd@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: f4b1e35c1cb4a4a741d9afce93fd35a4de2aa78a https://github.com/teiid/teiid/commit/f4b1e35c1cb4a4a741d9afce93fd35a4de2aa78a Author: shawkins Date: 2014-04-23 (Wed, 23 Apr 2014) Changed paths: M odata/src/main/java/org/teiid/odata/EntityList.java M odata/src/test/java/org/teiid/odata/TestODataIntegration.java Log Message: ----------- TEIID-2933 fix for skip token Commit: 8bd30f9df746f7ea77744a534311680b2a4969f2 https://github.com/teiid/teiid/commit/8bd30f9df746f7ea77744a534311680b2a4969f2 Author: shawkins Date: 2014-04-25 (Fri, 25 Apr 2014) Changed paths: M odata/src/main/java/org/teiid/odata/Client.java M odata/src/main/java/org/teiid/odata/EntityList.java M odata/src/main/java/org/teiid/odata/LocalClient.java M odata/src/main/java/org/teiid/odata/ODataSQLBuilder.java M odata/src/main/java/org/teiid/odata/TeiidProducer.java M odata/src/test/java/org/teiid/odata/TestODataIntegration.java M odata/src/test/java/org/teiid/odata/TestODataSQLStringVisitor.java Log Message: ----------- TEIID-2934 TEIID-2935 improving odata performance and ensuring the correct inline count is returned Commit: 58d30748acb17a094cd4a1b00e34fa8fb1185883 https://github.com/teiid/teiid/commit/58d30748acb17a094cd4a1b00e34fa8fb1185883 Author: Steve Hawkins Date: 2014-04-25 (Fri, 25 Apr 2014) Changed paths: M odata/src/main/java/org/teiid/odata/Client.java M odata/src/main/java/org/teiid/odata/EntityList.java M odata/src/main/java/org/teiid/odata/LocalClient.java M odata/src/main/java/org/teiid/odata/ODataSQLBuilder.java M odata/src/main/java/org/teiid/odata/TeiidProducer.java M odata/src/test/java/org/teiid/odata/TestODataIntegration.java M odata/src/test/java/org/teiid/odata/TestODataSQLStringVisitor.java Log Message: ----------- Merge branch '8.7.x' Compare: https://github.com/teiid/teiid/compare/50109d2ac176...58d30748acb1 From docs-author at jboss.org Sun Apr 27 19:44:00 2014 From: docs-author at jboss.org (Steven Hawkins (Confluence)) Date: Sun, 27 Apr 2014 19:44:00 -0400 (EDT) Subject: [teiid-commits] [confluence] Teiid 8.8 (draft) > Memory Management Message-ID: <238102368.430.1398642240223.JavaMail.tomcat@conf01.app.mwc.hst.phx2.redhat.com> An HTML attachment was scrubbed... URL: http://lists.jboss.org/pipermail/teiid-commits/attachments/20140427/a2699a14/attachment.html From shawkins at redhat.com Mon Apr 28 08:45:54 2014 From: shawkins at redhat.com (shawkins) Date: Mon, 28 Apr 2014 05:45:54 -0700 Subject: [teiid-commits] [teiid/teiid] 5a00e0: TEIID-2936 allowing pushdown of large in predicate... Message-ID: <535e4d826c451_1c4f98bd405926a@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 5a00e0eb14374566b29ed26d9f5231c95f4a16f3 https://github.com/teiid/teiid/commit/5a00e0eb14374566b29ed26d9f5231c95f4a16f3 Author: shawkins Date: 2014-04-28 (Mon, 28 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/dqp/internal/datamgr/ConnectorWorkItem.java M engine/src/main/java/org/teiid/dqp/internal/datamgr/LanguageBridgeFactory.java M engine/src/main/java/org/teiid/query/optimizer/relational/rules/CriteriaCapabilityValidatorVisitor.java M engine/src/test/java/org/teiid/dqp/internal/datamgr/TestInCriteriaImpl.java M engine/src/test/java/org/teiid/query/optimizer/TestOptimizer.java M engine/src/test/java/org/teiid/query/optimizer/relational/rules/TestCriteriaCapabilityValidatorVisitor.java Log Message: ----------- TEIID-2936 allowing pushdown of large in predicates From rareddy at jboss.org Mon Apr 28 08:50:55 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Mon, 28 Apr 2014 05:50:55 -0700 Subject: [teiid-commits] [teiid/teiid] 51856b: TEIID-2893: fixing the teiid build to work with EA... Message-ID: <535e4eaf475d1_5a39114fd3810212c@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 51856b0ae1e1ff189cca4383781f978abe9c8a52 https://github.com/teiid/teiid/commit/51856b0ae1e1ff189cca4383781f978abe9c8a52 Author: Ramesh Reddy Date: 2014-04-28 (Mon, 28 Apr 2014) Changed paths: M build/kits/jboss-as7/modules/system/layers/base/org/jboss/teiid/main/module.xml M build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml M connectors/connector-cassandra/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/kits/jboss-as7/modules/org/apache/cxf/impl/frontend-jaxrs/main/module.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/kits/jboss-as7/modules/com/datastax/cassandra/driver/core/main/module.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-google/kits/jboss-as7/modules/org/jboss/teiid/translator/google/api/main/module.xml M connectors/translator-google/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-mongodb/kits/jboss-as7/modules/org/jboss/teiid/translator/mongodb/api/main/module.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-simpledb/kits/jboss-as7/modules/org/jboss/teiid/translator/simpledb/api/main/module.xml M connectors/translator-solr/pom.xml M jboss-integration/pom.xml M pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml Log Message: ----------- TEIID-2893: fixing the teiid build to work with EAP 6.3.0.Alpha1 version Commit: fa54767edebca2f3165b5c4f4fd662854ab12307 https://github.com/teiid/teiid/commit/fa54767edebca2f3165b5c4f4fd662854ab12307 Author: Ramesh Reddy Date: 2014-04-28 (Mon, 28 Apr 2014) Changed paths: M build/kits/jboss-as7/modules/system/layers/base/org/jboss/teiid/main/module.xml M build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml M connectors/connector-cassandra/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/kits/jboss-as7/modules/org/apache/cxf/impl/frontend-jaxrs/main/module.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/kits/jboss-as7/modules/com/datastax/cassandra/driver/core/main/module.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-google/kits/jboss-as7/modules/org/jboss/teiid/translator/google/api/main/module.xml M connectors/translator-google/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-mongodb/kits/jboss-as7/modules/org/jboss/teiid/translator/mongodb/api/main/module.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-simpledb/kits/jboss-as7/modules/org/jboss/teiid/translator/simpledb/api/main/module.xml M connectors/translator-solr/pom.xml M jboss-integration/pom.xml M pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml Log Message: ----------- Merge pull request #229 from rareddy/TEIID-2893 TEIID-2893: fixing the Teiid build to work with EAP 6.3.0.Alpha1 version Compare: https://github.com/teiid/teiid/compare/8bd30f9df746...fa54767edebc From shawkins at redhat.com Mon Apr 28 11:07:11 2014 From: shawkins at redhat.com (shawkins) Date: Mon, 28 Apr 2014 08:07:11 -0700 Subject: [teiid-commits] [teiid/teiid] 4c8e57: cleaning release notes Message-ID: <535e6e9ff527_14e38fdd382148a@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 4c8e57c8f9e7bc4a2a8b099b2e37df4640036bb1 https://github.com/teiid/teiid/commit/4c8e57c8f9e7bc4a2a8b099b2e37df4640036bb1 Author: shawkins Date: 2014-04-28 (Mon, 28 Apr 2014) Changed paths: M build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html Log Message: ----------- cleaning release notes From rareddy at jboss.org Mon Apr 28 11:15:39 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Mon, 28 Apr 2014 08:15:39 -0700 Subject: [teiid-commits] [teiid/teiid] e5c184: TEIID-2893: making build consistent with jboss-as ... Message-ID: <535e709be798d_14e38fdd382181e@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: e5c184bc486d7358a65bb978c30d926517d65438 https://github.com/teiid/teiid/commit/e5c184bc486d7358a65bb978c30d926517d65438 Author: Ramesh Reddy Date: 2014-04-28 (Mon, 28 Apr 2014) Changed paths: M build/kits/jboss-as7/modules/system/layers/base/org/jboss/teiid/main/module.xml M connectors/connector-cassandra/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/kits/jboss-as7/modules/org/apache/cxf/impl/frontend-jaxrs/main/module.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/kits/jboss-as7/modules/com/datastax/cassandra/driver/core/main/module.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-google/kits/jboss-as7/modules/org/jboss/teiid/translator/google/api/main/module.xml M connectors/translator-google/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-mongodb/kits/jboss-as7/modules/org/jboss/teiid/translator/mongodb/api/main/module.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-simpledb/kits/jboss-as7/modules/org/jboss/teiid/translator/simpledb/api/main/module.xml M connectors/translator-solr/pom.xml M pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml Log Message: ----------- TEIID-2893: making build consistent with jboss-as property version names, and centralling managing all the versions of conenctors/transaltors Commit: 81d28d2329a46829005e701f2b3229435445b8a5 https://github.com/teiid/teiid/commit/81d28d2329a46829005e701f2b3229435445b8a5 Author: Ramesh Reddy Date: 2014-04-28 (Mon, 28 Apr 2014) Changed paths: M build/kits/jboss-as7/modules/system/layers/base/org/jboss/teiid/main/module.xml M connectors/connector-cassandra/pom.xml M connectors/connector-infinispan.6/pom.xml M connectors/connector-infinispan/pom.xml M connectors/connector-mongodb/pom.xml M connectors/connector-salesforce/pom.xml M connectors/connector-solr/pom.xml M connectors/connector-ws/kits/jboss-as7/modules/org/apache/cxf/impl/frontend-jaxrs/main/module.xml M connectors/google-api/pom.xml M connectors/mongodb-api/pom.xml M connectors/simpledb-api/pom.xml M connectors/translator-accumulo/pom.xml M connectors/translator-cassandra/kits/jboss-as7/modules/com/datastax/cassandra/driver/core/main/module.xml M connectors/translator-cassandra/pom.xml M connectors/translator-excel/pom.xml M connectors/translator-google/kits/jboss-as7/modules/org/jboss/teiid/translator/google/api/main/module.xml M connectors/translator-google/pom.xml M connectors/translator-jpa/pom.xml M connectors/translator-mongodb/kits/jboss-as7/modules/org/jboss/teiid/translator/mongodb/api/main/module.xml M connectors/translator-mongodb/pom.xml M connectors/translator-object/pom.xml M connectors/translator-olap/pom.xml M connectors/translator-simpledb/kits/jboss-as7/modules/org/jboss/teiid/translator/simpledb/api/main/module.xml M connectors/translator-solr/pom.xml M pom.xml M test-integration/common/pom.xml M test-integration/db/pom.xml Log Message: ----------- Merge pull request #230 from rareddy/TEIID-2893 TEIID-2893: making build consistent with jboss-as property version names... TEIID-2937 Compare: https://github.com/teiid/teiid/compare/4c8e57c8f9e7...81d28d2329a4 From ci-builds at redhat.com Mon Apr 28 12:13:46 2014 From: ci-builds at redhat.com (ci-builds at redhat.com) Date: Mon, 28 Apr 2014 12:13:46 -0400 (EDT) Subject: [teiid-commits] Teiid - Continuous Build - Build # 2385 - Failure! Message-ID: <1684258145.3616.1398701626382.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> Teiid - Continuous Build - Build # 2385 - Failure: Check console output at http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Teiid%20-%20Continuous%20Build/2385/ to view the results. From rareddy at jboss.org Mon Apr 28 12:23:18 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Mon, 28 Apr 2014 09:23:18 -0700 Subject: [teiid-commits] [teiid/teiid] e13855: Update pom.xml Message-ID: <535e807654451_1ef010fdd4428094@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: e13855002564e7a26380dad58aa3803b68436a75 https://github.com/teiid/teiid/commit/e13855002564e7a26380dad58aa3803b68436a75 Author: Ramesh Reddy Date: 2014-04-28 (Mon, 28 Apr 2014) Changed paths: M pom.xml Log Message: ----------- Update pom.xml fixing the build From rareddy at jboss.org Mon Apr 28 12:24:49 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Mon, 28 Apr 2014 09:24:49 -0700 Subject: [teiid-commits] [teiid/teiid] 0dd157: Update pom.xml Message-ID: <535e80d1f372a_693d8efd3c1046b0@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 0dd157d775c07bd1342b11bc691ebb605aa7b244 https://github.com/teiid/teiid/commit/0dd157d775c07bd1342b11bc691ebb605aa7b244 Author: Ramesh Reddy Date: 2014-04-28 (Mon, 28 Apr 2014) Changed paths: M pom.xml Log Message: ----------- Update pom.xml fixing xml bean version From shawkins at redhat.com Mon Apr 28 15:08:06 2014 From: shawkins at redhat.com (shawkins) Date: Mon, 28 Apr 2014 12:08:06 -0700 Subject: [teiid-commits] [teiid/teiid] fce1b0: TEIID-2939 moving apply security before assign out... Message-ID: <535ea716be887_14a2129dd3498533@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: fce1b0607cae5674ee8d8153766f5cef0d0f623c https://github.com/teiid/teiid/commit/fce1b0607cae5674ee8d8153766f5cef0d0f623c Author: shawkins Date: 2014-04-28 (Mon, 28 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java M engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleApplySecurity.java M engine/src/test/java/org/teiid/query/processor/TestRowBasedSecurity.java Log Message: ----------- TEIID-2939 moving apply security before assign output elements From ci-builds at redhat.com Mon Apr 28 15:22:31 2014 From: ci-builds at redhat.com (ci-builds at redhat.com) Date: Mon, 28 Apr 2014 15:22:31 -0400 (EDT) Subject: [teiid-commits] Teiid - Continuous Build - Build # 2386 - Fixed! In-Reply-To: <1684258145.3616.1398701626382.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> References: <1684258145.3616.1398701626382.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> Message-ID: <2039480081.3642.1398712951080.JavaMail.hudsonmaster@jenkins.mw.lab.eng.bos.redhat.com> Teiid - Continuous Build - Build # 2386 - Fixed: Check console output at http://jenkins.mw.lab.eng.bos.redhat.com/hudson/job/Teiid%20-%20Continuous%20Build/2386/ to view the results. From shawkins at redhat.com Mon Apr 28 16:07:37 2014 From: shawkins at redhat.com (shawkins) Date: Mon, 28 Apr 2014 13:07:37 -0700 Subject: [teiid-commits] [teiid/teiid] 95dabb: TEIID-2939 moving apply security before assign out... Message-ID: <535eb5091e849_5aa91131d381176b7@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 95dabb049a4aa28b1b16f0c542592e74666e5c17 https://github.com/teiid/teiid/commit/95dabb049a4aa28b1b16f0c542592e74666e5c17 Author: shawkins Date: 2014-04-28 (Mon, 28 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/optimizer/relational/RelationalPlanner.java M engine/src/main/java/org/teiid/query/optimizer/relational/rules/RuleApplySecurity.java M engine/src/test/java/org/teiid/query/processor/TestRowBasedSecurity.java Log Message: ----------- TEIID-2939 moving apply security before assign output elements From rareddy at jboss.org Tue Apr 29 10:55:09 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Tue, 29 Apr 2014 07:55:09 -0700 Subject: [teiid-commits] [teiid/teiid] 21c781: Update pom.xml Message-ID: <535fbd4df1137_4b1bf6fd38786c3@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 21c781277afe14fa21f6a8863629e87030fb76df https://github.com/teiid/teiid/commit/21c781277afe14fa21f6a8863629e87030fb76df Author: Ramesh Reddy Date: 2014-04-29 (Tue, 29 Apr 2014) Changed paths: M pom.xml Log Message: ----------- Update pom.xml reverting Apache POI version back to 3.9 From shawkins at redhat.com Tue Apr 29 11:17:51 2014 From: shawkins at redhat.com (shawkins) Date: Tue, 29 Apr 2014 08:17:51 -0700 Subject: [teiid-commits] [teiid/teiid] 912a44: TEIID-2940 fixing the alias generator when dealing... Message-ID: <535fc29fd5f01_757511c9d4010796c@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 912a445e351ad20388c74e5f21e75f658d9d5ed7 https://github.com/teiid/teiid/commit/912a445e351ad20388c74e5f21e75f658d9d5ed7 Author: shawkins Date: 2014-04-29 (Tue, 29 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/optimizer/relational/AliasGenerator.java M engine/src/test/java/org/teiid/query/optimizer/relational/TestAliasGenerator.java Log Message: ----------- TEIID-2940 fixing the alias generator when dealing with nested inline views From shawkins at redhat.com Tue Apr 29 11:19:48 2014 From: shawkins at redhat.com (shawkins) Date: Tue, 29 Apr 2014 08:19:48 -0700 Subject: [teiid-commits] [teiid/teiid] 12c14d: TEIID-2940 fixing the alias generator when dealing... Message-ID: <535fc3142d4d9_66c3a0bd3876069@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 12c14d15dbc28660915dd05736183ae8bd976952 https://github.com/teiid/teiid/commit/12c14d15dbc28660915dd05736183ae8bd976952 Author: shawkins Date: 2014-04-29 (Tue, 29 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/optimizer/relational/AliasGenerator.java M engine/src/test/java/org/teiid/query/optimizer/relational/TestAliasGenerator.java Log Message: ----------- TEIID-2940 fixing the alias generator when dealing with nested inline views From rareddy at jboss.org Tue Apr 29 12:22:15 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Tue, 29 Apr 2014 09:22:15 -0700 Subject: [teiid-commits] [teiid/teiid] 65e095: TEIID-2647: Adding impala translator Message-ID: <535fd1b74ec9_72b4d81d3c58081@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 65e095b3f02891379f1efe4aa854b2561df67643 https://github.com/teiid/teiid/commit/65e095b3f02891379f1efe4aa854b2561df67643 Author: Ramesh Reddy Date: 2014-04-29 (Tue, 29 Apr 2014) Changed paths: M build/kits/jboss-as7/bin/scripts/teiid-domain-mode-install.cli M build/kits/jboss-as7/bin/scripts/teiid-standalone-mode-install.cli A build/kits/jboss-as7/docs/teiid/datasources/impala/impala.xml A build/kits/jboss-as7/docs/teiid/datasources/impala/modules/system/layers/base/org/apache/hadoop/impala/main/module.xml A build/kits/jboss-as7/docs/teiid/datasources/impala/readme.txt M build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml A connectors/translator-hive/src/main/java/org/teiid/translator/hive/BaseHiveExecutionFactory.java M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveExecutionFactory.java A connectors/translator-hive/src/main/java/org/teiid/translator/hive/HivePlugin.java M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveSQLConversionVisitor.java A connectors/translator-hive/src/main/java/org/teiid/translator/hive/ImpalaExecutionFactory.java M connectors/translator-hive/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory A connectors/translator-hive/src/main/resources/org/teiid/translator/hive/i18n.properties M connectors/translator-hive/src/test/java/org/teiid/translator/hive/TestHiveExecutionFactory.java A connectors/translator-hive/src/test/java/org/teiid/translator/hive/TestImpalaExecutionFactory.java Log Message: ----------- TEIID-2647: Adding impala translator Commit: 62b586fb2cee5e2e32fef0430dbdd521e0abd804 https://github.com/teiid/teiid/commit/62b586fb2cee5e2e32fef0430dbdd521e0abd804 Author: Ramesh Reddy Date: 2014-04-29 (Tue, 29 Apr 2014) Changed paths: M build/kits/jboss-as7/bin/scripts/teiid-domain-mode-install.cli M build/kits/jboss-as7/bin/scripts/teiid-standalone-mode-install.cli A build/kits/jboss-as7/docs/teiid/datasources/impala/impala.xml A build/kits/jboss-as7/docs/teiid/datasources/impala/modules/system/layers/base/org/apache/hadoop/impala/main/module.xml A build/kits/jboss-as7/docs/teiid/datasources/impala/readme.txt M build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml A connectors/translator-hive/src/main/java/org/teiid/translator/hive/BaseHiveExecutionFactory.java M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveExecutionFactory.java A connectors/translator-hive/src/main/java/org/teiid/translator/hive/HivePlugin.java M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveSQLConversionVisitor.java A connectors/translator-hive/src/main/java/org/teiid/translator/hive/ImpalaExecutionFactory.java M connectors/translator-hive/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory A connectors/translator-hive/src/main/resources/org/teiid/translator/hive/i18n.properties M connectors/translator-hive/src/test/java/org/teiid/translator/hive/TestHiveExecutionFactory.java A connectors/translator-hive/src/test/java/org/teiid/translator/hive/TestImpalaExecutionFactory.java Log Message: ----------- Merge pull request #231 from rareddy/TEIID-2647 TEIID-2647: Adding impala translator Compare: https://github.com/teiid/teiid/compare/12c14d15dbc2...62b586fb2cee From rareddy at jboss.org Tue Apr 29 12:45:12 2014 From: rareddy at jboss.org (Ramesh Reddy) Date: Tue, 29 Apr 2014 09:45:12 -0700 Subject: [teiid-commits] [teiid/teiid] 2257f4: TEIID-2647: adding a translator for cloudera's imp... Message-ID: <535fd7182d586_3e32f2fd3c8508e@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 2257f4f8d9b9e5897cfa6616ce7c1cb5226c215b https://github.com/teiid/teiid/commit/2257f4f8d9b9e5897cfa6616ce7c1cb5226c215b Author: Ramesh Reddy Date: 2014-04-29 (Tue, 29 Apr 2014) Changed paths: M build/kits/jboss-as7/bin/scripts/teiid-domain-mode-install.cli M build/kits/jboss-as7/bin/scripts/teiid-standalone-mode-install.cli A build/kits/jboss-as7/docs/teiid/datasources/impala/impala.xml A build/kits/jboss-as7/docs/teiid/datasources/impala/modules/system/layers/base/org/apache/hadoop/impala/main/module.xml A build/kits/jboss-as7/docs/teiid/datasources/impala/readme.txt M build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html M build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml A connectors/translator-hive/src/main/java/org/teiid/translator/hive/BaseHiveExecutionFactory.java M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveExecutionFactory.java A connectors/translator-hive/src/main/java/org/teiid/translator/hive/HivePlugin.java M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveSQLConversionVisitor.java A connectors/translator-hive/src/main/java/org/teiid/translator/hive/ImpalaExecutionFactory.java M connectors/translator-hive/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory A connectors/translator-hive/src/main/resources/org/teiid/translator/hive/i18n.properties M connectors/translator-hive/src/test/java/org/teiid/translator/hive/TestHiveExecutionFactory.java A connectors/translator-hive/src/test/java/org/teiid/translator/hive/TestImpalaExecutionFactory.java Log Message: ----------- TEIID-2647: adding a translator for cloudera's impala data source Commit: 629ecd6308da14bef3541f8f03b61a13b84bcde8 https://github.com/teiid/teiid/commit/629ecd6308da14bef3541f8f03b61a13b84bcde8 Author: Ramesh Reddy Date: 2014-04-29 (Tue, 29 Apr 2014) Changed paths: M build/kits/jboss-as7/bin/scripts/teiid-domain-mode-install.cli M build/kits/jboss-as7/bin/scripts/teiid-standalone-mode-install.cli A build/kits/jboss-as7/docs/teiid/datasources/impala/impala.xml A build/kits/jboss-as7/docs/teiid/datasources/impala/modules/system/layers/base/org/apache/hadoop/impala/main/module.xml A build/kits/jboss-as7/docs/teiid/datasources/impala/readme.txt M build/kits/jboss-as7/docs/teiid/teiid-releasenotes.html M build/kits/jboss-as7/standalone/configuration/standalone-teiid.xml A connectors/translator-hive/src/main/java/org/teiid/translator/hive/BaseHiveExecutionFactory.java M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveExecutionFactory.java A connectors/translator-hive/src/main/java/org/teiid/translator/hive/HivePlugin.java M connectors/translator-hive/src/main/java/org/teiid/translator/hive/HiveSQLConversionVisitor.java A connectors/translator-hive/src/main/java/org/teiid/translator/hive/ImpalaExecutionFactory.java M connectors/translator-hive/src/main/resources/META-INF/services/org.teiid.translator.ExecutionFactory A connectors/translator-hive/src/main/resources/org/teiid/translator/hive/i18n.properties M connectors/translator-hive/src/test/java/org/teiid/translator/hive/TestHiveExecutionFactory.java A connectors/translator-hive/src/test/java/org/teiid/translator/hive/TestImpalaExecutionFactory.java Log Message: ----------- Merge pull request #232 from rareddy/TEIID-2647 TEIID-2647: adding a translator for cloudera's impala data source Compare: https://github.com/teiid/teiid/compare/912a445e351a...629ecd6308da From shawkins at redhat.com Tue Apr 29 20:03:23 2014 From: shawkins at redhat.com (shawkins) Date: Tue, 29 Apr 2014 17:03:23 -0700 Subject: [teiid-commits] [teiid/teiid] 0481eb: TEIID-2942 fix for duplicate results from enhanced... Message-ID: <53603dcb4c3e1_357579dd44897fa@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: 0481ebf85ebb92a4e2c7b9af52191e054400e45d https://github.com/teiid/teiid/commit/0481ebf85ebb92a4e2c7b9af52191e054400e45d Author: shawkins Date: 2014-04-29 (Tue, 29 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/processor/relational/EnhancedSortMergeJoinStrategy.java M engine/src/test/java/org/teiid/query/processor/relational/TestJoinNode.java Log Message: ----------- TEIID-2942 fix for duplicate results from enhanced sort join From shawkins at redhat.com Tue Apr 29 20:14:37 2014 From: shawkins at redhat.com (shawkins) Date: Tue, 29 Apr 2014 17:14:37 -0700 Subject: [teiid-commits] [teiid/teiid] 660e8f: TEIID-2942 fix for duplicate results from enhanced... Message-ID: <5360406d4602c_349ca1fd3820295@hookshot-fe2-cp1-prd.iad.github.net.mail> Branch: refs/heads/8.7.x Home: https://github.com/teiid/teiid Commit: 660e8f1efb842be69408e3c94095ef791b5759cd https://github.com/teiid/teiid/commit/660e8f1efb842be69408e3c94095ef791b5759cd Author: shawkins Date: 2014-04-29 (Tue, 29 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/processor/relational/EnhancedSortMergeJoinStrategy.java M engine/src/test/java/org/teiid/query/processor/relational/TestJoinNode.java Log Message: ----------- TEIID-2942 fix for duplicate results from enhanced sort join From shawkins at redhat.com Wed Apr 30 16:08:25 2014 From: shawkins at redhat.com (shawkins) Date: Wed, 30 Apr 2014 13:08:25 -0700 Subject: [teiid-commits] [teiid/teiid] f840ed: refactoring method names for clarity Message-ID: <53615839e28e4_6622f09d44267255@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: f840ed8283aad9cbe8d3019467a88d951d695659 https://github.com/teiid/teiid/commit/f840ed8283aad9cbe8d3019467a88d951d695659 Author: shawkins Date: 2014-04-30 (Wed, 30 Apr 2014) Changed paths: M engine/src/main/java/org/teiid/query/processor/relational/EnhancedSortMergeJoinStrategy.java M engine/src/main/java/org/teiid/query/processor/relational/JoinNode.java M engine/src/main/java/org/teiid/query/processor/relational/JoinStrategy.java M engine/src/main/java/org/teiid/query/processor/relational/MergeJoinStrategy.java M engine/src/main/java/org/teiid/query/processor/relational/SourceState.java Log Message: ----------- refactoring method names for clarity From shawkins at redhat.com Wed Apr 30 19:43:19 2014 From: shawkins at redhat.com (shawkins) Date: Wed, 30 Apr 2014 16:43:19 -0700 Subject: [teiid-commits] [teiid/teiid] ad89ee: TEIID-2943 correcting getIndexInfo Message-ID: <53618a9747a57_747fe5d441065f0@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: ad89eeb61859e89ba17f3a751c120ffc1588e36d https://github.com/teiid/teiid/commit/ad89eeb61859e89ba17f3a751c120ffc1588e36d Author: shawkins Date: 2014-04-30 (Wed, 30 Apr 2014) Changed paths: M client/src/main/java/org/teiid/jdbc/DatabaseMetaDataImpl.java M test-integration/common/src/test/java/org/teiid/systemmodel/TestPartsDatabaseMetadata.java M test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testIndexInfo.expected A test-integration/common/src/test/resources/TestPartsDatabaseMetadata/testIndexInfoAll.expected Log Message: ----------- TEIID-2943 correcting getIndexInfo From shawkins at redhat.com Wed Apr 30 19:46:21 2014 From: shawkins at redhat.com (shawkins) Date: Wed, 30 Apr 2014 16:46:21 -0700 Subject: [teiid-commits] [teiid/teiid] d28200: TEIID-2922 ensuring constraints are uniquely named... Message-ID: <53618b4d776b2_6ed1121d3481333@hookshot-fe1-cp1-prd.iad.github.net.mail> Branch: refs/heads/master Home: https://github.com/teiid/teiid Commit: d28200c6f45cba9c0f4b79a1cf2fde94f2730fb8 https://github.com/teiid/teiid/commit/d28200c6f45cba9c0f4b79a1cf2fde94f2730fb8 Author: shawkins Date: 2014-04-30 (Wed, 30 Apr 2014) Changed paths: M connectors/translator-jdbc/src/main/java/org/teiid/translator/jdbc/JDBCMetdataProcessor.java M engine/src/main/java/org/teiid/query/QueryPlugin.java M engine/src/main/java/org/teiid/query/metadata/DDLStringVisitor.java M engine/src/main/java/org/teiid/query/metadata/MetadataValidator.java M engine/src/main/resources/org/teiid/query/i18n.properties M engine/src/test/java/org/teiid/query/metadata/TestMetadataValidator.java M test-integration/common/src/test/java/org/teiid/jdbc/TestDynamicImportedMetaData.java Log Message: ----------- TEIID-2922 ensuring constraints are uniquely named and ensuring that doubly reporting the primary key won't cause invalid metadata