From torquewford@example.com Thu Dec 02 11:45:58 2010 Return-Path: <torquewford@example.com> Delivered-To: wford@example.com Received: (qmail 80039 invoked from network); 2 Dec 2010 11:45:58 -0000 Received: from unknown (HELO mail.apache.org) (83.161.120.155) by 83.161.120.155 with SMTP; 2 Dec 2010 11:45:58 -0000 Received: (qmail 36058 invoked by uid 500); 2 Dec 2010 11:45:58 -0000 Delivered-To: wford@example.com Received: (qmail 35965 invoked by uid 500); 2 Dec 2010 11:45:56 -0000 Mailing-List: contact wford@example.com; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:wford@example.com> List-Help: <mailto:wford@example.com> List-Post: <mailto:wford@example.com> List-Id: "Apache Torque Developers List" <torque-dev.db.apache.org> Reply-To: "Apache Torque Developers List" <wford@example.com> Delivered-To: mailing list wford@example.com Received: (qmail 35957 invoked by uid 99); 2 Dec 2010 11:45:55 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Dec 2010 11:45:55 +0000 X-ASF-Spam-Status: No, hits=-1999.6 required=10.0 tests=ALL_TRUSTED,INVALID_DATE X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO vmgump.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Dec 2010 11:45:55 +0000 Received: from vmgump.apache.org (localhost [83.161.120.155]) by vmgump.apache.org (Postfix) with ESMTP id E978D140AA4 for <wford@example.com>; Thu, 2 Dec 2010 11:48:59 +0000 (UTC) Date: Thu, 02 Dec 2010 11:48:59 UTC From: wford@example.com To: wford@example.com Subject: [GUMP@vmgump]: Project db-torque-generator (in module db-torque) failed Message-Id: <wford@example.com> To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at wford@example.com. Project db-torque-generator has an issue affecting its community integration. This issue affects 3 projects, and has been outstanding for 66 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - db-torque-generator : Persistence Layer - db-torque-templates : Persistence Layer - db-torque-templates-test : Persistence Layer Full details are available at: http://vmgump.apache.org/gump/public/db-torque/db-torque-generator/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -INFO- Optional dependency velocity-engine prerequisite failed with reason build failed -INFO- Optional dependency commons-collections failed with reason build failed -INFO- Optional dependency velocity-texen prerequisite failed with reason build failed -INFO- Optional dependency commons-logging prerequisite failed with reason build failed -DEBUG- (Apache Gump generated) Apache Maven Settings in: /srv/gump/public/workspace/db-torque/torque-generator/gump_mvn_settings.xml -INFO- Failed with reason build failed -DEBUG- Maven POM in: /srv/gump/public/workspace/db-torque/torque-generator/pom.xml -DEBUG- Extracted fallback artifacts from Gump Repository The following work was performed: http://vmgump.apache.org/gump/public/db-torque/db-torque-generator/gump_work/build_db-torque_db-torque-generator.html Work Name: build_db-torque_db-torque-generator (Type: Build) Work ended in a state of : Failed Elapsed: 4 secs Command Line: /opt/maven2/bin/mvn --batch-mode --settings /srv/gump/public/workspace/db-torque/torque-generator/gump_mvn_settings.xml install [Working Directory: /srv/gump/public/workspace/db-torque/torque-generator] M2_HOME: /opt/maven2 --------------------------------------------- [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Building Torque Generator [INFO] task-segment: [install] [INFO] ------------------------------------------------------------------------ Downloading: http://localhost:8192/maven2/org/apache/maven/plugins/maven-surefire-plugin/2.4.2/maven-surefire-plugin-2.4.2.pom Downloading: http://localhost:8192/maven2/org/apache/maven/surefire/surefire/2.4.2/surefire-2.4.2.pom [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Error building POM (may not be this project's POM). Project ID: org.apache.maven:maven-parent:pom:7 Reason: Cannot find parent: org.apache:apache for project: org.apache.maven:maven-parent:pom:7 for project org.apache.maven:maven-parent:pom:7 [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------ [INFO] Total time: 3 seconds [INFO] Finished at: Thu Dec 02 11:48:59 UTC 2010 [INFO] Final Memory: 5M/15M [INFO] ------------------------------------------------------------------------ --------------------------------------------- To subscribe to this information via syndicated feeds: - RSS: http://vmgump.apache.org/gump/public/db-torque/db-torque-generator/rss.xml - Atom: http://vmgump.apache.org/gump/public/db-torque/db-torque-generator/atom.xml ============================== Gump Tracking Only === Produced by Apache Gump(TM) version 2.3. Gump Run 11000602122010, vmgump.apache.org:vmgump:11000602122010 Gump E-mail Identifier (unique within run) #48. -- Apache Gump http://gump.apache.org/ [Instance: vmgump] --------------------------------------------------------------------- To unsubscribe, e-mail: wford@example.com For additional commands, e-mail: wford@example.com From torquewford@example.com Thu Dec 02 13:53:18 2010 Return-Path: <torquewford@example.com> Delivered-To: wford@example.com Received: (qmail 77038 invoked from network); 2 Dec 2010 13:53:18 -0000 Received: from unknown (HELO mail.apache.org) (83.161.120.155) by 83.161.120.155 with SMTP; 2 Dec 2010 13:53:18 -0000 Received: (qmail 93515 invoked by uid 500); 2 Dec 2010 13:53:18 -0000 Delivered-To: wford@example.com Received: (qmail 93430 invoked by uid 500); 2 Dec 2010 13:53:16 -0000 Mailing-List: contact wford@example.com; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:wford@example.com> List-Help: <mailto:wford@example.com> List-Post: <mailto:wford@example.com> List-Id: "Apache Torque Developers List" <torque-dev.db.apache.org> Reply-To: "Apache Torque Developers List" <wford@example.com> Delivered-To: mailing list wford@example.com Received: (qmail 93422 invoked by uid 99); 2 Dec 2010 13:53:16 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Dec 2010 13:53:16 +0000 X-ASF-Spam-Status: No, hits=-1999.6 required=10.0 tests=ALL_TRUSTED,INVALID_DATE X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO vmgump.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Dec 2010 13:53:15 +0000 Received: from vmgump.apache.org (localhost [83.161.120.155]) by vmgump.apache.org (Postfix) with ESMTP id D2C3614092C for <wford@example.com>; Thu, 2 Dec 2010 13:56:20 +0000 (UTC) Date: Thu, 02 Dec 2010 13:56:20 UTC From: wford@example.com To: wford@example.com Subject: [GUMP@vmgump]: Project db-torque-runtime (in module db-torque) failed Message-Id: <wford@example.com> To whom it may engage... This is an automated request, but not an unsolicited one. For more information please visit http://gump.apache.org/nagged.html, and/or contact the folk at wford@example.com. Project db-torque-runtime has an issue affecting its community integration. This issue affects 2 projects, and has been outstanding for 56 runs. The current state of this project is 'Failed', with reason 'Build Failed'. For reference only, the following projects are affected by this: - db-torque-runtime : Persistence Layer - db-torque-runtime-test : Persistence Layer Full details are available at: http://vmgump.apache.org/gump/public/db-torque/db-torque-runtime/index.html That said, some information snippets are provided here. The following annotations (debug/informational/warning/error messages) were provided: -INFO- Optional dependency fulcrum_fulcrum-testcontainer prerequisite failed with reason build failed -INFO- Optional dependency fulcrum_fulcrum-yaafi prerequisite failed with reason build failed -INFO- Optional dependency commons-jxpath prerequisite failed with reason build failed -INFO- Optional dependency avalon-framework_avalon-framework-impl prerequisite failed with reason build failed -INFO- Optional dependency jakarta-turbine-jcs prerequisite failed with reason build failed -INFO- Optional dependency velocity-engine prerequisite failed with reason build failed -INFO- Optional dependency commons-digester prerequisite failed with reason build failed -INFO- Optional dependency commons-beanutils prerequisite failed with reason build failed -INFO- Optional dependency commons-dbcp prerequisite failed with reason build failed -INFO- Optional dependency commons-pool prerequisite failed with reason build failed -INFO- Optional dependency commons-collections failed with reason build failed -INFO- Optional dependency dom4j prerequisite failed with reason build failed -INFO- Optional dependency velocity-dvsl prerequisite failed with reason build failed -INFO- Optional dependency commons-logging prerequisite failed with reason build failed -INFO- Optional dependency avalon-framework_avalon-framework-api prerequisite failed with reason build failed -INFO- Optional dependency james-imap prerequisite failed with reason build failed -INFO- Optional dependency commons-configuration prerequisite failed with reason build failed -DEBUG- (Apache Gump generated) Apache Maven Settings in: /srv/gump/public/workspace/db-torque/torque-runtime/gump_mvn_settings.xml -INFO- Failed with reason build failed -DEBUG- Maven POM in: /srv/gump/public/workspace/db-torque/torque-runtime/pom.xml -DEBUG- Extracted fallback artifacts from Gump Repository The following work was performed: http://vmgump.apache.org/gump/public/db-torque/db-torque-runtime/gump_work/build_db-torque_db-torque-runtime.html Work Name: build_db-torque_db-torque-runtime (Type: Build) Work ended in a state of : Failed Elapsed: 7 secs Command Line: /opt/maven2/bin/mvn --batch-mode -DskipTests=true --settings /srv/gump/public/workspace/db-torque/torque-runtime/gump_mvn_settings.xml install [Working Directory: /srv/gump/public/workspace/db-torque/torque-runtime] M2_HOME: /opt/maven2 --------------------------------------------- [INFO] Scanning for projects... [INFO] ------------------------------------------------------------------------ [INFO] Building Torque Runtime [INFO] task-segment: [install] [INFO] ------------------------------------------------------------------------ Downloading: http://localhost:8192/maven2/org/apache/maven/plugins/maven-eclipse-plugin/2.7/maven-eclipse-plugin-2.7.pom Downloading: http://localhost:8192/maven2/org/apache/maven/plugins/maven-eclipse-plugin/2.7/maven-eclipse-plugin-2.7.jar [INFO] ------------------------------------------------------------------------ [ERROR] BUILD ERROR [INFO] ------------------------------------------------------------------------ [INFO] Error building POM (may not be this project's POM). Project ID: org.apache.maven:maven-parent:pom:7 Reason: Cannot find parent: org.apache:apache for project: org.apache.maven:maven-parent:pom:7 for project org.apache.maven:maven-parent:pom:7 [INFO] ------------------------------------------------------------------------ [INFO] For more information, run Maven with the -e switch [INFO] ------------------------------------------------------------------------ [INFO] Total time: 6 seconds [INFO] Finished at: Thu Dec 02 13:56:20 UTC 2010 [INFO] Final Memory: 22M/52M [INFO] ------------------------------------------------------------------------ --------------------------------------------- To subscribe to this information via syndicated feeds: - RSS: http://vmgump.apache.org/gump/public/db-torque/db-torque-runtime/rss.xml - Atom: http://vmgump.apache.org/gump/public/db-torque/db-torque-runtime/atom.xml ============================== Gump Tracking Only === Produced by Apache Gump(TM) version 2.3. Gump Run 11000602122010, vmgump.apache.org:vmgump:11000602122010 Gump E-mail Identifier (unique within run) #105. -- Apache Gump http://gump.apache.org/ [Instance: vmgump] --------------------------------------------------------------------- To unsubscribe, e-mail: wford@example.com For additional commands, e-mail: wford@example.com From torquewford@example.com Thu Dec 02 21:27:46 2010 Return-Path: <torquewford@example.com> Delivered-To: wford@example.com Received: (qmail 3591 invoked from network); 2 Dec 2010 21:27:46 -0000 Received: from unknown (HELO mail.apache.org) (83.161.120.155) by 83.161.120.155 with SMTP; 2 Dec 2010 21:27:46 -0000 Received: (qmail 36261 invoked by uid 500); 2 Dec 2010 21:27:46 -0000 Delivered-To: wford@example.com Received: (qmail 36227 invoked by uid 500); 2 Dec 2010 21:27:46 -0000 Mailing-List: contact wford@example.com; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:wford@example.com> List-Help: <mailto:wford@example.com> List-Post: <mailto:wford@example.com> List-Id: "Apache Torque Developers List" <torque-dev.db.apache.org> Reply-To: "Apache Torque Developers List" <wford@example.com> Delivered-To: mailing list wford@example.com Received: (qmail 36218 invoked by uid 99); 2 Dec 2010 21:27:45 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Dec 2010 21:27:45 +0000 X-ASF-Spam-Status: No, hits=0.7 required=10.0 tests=RCVD_IN_DNSWL_NONE,SPF_NEUTRAL X-Spam-Check-By: apache.org Received-SPF: neutral (athena.apache.org: local policy) Received: from [83.161.120.155] (HELO outmail148101.authsmtp.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Dec 2010 21:27:37 +0000 Received: from mail-c187.authsmtp.com (mail-c187.authsmtp.com [83.161.120.155]) by punt4.authsmtp.com (8.14.2/8.14.2/Kp) with ESMTP id oB2LRFIe047374 for <wford@example.com>; Thu, 2 Dec 2010 21:27:15 GMT Received: from dhcp-wlan29.home.lan (p5B281117.dip0.t-ipconnect.de [83.161.120.155]) (authenticated bits=0) by mail.authsmtp.com (8.14.2/8.14.2) with ESMTP id oB2LRCXE012308 for <wford@example.com>; Thu, 2 Dec 2010 21:27:13 GMT Message-ID: <wford@example.com> Date: Thu, 02 Dec 2010 22:27:11 +0100 From: Thomas Vandahl <wford@example.com> User-Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:83.161.120.155) Gecko/20101027 Lightning/1.0b2 Thunderbird/3.1.6 MIME-Version: 1.0 To: Apache Torque Developers List <wford@example.com> Subject: Re: svn commit: r1038355 - /db/torque/village/trunk/src/java/com/workingdogs/village/Schema.java References: <wford@example.com> <wford@example.com> <wford@example.com> In-Reply-To: <wford@example.com> X-Enigmail-Version: 1.1.1 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit X-Server-Quench: edd14b89-fe5a-11df-ab46-001185d377ca X-AuthReport-Spam: If SPAM / abuse - report it at: http://www.authsmtp.com/abuse X-AuthRoute: OCdyaAgQClZJUiwT EioPDCIGTh8qMAFL GwYeIE5WLUQhWQ4X O15TJVpedloGSkcB AXl/DgdLUl1wWXN3 agBTag9cYQRHXhtu UFZIRUxQFxpqBB4E GR5QDWtwC2c1EAtw ZERhXngVXkV4cwgo FhpVET8ObHo2PWVO TUFZI1VJIVFOeAJF alF+XHZZYmIANSsu JQJhdysvO31ULyFQ Qx1fZUhLGR1bRWNh D1VKWjklWlECXTwu Ils4K1oYFUkcdVko LF0iHkkCOFgQAxNX WEpKBWhGIEMCRiwk AQRVRgkAETlZSChR RSYjIhJNC3pQUzRR bAAA X-Authentic-SMTP: 61633138303539.1000:706 X-AuthFastPath: 255 On 28.11.10 21:42, Thomas Fox wrote: >> Could you please re-run your test project against Oracle with this >> version and tell me the findings? > > Looks good. The test project runs ok against oracle using the current > village 3.3.1 trunk. > I did not run the test project for other databases. Ok. I tested against MySQL and PostgreSQL and the test project worked fine. Both consistently fail on SummaryHelperTest, however. By looking at the code of SummaryHelper I guess this is based on the fact that the results are put into a case-sensitive OrderedMap using the column names returned from the database as a key. In the case of Postgresql for example, the database returns the column names in lower case, so that the test cannot find them. See example output of dumpResults(): ---8<--- "group_by1", "count_recs", "avg_int1", "min_int1", "max_int1", "sum_int1", "avg_float1", "min_float1", "max_float1", "sum_float1", "upper" "A1", 4, 2.5000000000000000, 1, 4, 10, 5.0, 2.0, 8.0, 20.0, "A1" "B1", 4, 3.5000000000000000, 2, 5, 14, 7.0, 4.0, 10.0, 28.0, "B1" "C1", 4, 4.5000000000000000, 3, 6, 18, 9.0, 6.0, 12.0, 36.0, "C1" "D1", 4, 5.5000000000000000, 4, 7, 22, 11.0, 8.0, 14.0, 44.0, "D1" ---8<--- So I believe either the test or the implementation is wrong. Other than this, shall we try another RC for Village 3.3.1? Bye, Thomas --------------------------------------------------------------------- To unsubscribe, e-mail: wford@example.com For additional commands, e-mail: wford@example.com From torquewford@example.com Thu Dec 02 22:34:41 2010 Return-Path: <torquewford@example.com> Delivered-To: wford@example.com Received: (qmail 35658 invoked from network); 2 Dec 2010 22:34:41 -0000 Received: from unknown (HELO mail.apache.org) (83.161.120.155) by 83.161.120.155 with SMTP; 2 Dec 2010 22:34:41 -0000 Received: (qmail 32396 invoked by uid 500); 2 Dec 2010 22:34:41 -0000 Delivered-To: wford@example.com Received: (qmail 32361 invoked by uid 500); 2 Dec 2010 22:34:41 -0000 Mailing-List: contact wford@example.com; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:wford@example.com> List-Help: <mailto:wford@example.com> List-Post: <mailto:wford@example.com> List-Id: "Apache Torque Developers List" <torque-dev.db.apache.org> Reply-To: "Apache Torque Developers List" <wford@example.com> Delivered-To: mailing list wford@example.com Received: (qmail 32353 invoked by uid 99); 2 Dec 2010 22:34:41 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Dec 2010 22:34:41 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=10.0 tests=SPF_HELO_PASS,SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: domain of wford@example.com designates 83.161.120.155 as permitted sender) Received: from [83.161.120.155] (HELO dukece.com) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Thu, 02 Dec 2010 22:34:35 +0000 Received: from ([83.161.120.155]) by smtpgw1.dukece.com with ESMTP with TLS id 4440076.20500351; Thu, 02 Dec 2010 17:34:11 -0500 Received: from durham-e2k7mb1.dukece.com ([83.161.120.155]) by durham-e2k7ca1.dukece.com ([83.161.120.155]) with mapi; Thu, 2 Dec 2010 17:34:11 -0500 From: Greg Monroe <wford@example.com> To: 'Apache Torque Developers List' <wford@example.com> Date: Thu, 2 Dec 2010 17:34:10 -0500 Subject: RE: svn commit: r1038355 - /db/torque/village/trunk/src/java/com/workingdogs/village/Schema.java Thread-Topic: svn commit: r1038355 - /db/torque/village/trunk/src/java/com/workingdogs/village/Schema.java Thread-Index: AcuSZ8aL5BnJTGCMSVW9tDP925D4fQABEbew Message-ID: <wford@example.com> References: <wford@example.com> <wford@example.com> <wford@example.com> <wford@example.com> In-Reply-To: <wford@example.com> Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: acceptlanguage: en-US Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" OK, catching up after a week and a bit off=2E=2E=2E =0D=0A=0D=0AFYI - Summa= ryHelper did not make it into the last Torque release, so it's =0D=0Aonly i= n the repository=2E The Village release probably should not be held =0D=0A= up by this=2E=0D=0A=0D=0AAs pointed out, the underlying problem is that col= umn names in the metadata=0D=0Amay have different cases depending on the DB= server=2E This means that results=0D=0Acan be stored under a different nam= e that was defined=2E=0D=0A=0D=0AFWIW - I used ListOrderedMap for the resul= ts since it was close to what you=0D=0Aget in a normal JDBC ResultSet=2E E= =2Eg, access info by index or name=2E =0D=0A=0D=0AUnfortunately, there doe= sn't seem to be a case insensitive version of this =0D=0Ain commons=2E=0D= =0A=0D=0AI think the quick fix would be to create a subclass of ListOrdered= Map that=0D=0Aadded a case insensitive methods like get( String key ), =0D= =0Aput( String key, Object value ), indexOf(String key), remove( String key= ), =0D=0Aand containsKey ( String key )=2E Then use this instead of ListOrd= eredMap in =0D=0Athe SummaryHelper code=2E=0D=0A=0D=0AGreg=0D=0A=0D=0A> ---= --Original Message-----=0D=0A> From: Thomas Vandahl [mailto:tv@apache=2Eorg= ]=0D=0A> Sent: Thursday, December 02, 2010 4:27 PM=0D=0A> To: Apache Torque= Developers List=0D=0A> Subject: Re: svn commit: r1038355 -=0D=0A> /db/torq= ue/village/trunk/src/java/com/workingdogs/village/Schema=2Ejava=0D=0A> =0D= =0A> On 28=2E11=2E10 21:42, Thomas Fox wrote:=0D=0A> >> Could you please re= -run your test project against Oracle with this=0D=0A> >> version and tell = me the findings?=0D=0A> >=0D=0A> > Looks good=2E The test project runs ok a= gainst oracle using the current=0D=0A> > village 3=2E3=2E1 trunk=2E=0D=0A> = > I did not run the test project for other databases=2E=0D=0A> =0D=0A> Ok= =2E I tested against MySQL and PostgreSQL and the test project worked=0D=0A= > fine=2E Both consistently fail on SummaryHelperTest, however=2E=0D=0A> = =0D=0A> By looking at the code of SummaryHelper I guess this is based on th= e=0D=0A> fact that the results are put into a case-sensitive OrderedMap usi= ng the=0D=0A> column names returned from the database as a key=2E In the ca= se of=0D=0A> Postgresql for example, the database returns the column names = in lower=0D=0A> case, so that the test cannot find them=2E See example outp= ut of=0D=0A> dumpResults():=0D=0A> =0D=0A> ---8<---=0D=0A> "group_by1", "co= unt_recs", "avg_int1", "min_int1", "max_int1",=0D=0A> "sum_int1", "avg_floa= t1", "min_float1", "max_float1", "sum_float1",=0D=0A> "upper"=0D=0A> "A1", = 4, 2=2E5000000000000000, 1, 4, 10, 5=2E0, 2=2E0, 8=2E0, 20=2E0, "A1"=0D=0A>= "B1", 4, 3=2E5000000000000000, 2, 5, 14, 7=2E0, 4=2E0, 10=2E0, 28=2E0, "B1= "=0D=0A> "C1", 4, 4=2E5000000000000000, 3, 6, 18, 9=2E0, 6=2E0, 12=2E0, 36= =2E0, "C1"=0D=0A> "D1", 4, 5=2E5000000000000000, 4, 7, 22, 11=2E0, 8=2E0, 1= 4=2E0, 44=2E0, "D1"=0D=0A> ---8<---=0D=0A> =0D=0A> So I believe either the = test or the implementation is wrong=2E=0D=0A> =0D=0A> Other than this, shal= l we try another RC for Village 3=2E3=2E1?=0D=0A> =0D=0A> Bye, Thomas=0D=0A= > =0D=0A> -----------------------------------------------------------------= ----=0D=0A> To unsubscribe, e-mail: torque-dev-unsubscribe@db=2Eapache=2Eor= g=0D=0A> For additional commands, e-mail: torque-dev-help@db=2Eapache=2Eorg= =0D=0A=0D=0ADukeCE Privacy Statement:=0D=0APlease be advised that this e-ma= il and any files transmitted with=0Ait are confidential communication or ma= y otherwise be privileged or=0Aconfidential and are intended solely for the= individual or entity=0Ato whom they are addressed=2E If you are not the in= tended recipient=0Ayou may not rely on the contents of this email or any at= tachments,=0Aand we ask that you please not read, copy or retransmit this= =0Acommunication, but reply to the sender and destroy the email, its=0Acont= ents, and all copies thereof immediately=2E Any unauthorized=0Adisseminatio= n, distribution or copying of this communication is=0Astrictly prohibited= =2E --------------------------------------------------------------------- To unsubscribe, e-mail: wford@example.com For additional commands, e-mail: wford@example.com From torquewford@example.com Fri Dec 03 15:29:58 2010 Return-Path: <torquewford@example.com> Delivered-To: wford@example.com Received: (qmail 47659 invoked from network); 3 Dec 2010 15:29:58 -0000 Received: from unknown (HELO mail.apache.org) (83.161.120.155) by 83.161.120.155 with SMTP; 3 Dec 2010 15:29:58 -0000 Received: (qmail 2083 invoked by uid 500); 3 Dec 2010 15:29:58 -0000 Delivered-To: wford@example.com Received: (qmail 2001 invoked by uid 500); 3 Dec 2010 15:29:57 -0000 Mailing-List: contact wford@example.com; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:wford@example.com> List-Help: <mailto:wford@example.com> List-Post: <mailto:wford@example.com> List-Id: "Apache Torque Developers List" <torque-dev.db.apache.org> Reply-To: "Apache Torque Developers List" <wford@example.com> Delivered-To: mailing list wford@example.com Received: (qmail 1993 invoked by uid 500); 3 Dec 2010 15:29:56 -0000 Received: (qmail 1990 invoked by uid 99); 3 Dec 2010 15:29:56 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Dec 2010 15:29:56 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Dec 2010 15:29:55 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 12B372388903; Fri, 3 Dec 2010 15:28:24 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1041876 - in /db/torque/runtime/trunk/src/java/org/apache/torque/util: ListOrderedMapCI.java SummaryHelper.java Date: Fri, 03 Dec 2010 15:28:24 -0000 To: wford@example.com From: wford@example.com X-Mailer: svnmailer-1.0.8 Message-Id: <wford@example.com> Author: gmonroe Date: Fri Dec 3 15:28:23 2010 New Revision: 1041876 URL: http://svn.apache.org/viewvc?rev=1041876&view=rev Log: Refactored SummaryHelper to use case insensitive ListOrderMapCI class. This fixes problems with different DB's metadata column names having different cases. Added: db/torque/runtime/trunk/src/java/org/apache/torque/util/ListOrderedMapCI.java Modified: db/torque/runtime/trunk/src/java/org/apache/torque/util/SummaryHelper.java Added: db/torque/runtime/trunk/src/java/org/apache/torque/util/ListOrderedMapCI.java URL: http://svn.apache.org/viewvc/db/torque/runtime/trunk/src/java/org/apache/torque/util/ListOrderedMapCI.java?rev=1041876&view=auto ============================================================================== --- db/torque/runtime/trunk/src/java/org/apache/torque/util/ListOrderedMapCI.java (added) +++ db/torque/runtime/trunk/src/java/org/apache/torque/util/ListOrderedMapCI.java Fri Dec 3 15:28:23 2010 @@ -0,0 +1,99 @@ +package org.apache.torque.util; + +/* + * Licensed to the Apache Software Foundation (ASF) under one + * or more contributor license agreements. See the NOTICE file + * distributed with this work for additional information + * regarding copyright ownership. The ASF licenses this file + * to you under the Apache License, Version 2.0 (the + * "License"); you may not use this file except in compliance + * with the License. You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, + * software distributed under the License is distributed on an + * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + * KIND, either express or implied. See the License for the + * specific language governing permissions and limitations + * under the License. + */ + +import org.apache.commons.collections.map.ListOrderedMap; + +/** + * A subclass of the Apache Commons ListOrderedMap that has case insensitive + * String key methods. This is done by converting all String keys to + * lower case. + * + * @author <a href="mailto:wford@example.com">Greg Monroe</a> + * @version $Id$ + */ +public class ListOrderedMapCI extends ListOrderedMap +{ + private static final long serialVersionUID = -4349246328751938554L; + + /** + * Constructs a new empty ListOrderedMap. + */ + public ListOrderedMapCI() { + super(); + } + + /** + * Get the object associated with this key. + * + * @param key A case insensitive String. + * @return The value for this key + */ + public Object get( String key ) { + return super.get( key.toLowerCase() ); + } + /** + * Adds a value to the end of the list with the specified key. + * + * @param key A case insensitive String. + * @param value The value to add + * @return The value for previously mapped to this key + */ + public Object put( String key, Object value ) { + return super.put( key.toLowerCase(), value ); + } + /** + * Puts a key-value mapping into the map at the specified index. + * + * @param index The index at which the mapping should be inserted. + * @param key A case insensitive String. + * @param value The value. + * @return The value for previously mapped to this key + */ + public Object put( int index, String key, Object value ) { + return super.put(index, key.toLowerCase(), value ); + } + /** + * Gets the index of the specified key. + * + * @param key A case insensitive String. + * @return the index, or -1 if not found + */ + public int indexOf( String key ) { + return super.indexOf( key.toLowerCase() ); + } + /** + * Removes the mapping for the specified key. + * @param key A case insensitive String. + * @return the removed value, or null if none existed + */ + public Object remove ( String key ) { + return super.remove( key.toLowerCase() ); + } + /** + * Test if the key exists in the mapping. + * + * @param key The case insensitive key to test for. + * @return True if the key exists. + */ + public boolean containsKey( String key ) { + return super.containsKey( key.toLowerCase()); + } +} Modified: db/torque/runtime/trunk/src/java/org/apache/torque/util/SummaryHelper.java URL: http://svn.apache.org/viewvc/db/torque/runtime/trunk/src/java/org/apache/torque/util/SummaryHelper.java?rev=1041876&r1=1041875&r2=1041876&view=diff ============================================================================== --- db/torque/runtime/trunk/src/java/org/apache/torque/util/SummaryHelper.java (original) +++ db/torque/runtime/trunk/src/java/org/apache/torque/util/SummaryHelper.java Fri Dec 3 15:28:23 2010 @@ -28,7 +28,7 @@ import java.util.Vector; import org.apache.commons.collections.OrderedMap; import org.apache.commons.collections.OrderedMapIterator; -import org.apache.commons.collections.map.ListOrderedMap; +// import org.apache.commons.collections.map.ListOrderedMap; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.torque.TorqueException; @@ -84,7 +84,7 @@ import com.workingdogs.village.Value; * * @see org.apache.torque.util.functions.FunctionFactory * @author <a href="mailto:wford@example.com">Greg Monroe</a> - * @version $Id + * @version $Id$ */ public class SummaryHelper { @@ -123,15 +123,16 @@ public class SummaryHelper } /** - * Return a list of OrderedMap objects with the results of the summary - * query. The OrderedMap objects have a key of the column name or - * function alias and are in the order generated by the query. + * Return a list of ListOrderedMapCI objects with the results of the + * summary query. The ListOrderedMapCI objects have a key of the column + * name or function alias and are in the order generated by the query. * * @param crit The base criteria to build on. * @param conn The DB Connection to use. * @return Results as a OrderMap<String,Values> object. * @throws TorqueException * @throws DataSetException + * @see ListOrderedMapCI */ public List summarize( Criteria crit, Connection conn ) throws TorqueException, DataSetException @@ -153,7 +154,7 @@ public class SummaryHelper Vector resultsList = new Vector(results.size()); while ( r.hasNext() ) { - ListOrderedMap recordMap = new ListOrderedMap(); + ListOrderedMapCI recordMap = new ListOrderedMapCI(); Record rec = (Record) r.next(); String cName = null; Value value = null; @@ -231,7 +232,7 @@ public class SummaryHelper if ( ! haveFromTable ) // Last chance. Get it from the func. { String col = f.getArgument(0).toString(); - if ( col.indexOf('.') >= 0) + if ( col.contains(".") ) { // Kludgy Where table.col = table.col clause to force // from table identification. @@ -315,7 +316,7 @@ public class SummaryHelper { if ( aggregates == null ) { - aggregates = new ListOrderedMap(); + aggregates = new ListOrderedMapCI(); } return aggregates; } --------------------------------------------------------------------- To unsubscribe, e-mail: wford@example.com For additional commands, e-mail: wford@example.com From torquewford@example.com Fri Dec 03 15:32:07 2010 Return-Path: <torquewford@example.com> Delivered-To: wford@example.com Received: (qmail 48015 invoked from network); 3 Dec 2010 15:32:07 -0000 Received: from unknown (HELO mail.apache.org) (83.161.120.155) by 83.161.120.155 with SMTP; 3 Dec 2010 15:32:07 -0000 Received: (qmail 4018 invoked by uid 500); 3 Dec 2010 15:32:07 -0000 Delivered-To: wford@example.com Received: (qmail 3937 invoked by uid 500); 3 Dec 2010 15:32:06 -0000 Mailing-List: contact wford@example.com; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:wford@example.com> List-Help: <mailto:wford@example.com> List-Post: <mailto:wford@example.com> List-Id: "Apache Torque Developers List" <torque-dev.db.apache.org> Reply-To: "Apache Torque Developers List" <wford@example.com> Delivered-To: mailing list wford@example.com Received: (qmail 3929 invoked by uid 500); 3 Dec 2010 15:32:06 -0000 Received: (qmail 3924 invoked by uid 99); 3 Dec 2010 15:32:06 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Dec 2010 15:32:06 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Dec 2010 15:32:03 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id C61D82388903; Fri, 3 Dec 2010 15:30:30 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1041878 - /db/torque/test/trunk/test-project/src/java/org/apache/torque/util/SummaryHelperTest.java Date: Fri, 03 Dec 2010 15:30:30 -0000 To: wford@example.com From: wford@example.com X-Mailer: svnmailer-1.0.8 Message-Id: <wford@example.com> X-Virus-Checked: Checked by ClamAV on apache.org Author: gmonroe Date: Fri Dec 3 15:30:30 2010 New Revision: 1041878 URL: http://svn.apache.org/viewvc?rev=1041878&view=rev Log: Converted to case insensitive record class. Modified the column count test to work with Oracle and MSSql (Oracle fix broke MSSql). Should work with all DB types now. Modified: db/torque/test/trunk/test-project/src/java/org/apache/torque/util/SummaryHelperTest.java Modified: db/torque/test/trunk/test-project/src/java/org/apache/torque/util/SummaryHelperTest.java URL: http://svn.apache.org/viewvc/db/torque/test/trunk/test-project/src/java/org/apache/torque/util/SummaryHelperTest.java?rev=1041878&r1=1041877&r2=1041878&view=diff ============================================================================== --- db/torque/test/trunk/test-project/src/java/org/apache/torque/util/SummaryHelperTest.java (original) +++ db/torque/test/trunk/test-project/src/java/org/apache/torque/util/SummaryHelperTest.java Fri Dec 3 15:30:30 2010 @@ -22,11 +22,11 @@ package org.apache.torque.util; import java.io.StringWriter; import java.util.List; -import org.apache.commons.collections.OrderedMap; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.torque.BaseRuntimeTestCase; import org.apache.torque.Torque; +import org.apache.torque.util.ListOrderedMapCI; import org.apache.torque.test.Summarize1; import org.apache.torque.test.Summarize1Peer; import org.apache.torque.util.functions.FunctionFactory; @@ -146,26 +146,19 @@ public class SummaryHelperTest extends B assertTrue("Invalid number of records returned. Expected 4 but got " + results.size(), results.size() == 4 ); - OrderedMap rec = (OrderedMap) results.get(0); + ListOrderedMapCI rec = (ListOrderedMapCI) results.get(0); - int expectedColumns; - if (Summarize1Peer.GROUP_BY1.equals( - Torque.getDatabase("bookstore").getAdapter().ignoreCaseInOrderBy( - Summarize1Peer.GROUP_BY1))) - { - expectedColumns = 10; - } - else - { - // addAscendingOrderByColumn will add the uppercased column - // to the select columns, therefore an additional column appears - expectedColumns = 11; + int expectedColumns = 10; + + // Some DB server (Oracle) add an uppercased column when addAscendingOrderBY is used. + if ( rec.size() == expectedColumns + 1 ) { + expectedColumns++; } - assertEquals("Number of columns incorrect! Expected " + assertEquals("Number of columns incorrect! Expected " + expectedColumns - + " but got " - + rec.size(), - expectedColumns, + + " but got " + + rec.size(), + expectedColumns, rec.size()); assertTrue( "GROUP_BY1 valued not correct", "A1".equals(((Value) rec.get("GROUP_BY1")).asString()) ); @@ -180,12 +173,12 @@ public class SummaryHelperTest extends B assertTrue("SUM_INT1 not correct value", ((Value) rec.get("SUM_INT1")).asInt() == 10 ); - rec = (OrderedMap) results.get(3); - assertEquals("Number of columns incorrect! Expected " + rec = (ListOrderedMapCI) results.get(3); + assertEquals("Number of columns incorrect! Expected " + expectedColumns - + " but got " - + rec.size(), - expectedColumns, + + " but got " + + rec.size(), + expectedColumns, rec.size()); assertTrue( "GROUP_BY1 valued not correct", "D1".equals(((Value) rec.get("GROUP_BY1")).asString()) ); @@ -241,7 +234,7 @@ public class SummaryHelperTest extends B assertTrue("Invalid number of records returned. Expected 1 but got " + results.size(), results.size() == 1 ); - OrderedMap rec = (OrderedMap) results.get(0); + ListOrderedMapCI rec = (ListOrderedMapCI) results.get(0); assertTrue( "Number of columns incorrect! Did ExcludeExpColumns work? " + "Expected 9 but got " + rec.size(), rec.size() == 9 ); --------------------------------------------------------------------- To unsubscribe, e-mail: wford@example.com For additional commands, e-mail: wford@example.com From torquewford@example.com Fri Dec 03 15:33:16 2010 Return-Path: <torquewford@example.com> Delivered-To: wford@example.com Received: (qmail 48184 invoked from network); 3 Dec 2010 15:33:16 -0000 Received: from unknown (HELO mail.apache.org) (83.161.120.155) by 83.161.120.155 with SMTP; 3 Dec 2010 15:33:16 -0000 Received: (qmail 6624 invoked by uid 500); 3 Dec 2010 15:33:16 -0000 Delivered-To: wford@example.com Received: (qmail 6543 invoked by uid 500); 3 Dec 2010 15:33:15 -0000 Mailing-List: contact wford@example.com; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:wford@example.com> List-Help: <mailto:wford@example.com> List-Post: <mailto:wford@example.com> List-Id: "Apache Torque Developers List" <torque-dev.db.apache.org> Reply-To: "Apache Torque Developers List" <wford@example.com> Delivered-To: mailing list wford@example.com Received: (qmail 6535 invoked by uid 500); 3 Dec 2010 15:33:15 -0000 Received: (qmail 6531 invoked by uid 99); 3 Dec 2010 15:33:14 -0000 Received: from athena.apache.org (HELO athena.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Dec 2010 15:33:14 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Dec 2010 15:33:12 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 399CC2388903; Fri, 3 Dec 2010 15:31:41 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Subject: svn commit: r1041879 - /db/torque/site/trunk/xdocs/changes.xml Date: Fri, 03 Dec 2010 15:31:41 -0000 To: wford@example.com From: wford@example.com X-Mailer: svnmailer-1.0.8 Message-Id: <wford@example.com> Author: gmonroe Date: Fri Dec 3 15:31:40 2010 New Revision: 1041879 URL: http://svn.apache.org/viewvc?rev=1041879&view=rev Log: Document SummaryHelper changes Modified: db/torque/site/trunk/xdocs/changes.xml Modified: db/torque/site/trunk/xdocs/changes.xml URL: http://svn.apache.org/viewvc/db/torque/site/trunk/xdocs/changes.xml?rev=1041879&r1=1041878&r2=1041879&view=diff ============================================================================== --- db/torque/site/trunk/xdocs/changes.xml (original) +++ db/torque/site/trunk/xdocs/changes.xml Fri Dec 3 15:31:40 2010 @@ -32,6 +32,12 @@ <body> <release version="3.4-dev" date="in SVN"> <action type="update" dev="gmonroe"> + Fixed SummaryHelper class issues caused by DB differences. + Added a ListOrderMapCI class to utils (case insensitive string keys). + Refactored the SummaryHelper class to use this. + Modified the SummaryHelperTest to work with all DB types. + </action> + <action type="update" dev="gmonroe"> Changed the exception type thrown by doSelect calls when Criteria.isSingleRecord() true and more than one record is found. A TooManyRecordsException (ToqueException subclass) is now returned @@ -41,7 +47,7 @@ Added support for DB Adaptor specific SQL functions. </action> <action type="add" dev="gmonroe"> - Add a SummaryHelper class which supports aggregate queries. E.g. + Add a SummaryHelper class which supports aggregate queries. E.g. Select Sum(x) from table. </action> </release> @@ -50,8 +56,8 @@ <release version="3.3-RC3" date="2008-01-11"> <action type="remove" dev="tfischer"> maven2 plugin: removed the property idTableXmlFile from the sql and - id-table-init-sql goals. The property never was passed by the mojo and - also does not work correctly in the generator. Use the goal + id-table-init-sql goals. The property never was passed by the mojo and + also does not work correctly in the generator. Use the goal id-table-init-sql to create sql for id tables instead. </action> <action type="update" dev="tfischer"> @@ -66,7 +72,7 @@ </action> <action type="add" dev="gmonroe"> Removed Village meta data check for read only column status. This is - not fully supported by a lot of JDBC drivers and causes Torque to + not fully supported by a lot of JDBC drivers and causes Torque to fail with Derby's JDBC network driver. </action> <action type="add" dev="tfischer"> @@ -80,9 +86,9 @@ sqlExec goal with default settings. </action> <action type="update" dev="tfischer" issue="TORQUE-105" due-to="Sylvain Benoist"> - Sybase: Columns where the attribute &quot;required&quot; + Sybase: Columns where the attribute &quot;required&quot; is not set or set to false are now created explicitly - with suffix &quot;NULL&quot;. + with suffix &quot;NULL&quot;. </action> <action type="update" dev="tfischer"> Changed Type Mappings for Sybase: @@ -110,7 +116,7 @@ the paperwork. </action> <action type="update" dev="gmonroe" issue="TORQUE-86" due-to="Will Glass-Husain"> - The SQL statements generated for MS SQL by the torque:datasql target + The SQL statements generated for MS SQL by the torque:datasql target will now be wrapped in SET IDENTITY_INSERT...ON /OFF statements if the idMethod is native and autogenerate is set on one or more fields. </action> @@ -122,7 +128,7 @@ Corrected invalid cast in TorqueRuntimeException.splitStackTrace. </action> <action type="fix" dev="tfischer" issue="TORQUE-104" due-to="Sylvain Benoist"> - Remove 'COMMENT ON...' output from generated SQL for Sybase + Remove 'COMMENT ON...' output from generated SQL for Sybase as these commands do not exist in Sybase's sql. </action> <action type="update" dev="tfischer" issue="TORQUE-91"> @@ -140,11 +146,11 @@ The suffix parameter to the Maven2-plugin's sql task now works. </action> <action type="add" dev="tfischer" issue="TORQUE-99" due-to="Tobias Hilka"> - Added copy(..) and add&lt;ForeignKey&gt;(..) methods with a connection + Added copy(..) and add&lt;ForeignKey&gt;(..) methods with a connection parameter. </action> <action type="update" dev="tv"> - Updated JCS dependency to version 1.3 and fixed related deprecation + Updated JCS dependency to version 1.3 and fixed related deprecation issues. </action> <action type="fix" dev="tv" issue="TORQUE-97" due-to="Markus Müller"> @@ -156,15 +162,15 @@ </action> <action type="fix" dev="tfischer" issue="TORQUE-90" due-to="Sean Gilligan"> Fixed Null Pointer Exceptions in Criteria.equals() and - Criteria.hashCode() if joins are null. + Criteria.hashCode() if joins are null. </action> <action type="fix" dev="tfischer"> Changed the maven2 plugin's datadump goal to accept only a single schema - xml. Multiple schema xmls produced illegal output. + xml. Multiple schema xmls produced illegal output. </action> <action type="fix" dev="tfischer"> Fixed the maven2 plugin's datasql goal to do the same as the ant and - maven1 datasql task. + maven1 datasql task. </action> <action type="add" dev="tfischer"> Added a datadtd goal to the maven2 plugin. @@ -195,7 +201,7 @@ </action> <action type="add" dev="gmonroe"> Added torque.beanExtendsClass property that defines a fully qualified - class name (e.g. org.apache.struts.action.ActionForm) that the base + class name (e.g. org.apache.struts.action.ActionForm) that the base bean classes will extend. </action> <action type="fix" dev="tfischer" issue="TORQUE-88"> @@ -214,7 +220,7 @@ Add documentation and test cases. </action> <action type="fix" dev="tfischer" issue="TORQUE-80" due-to="Brian Telintelo"> - In the JdbcTransformTask of the generator, the attribute + In the JdbcTransformTask of the generator, the attribute &quot;default&quot; is only added to the generated schema if its value is not empty. </action> @@ -261,7 +267,7 @@ </action> <action type="fix" dev="gmonroe"> Improved Derby generator platform implimentation to support correctly - sized BINARY and VARBINARY using the SizedAsBitDataDomain. Also fixed + sized BINARY and VARBINARY using the SizedAsBitDataDomain. Also fixed problems with the BIT and TINYINT mappings. </action> <action type="add" dev="gmonroe"> @@ -270,35 +276,35 @@ </action> <action type="fix" dev="gmonroe"> Fixed template package references that caused bad code to be generated - if non-default packages were used. + if non-default packages were used. </action> </release> <release version="3.3-RC1" date="2006-11-23"> <action type="fix" dev="tfischer"> - Fixed a synchronisation issue in the getDateString() method in - the database adapter for postgresql. + Fixed a synchronisation issue in the getDateString() method in + the database adapter for postgresql. </action> <action type="fix" dev="tv" issue="TORQUE-63" due-to="Ronny Völker"> - Wrong caching of method calls with more than three arguments in MethodResultCache. + Wrong caching of method calls with more than three arguments in MethodResultCache. </action> <action type="add" dev="tfischer" issue="TORQUE-44" due-to="Greg Monroe"> - The Column names TABLE_NAME and DATABASE_NAME are now legal column names. + The Column names TABLE_NAME and DATABASE_NAME are now legal column names. </action> <action type="add" dev="tfischer" issue="TORQUE-2" due-to="Raphael Pieroni"> - Added a maven 2 plugin. + Added a maven 2 plugin. </action> <action type="fix" dev="tfischer" issue="TORQUE-57"> Fixed handling of escaping (by backslashes) for LIKE clauses. This included fixing the general handling of backslashes - for several databases. + for several databases. </action> <action type="fix" dev="tfischer" issue="TORQUE-59"> Booleanchar and Booleanint now work for chained (and'ed, or'ed) - Criterions. + Criterions. </action> <action type="add" dev="tfischer" issue="TORQUE-27" due-to="Greg Monroe"> Added support for option tags for most elements in the database.xml - for usage with custom templates. + for usage with custom templates. </action> <action type="fix" dev="tfischer" issue="TORQUE-10"> Limit and Offset work now correctly if applied to joined @@ -314,7 +320,7 @@ <action type="add" dev="tv"> Add a &quot;serialVersionUID&quot; to the generated classes that implement Serializable. The entry is generated if &quot;addTimeStamp&quot; - is true. This should remove quite a number of warnings when using + is true. This should remove quite a number of warnings when using Torque generated classes. </action> <action type="fix" dev="tfischer" issue="TORQUE-49"> @@ -326,7 +332,7 @@ when torque.enableJava5Features is set to true. </action> <action type="update" dev="tfischer" issue="TORQUE-37" due-to="Greg Monroe"> - The default package for generated classes was changed from + The default package for generated classes was changed from org.apache.torque to torque.generated. </action> <action type="fix"> @@ -337,7 +343,7 @@ Preserved case when generating the constants for column names in the Peers and the database maps. For example, for a table named book and a column namend author_id, the constant BaseBookPeer.AUTHOR_ID - is now set to book.author_id, whereas in former versions, this constant + is now set to book.author_id, whereas in former versions, this constant would have been set to book.AUTHOR_ID.<br/> The old behaviour can be regained by setting the generator property torque.deprecated.uppercasePeer to true. @@ -352,7 +358,7 @@ Fixed MS-SQL failure in LargeSelect. </action> <action type="fix" dev="tv" issue="TORQUE-43" due-to="Thoralf Rickert"> - Fixed several methods not using JavaName in Peer.vm. Thanks to + Fixed several methods not using JavaName in Peer.vm. Thanks to Thoralf Rickert for the patch. </action> <action type="fix" dev="tv" issue="TORQUE-42" due-to="Federico Fissore"> @@ -361,25 +367,25 @@ for the Criteria patch. </action> <action type="update" dev="tv"> - Made DB an interface and changed all database adapters to extend + Made DB an interface and changed all database adapters to extend AbstractDBAdapter. Moved generateLimits methods to the adapters and deprecated getLimitStyle and associated constants because this should be handled transparently for the user. </action> <action type="fix" dev="tfischer" issue="TORQUE-41" due-to="Thoralf Rickert"> - Caught SQL exception when foreign keys for a table or view + Caught SQL exception when foreign keys for a table or view cannot be retrieved in the jdbc ant task in the generator. Now a warning is printed instead of stopping execution. </action> <action type="add" dev="tfischer" issue="TORQUE-33" due-to="Jacob Champlin"> Refined guesswork for detecting column names out of functions, clauses etc. This is important e.g. for orderBy Statements like - &quot;order by table.column in (1,2,3)&quot; or + &quot;order by table.column in (1,2,3)&quot; or &quot;order by 100 &lt; table.column&quot;. </action> <action type="add" dev="tfischer" issue="TORQUE-30" due-to="Patrick Carl"> Added the CASCADE option to drop table statements for HSQLDB. - This will not work with HSQLDB 1.7. Consult the HSQLDB Howto for + This will not work with HSQLDB 1.7. Consult the HSQLDB Howto for information about reverting to the old behaviour. </action> <action type="add" dev="tfischer" issue="TORQUE-26" due-to="Greg Monroe"> @@ -414,7 +420,7 @@ Corrected datatype Mapping for MS-SQL: <ul> <li> - Torque type BLOB is now mapped to MS-SQL type IMAGE + Torque type BLOB is now mapped to MS-SQL type IMAGE (was BLOB in Torque 3.2, not working) </li> <li> @@ -424,7 +430,7 @@ </ul> </action> <action type="fix" dev="tfischer" issue="TORQUE-21" due-to="Nicolas Le Griel"> - Fixed bug in bean generation when a table has several references + Fixed bug in bean generation when a table has several references to another table. </action> <action type="fix" dev="tfischer" issue="TORQUE-4" due-to="Joerg Friedrich"> @@ -445,11 +451,11 @@ Torque type char is now mapped to firebird type char (was varchar) </li> <li> - Torque type double is now mapped to firebird type double precision + Torque type double is now mapped to firebird type double precision (was double) </li> <li> - Torque type booleanchar is now mapped to firebird type char(1) + Torque type booleanchar is now mapped to firebird type char(1) (was varchar(1)) </li> </ul> @@ -467,7 +473,7 @@ Thanks to Joerg Friedrich for reporting the error. </action> <action type="add" dev="tfischer"> - Added a new convenience method, Transaction.begin(), + Added a new convenience method, Transaction.begin(), which is the same as Transaction.begin(Torque.getDefaultDb()). </action> <action type="update" dev="tfischer"> @@ -476,7 +482,7 @@ decentralized methods to access information about the databases. </action> <action type="update" dev="tfischer"> - The IdBroker is now only started for a database if the IdMethod + The IdBroker is now only started for a database if the IdMethod idBroker is used in that database. </action> <action type="fix" dev="seade"> @@ -495,7 +501,7 @@ Thanks to Patrick Carl for an early version of the patch. </action> <action type="fix" dev="tfischer" issue="TRQS345"> - IgnoreCase in PsSelects now also takes into account + IgnoreCase in PsSelects now also takes into account Criterion's setIgnoreCase(). Thanks to Robert Dietrick for an early version of the patch. </action> @@ -508,11 +514,11 @@ Changed behaviour for a limit of zero: (criteria.setLimit(0)) <ul> <li> - If the db supports native limit, + If the db supports native limit, a limit of zero returns zero datasets. </li> <li> - if the db does not support native limit, a limit of zero + if the db does not support native limit, a limit of zero causes a TorqueException (thanks to village :-() </li> </ul> @@ -536,7 +542,7 @@ </action> <action type="add" dev="tfischer" issue="TRQS305"> Subqueries are now supported. - This has caused Criterion.appendTo(StringBuffer) to declare throwing + This has caused Criterion.appendTo(StringBuffer) to declare throwing a Torque Exception. </action> <action type="fix" dev="tfischer" issue="TRQS133"> @@ -551,11 +557,11 @@ IdMethod native is now supported </li> <li> - Added mappings for Torque types + Added mappings for Torque types LONGVARCHAR, BINARY and VARBINARY </li> <li> - Implemented the methods getMaxColumnNameLength(), + Implemented the methods getMaxColumnNameLength(), hasScale() and hasSize() in PlatformDerbyImpl </li> <li> @@ -564,19 +570,19 @@ tables in the schema.xml </li> <li> - The SQL for the creation of Indices is now generated correctly + The SQL for the creation of Indices is now generated correctly (a CRLF was missing at the end) </li> </ul> - Thanks to Johnny Macchione for the patches. + Thanks to Johnny Macchione for the patches. </action> <action type="fix" dev="tfischer"> Fixed foreign key support in mysql to allow the referenced table to be declared before the referencing table. - This is done by defining the foreign keys in an extra - &quot;CREATE TABLE&quot; statement instead of defining them in the - &quot;CREATE TABLE&quot; statement. - Note that foreign keys are ignored by mysql except in InnoDB tables. + This is done by defining the foreign keys in an extra + &quot;CREATE TABLE&quot; statement instead of defining them in the + &quot;CREATE TABLE&quot; statement. + Note that foreign keys are ignored by mysql except in InnoDB tables. <br /> Thanks to Thoralf Rickert for suggesting the patch. Fixes also TRQS278. @@ -588,7 +594,7 @@ Fixed support for limit and offset for Derby in the runtime. </action> <action type="add" dev="tfischer"> - Added hyperlinks to foreign key in the documentation to point to + Added hyperlinks to foreign key in the documentation to point to the referenced table. Thanks to Hilco Wijbenga for an early version of the patch. </action> @@ -598,7 +604,7 @@ Thanks to Martin Goulet for a very early version of the serialization fix. </action> <action type="add" dev="tfischer"> - Added scale (i.e number of digits after the decimal point) support + Added scale (i.e number of digits after the decimal point) support for the sql data types NUMERIC and DECIMAL in the JDBCTransformTask (creating schema.xml from the database). Only scales which are > 0 are added as an extra attribute to the generated schema.xml. @@ -610,15 +616,15 @@ Thanks to Robert Dietrick for the patch. </action> <action type="update" dev="tfischer"> - The default values of the generator options + The default values of the generator options torque.subpackage.base.bean, torque.subpackage.bean, and torque.subpackage.map - are now defined in the property files plugin.properties (for maven) + are now defined in the property files plugin.properties (for maven) and default.properties (for ant) instead of in the templates </action> <action type="fix" dev="tfischer" issue="TRQS322"> - The DataSourceFactory with the name "default" is created + The DataSourceFactory with the name "default" is created automatically again. This was removed when fixing TRQS308, but is required by Turbine. </action> @@ -634,8 +640,8 @@ native limit and offset </action> <action type="fix" dev="tfischer" issue="TRQS320"> - Added necessary addJoin() statenments to the generated Methods - XXXPeer.doSelectAllExceptYYY(). + Added necessary addJoin() statenments to the generated Methods + XXXPeer.doSelectAllExceptYYY(). Thanks to Thomas Vandahl for the patch. </action> <action type="add" dev="tfischer"> @@ -645,7 +651,7 @@ to the BaseManager.vm template </li> <li> - Added the method getXXX(Connection) for associated objects + Added the method getXXX(Connection) for associated objects to the ObjectWithManager.vm template </li> </ul> --------------------------------------------------------------------- To unsubscribe, e-mail: wford@example.com For additional commands, e-mail: wford@example.com From torquewford@example.com Fri Dec 03 15:55:26 2010 Return-Path: <torquewford@example.com> Delivered-To: wford@example.com Received: (qmail 56578 invoked from network); 3 Dec 2010 15:55:26 -0000 Received: from unknown (HELO mail.apache.org) (83.161.120.155) by 83.161.120.155 with SMTP; 3 Dec 2010 15:55:26 -0000 Received: (qmail 50650 invoked by uid 500); 3 Dec 2010 15:55:26 -0000 Delivered-To: wford@example.com Received: (qmail 50568 invoked by uid 500); 3 Dec 2010 15:55:26 -0000 Mailing-List: contact wford@example.com; run by ezmlm Precedence: bulk List-Unsubscribe: <mailto:wford@example.com> List-Help: <mailto:wford@example.com> List-Post: <mailto:wford@example.com> List-Id: "Apache Torque Developers List" <torque-dev.db.apache.org> Reply-To: "Apache Torque Developers List" <wford@example.com> Delivered-To: mailing list wford@example.com Received: (qmail 50560 invoked by uid 500); 3 Dec 2010 15:55:25 -0000 Received: (qmail 50557 invoked by uid 99); 3 Dec 2010 15:55:25 -0000 Received: from nike.apache.org (HELO nike.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Dec 2010 15:55:25 +0000 X-ASF-Spam-Status: No, hits=-2000.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [83.161.120.155] (HELO eris.apache.org) (83.161.120.155) by apache.org (qpsmtpd/0.29) with ESMTP; Fri, 03 Dec 2010 15:55:21 +0000 Received: by eris.apache.org (Postfix, from userid 65534) id 7918B23888E7; Fri, 3 Dec 2010 15:53:48 +0000 (UTC) Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Subject: svn commit: r1041888 - /db/torque/runtime/trunk/src/java/org/apache/torque/util/SummaryHelper.java Date: Fri, 03 Dec 2010 15:53:48 -0000 To: wford@example.com From: wford@example.com X-Mailer: svnmailer-1.0.8 Message-Id: <wford@example.com> X-Virus-Checked: Checked by ClamAV on apache.org Author: gmonroe Date: Fri Dec 3 15:53:48 2010 New Revision: 1041888 URL: http://svn.apache.org/viewvc?rev=1041888&view=rev Log: Updated javadocs / replaced OrderedMap with specific class to encourage case insensitive use. Modified: db/torque/runtime/trunk/src/java/org/apache/torque/util/SummaryHelper.java Modified: db/torque/runtime/trunk/src/java/org/apache/torque/util/SummaryHelper.java URL: http://svn.apache.org/viewvc/db/torque/runtime/trunk/src/java/org/apache/torque/util/SummaryHelper.java?rev=1041888&r1=1041887&r2=1041888&view=diff ============================================================================== --- db/torque/runtime/trunk/src/java/org/apache/torque/util/SummaryHelper.java (original) +++ db/torque/runtime/trunk/src/java/org/apache/torque/util/SummaryHelper.java Fri Dec 3 15:53:48 2010 @@ -26,9 +26,7 @@ import java.util.Iterator; import java.util.List; import java.util.Vector; -import org.apache.commons.collections.OrderedMap; import org.apache.commons.collections.OrderedMapIterator; -// import org.apache.commons.collections.map.ListOrderedMap; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import org.apache.torque.TorqueException; @@ -42,13 +40,13 @@ import com.workingdogs.village.Value; * <p>A utility to help produce aggregate summary information about a table. * The default assumes that the underlying DB supports the SQL 99 Standard * Aggregate functions, e.g. COUNT, SUM, AVG, MAX, & MIN. However, some - * non-standard functions (like MySQL's older LEAST instead of MIN can be + * non-standard functions (like MySQL's older LEAST instead of MIN can be * handled programatically if needed (@see Aggregate class)</p> - * + * * <P>Here is a simple example to generate the results of a query like:</P> - * + * * <pre> - * SELECT EMPLOYEE, SUM(HOURS), MIN(HOURS), MAX(HOURS) + * SELECT EMPLOYEE, SUM(HOURS), MIN(HOURS), MAX(HOURS) * FROM TIMESHEET WHERE TYPE = 1 GROUP BY EMPLOYEE ORDER BY EMPLOYEE ASC * </pre> * <p>Use the following code</p> @@ -63,10 +61,11 @@ import com.workingdogs.village.Value; * sHelper.addAggregate(FunctionFactory.Max(TimeSheetPeer.HOURS),"Max_Hrs"); * List results = sHelper.summarize( c ); * </pre> - * <p>The results list will be an OrderedMap with a key of either the group by - * column name or the name specified for the aggregate function (e.g. EMPLOYEE - * or Hours). The value will be a Village Value Class. Below is a simple - * way to do this. See the dumpResults* method code for a more complex example. + * <p>The results list will be an ListOrderedMapCI with a key of either the + * group by column name or the name specified for the aggregate function (e.g. + * EMPLOYEE or Hours). The value will be a Village Value Class. Below is + * a simple way to do this. See the dumpResults* method code for a more + * complex example. * </p> * <pre> * String emp = results.get("EMPLOYEE").asString(); @@ -80,7 +79,7 @@ import com.workingdogs.village.Value; * method or by the first table prefix in an aggregate function.</p> * <p> * This will also work with joined tables if the criteria is creates as - * to create valid SQL.</p> + * to create valid SQL.</p> * * @see org.apache.torque.util.functions.FunctionFactory * @author <a href="mailto:wford@example.com">Greg Monroe</a> @@ -89,56 +88,58 @@ import com.workingdogs.village.Value; public class SummaryHelper { static Log logger = LogFactory.getLog(SummaryHelper.class); - + /** A list of the group by columns names (e.g. TABLE.COLUMN) */ private List groupByColumns; - /** A OrderMap<String,Aggregate.Function> with the aggregate functions - * to use in generating results. */ - private OrderedMap aggregates; + /** + * A ListOrderMapCI<String,Aggregate.Function> with the aggregate + * functions to use in generating results. + */ + private ListOrderedMapCI aggregates; /** Flag for excluding unnamed columns. */ private boolean excludeExprColumns = false; - + /** * Simple constructor */ - public SummaryHelper() + public SummaryHelper() { super(); } - + /** - * Return a list of OrderedMap objects with the results of the summary - * query. The OrderedMap objects have a key of the column name or + * Return a list of ListOrderedMapCI objects with the results of the summary + * query. The ListOrderedMapCI objects have a key of the column name or * function alias and are in the order generated by the query. - * + * * @param crit The base criteria to build on. - * @return Results as a OrderMap<String,Values> object. + * @return Results as a ListOrderMapCI<String,Values> object. * @throws TorqueException * @throws DataSetException */ - public List summarize( Criteria crit ) - throws TorqueException, DataSetException + public List summarize( Criteria crit ) + throws TorqueException, DataSetException { return summarize( crit, null ); } - + /** - * Return a list of ListOrderedMapCI objects with the results of the - * summary query. The ListOrderedMapCI objects have a key of the column + * Return a list of ListOrderedMapCI objects with the results of the + * summary query. The ListOrderedMapCI objects have a key of the column * name or function alias and are in the order generated by the query. * * @param crit The base criteria to build on. * @param conn The DB Connection to use. - * @return Results as a OrderMap<String,Values> object. + * @return Results as a ListOrderMapCI<String,Values> object. * @throws TorqueException * @throws DataSetException * @see ListOrderedMapCI */ - public List summarize( Criteria crit, Connection conn ) - throws TorqueException, DataSetException + public List summarize( Criteria crit, Connection conn ) + throws TorqueException, DataSetException { Criteria c = buildCriteria( crit ); - + List results; if (conn == null) { @@ -150,19 +151,19 @@ public class SummaryHelper } Iterator r = results.iterator(); - + Vector resultsList = new Vector(results.size()); - while ( r.hasNext() ) + while ( r.hasNext() ) { ListOrderedMapCI recordMap = new ListOrderedMapCI(); Record rec = (Record) r.next(); String cName = null; Value value = null; - for ( int i = 1; i <= rec.size(); i++ ) + for ( int i = 1; i <= rec.size(); i++ ) { value = rec.getValue(i); cName = rec.schema().column(i).name(); - if ( cName == null || cName.equals("") ) + if ( cName == null || cName.equals("") ) { if ( excludeExprColumns() ) { continue; @@ -173,22 +174,22 @@ public class SummaryHelper } resultsList.add(recordMap); } - return resultsList; + return resultsList; } - + /** * Builds the criteria to use in summarizing the information. Note that * the criteria passed in will be modified. - * + * * @param c The base criteria to build the summary criteria from. * @return A criteria to use in summarizing the information. * @throws TorqueException */ public Criteria buildCriteria( Criteria c ) throws TorqueException { - + c.getSelectColumns().clear(); c.getGroupByColumns().clear(); - + UniqueList criteriaSelectModifiers; criteriaSelectModifiers = c.getSelectModifiers(); @@ -202,29 +203,29 @@ public class SummaryHelper List cols = null; Iterator i = null; - + cols = getGroupByColumns(); i = cols.iterator(); boolean haveFromTable = i.hasNext(); // Group By cols define src table. - while ( i.hasNext() ) + while ( i.hasNext() ) { String col = (String) i.next(); c.addGroupByColumn( col ); c.addSelectColumn(col); } - if ( haveFromTable ) + if ( haveFromTable ) logger.debug("From table defined by Group By Cols"); - + // Check if the from table
{'source': 'Apache Software Foundation Public Mail Archives'}