Release History

VersionDateDescription
3.1.1 2004-10-26
3.1.1-RC3 2004-10-16
3.1.1-RC2 2004-08-27
3.1.1-RC1 2004-08-26
3.1 2003-09-01
3.1-RC1 2003-08-25
3.1-BETA1 2003-08-19
3.1-ALPHA2 2003-06-28
3.1-ALPHA1 2003-04-17
3.0 2002-12-03
3.0-RC2 2002-11-20
3.0-RC1 2002-10-26
3.0-B4 2002-08-22
3.0-B3 2002-07-17

Get the RSS feed of the last changes

Release 3.1.1 - 2004-10-26

TypeChangesBy
update Change PostgreSQL ID generation to use select nextvalinstead of select currval. henning
update Generated code contains Javadoc error "sentence is different...". Fixes TRQS235. seade
update Generated code contains Javadoc error "@param tags incorrect". Fixes TRQS236. seade
update Remove a few unused variables from the generated Object templates. Fixes TRQS237. henning
update Do not output binary column when invoking toString() from the generated objects. Fixes TRQS231. henning
update When building a criteria to represent an object, skip binary columns. Their content will not help much anyway and if you really insist on building an object that differs from an existing object only by the contents of a binary column (which implies that such a column might be a primary key), then you deserve to suffer. Don't do this. For everyone else, this change might actually make doDelete(object)work if your object contains a binary column. Fixes TRQS230. henning
update Add Oracle Update patch from Thierry Lach. I don't use Oracle so I rely on Thierry that he knows what he is doing. Ant users: please not the changes mentioned in the Oracle Howto. Fixes TRQS222. henning
update Add Torque Reporting to the Maven plugin. Patch contributed by Thierry Lach. Fixes TRQS215. henning
update Make org.apache.torque.util.SqlEnumpublic visible. The C'tor is still private, so this should be no problem. Fixes TRQS207. henning
update Fix a typo in the reworked Limit / Offset Code for Oracle and DB2. Confused pre and post. Fixes TRQS239. henning
update Fix offset and limit swap for DB2 and Oracle. Fixes TRQS240. henning

Release 3.1.1-RC3 - 2004-10-16

TypeChangesBy
update Add maven-generated ant-buildfiles as a courtesy to those that are still stuck with ant. No warranty, no support. It works for me, though. henning
update Upgrade to commons-configuration-1.0. Note that all applications that use Torque 3.1 and want to use commons-configuration 1.0 now mustalso use commons-collections 3.x! Fixes TRQS229. henning
update Update the POMs to reflect the current style of artifact declaration. henning
update Changed the release-changes.xml file into a maven compliant changes.xml file. Activated the maven-changes-report. henning
update Changed the default property value for torque.output.dirfrom maven.build.destto maven.build.dir. This means many of the generated files will now appear in the targetrather than the target/classesdirectory. The properties reference was updated accordingly (a few missing properties were also documented).
update Add missing method retrieveByPK(native type, Connection)method to the generated peer classes henning
add Patrick Carl donated an XSL style sheet to convert Torque schema files into mogwai ERDesignerfiles. henning
update Restructured maven project files based on HEAD to gain improved control over dependencies. seade
update Upgrade to commons-pool-1.2 and commons-dbcp-1.2.1. seade
fix Restored sql statement logging (DEBUG level) that was lost in RC2.
fix TIME should be enclosed in single quotes for SQL Loader. Thanks to Matt Finn for the patch. Fixes TRQS154.
fix Remove unneeded code in Torque maven plugin. Thanks to Thierry Lach for the patch. Fixes TRQS226.
fix Torque maven plugin om zip goal doesn't work. Thanks to Dan Price for the patch. Fixes TRQS220.
fix Deleting an Object containing a timestamp didn't work with PostgreSQL (the adapter was missing the necessary method to convert the timestamp into a value that is understood by the databases).

Release 3.1.1-RC2 - 2004-08-27

TypeChangesBy
fix limitand offsethandling for all databases other than DB2 was broken. limitand offsethandling for all databases has been revamped and should now work correctly. henning

Release 3.1.1-RC1 - 2004-08-26

TypeChangesBy
update Addressed a number of issues highlighted by FindBugsin generated source code.
update Upgrade to stratum-1.0-b5 and xerces-2.4.0.
update Upgrade to commons-collections-3.0, commons-configuration-1.0-rc1, commons-lang-2.0 and commons-logging-1.0.4.
fix HSQL adapter enhancements/fixes: added support for case-insensitive queries, added support for cascading deletes, correction to the generated CREATE TABLE DDL when using IDENTITY columns. Thanks to Patrick Carl for the patch.
update The adapterproperty is now used in preference to driverwhen building the database map. This allows Torque to work when the driver setting is not what it expects - e.g. if using com.mysqldriver instead of the org.gjt.mm.mysqlor when using P6Spypass through driver for performance monitoring. Thanks to Ben Hogan for the patch.
add DB2 limit and offset support. Thanks to Augustin Vidovic for the patch.
update Upgraded to commons-pool-1.1 and commons-dbcp-1.1
update Case insensitive LIKE comparisons now use ILIKE for PostgreSQL.
fix Corrected handling of BIT with PostgreSQL. Note that the solution im plemented has been tested under MySLQ and PostgreSQL only. Fixes TRQS185.
fix Multiple unique constraints and indexes on a single table are now allocated sequential names (previously duplicate names were being allocated).
fix Backported a few template fixes from Serge Huber that were committed to HEAD some time ago.
fix Generate sequences correctly for PostgreSQL (i.e. leave it to PostgreSQL). Note that schemas produced from the database using the torque:jdbcgoal are not yet handling sequences correctly.
fix Problems with Torque tutorial. The Torque tutorial has been updated to reflect the separated generator and runtime components and to use the Maven plugin. Fixes TRQD26.
fix The generator logging configuration has been changed from DEBUG to INFO - this will make the day of all those people that for some reason have the torque-gen jar in their classpath at runtime. Hint: You don't need this jar to use the Torque generated object model classes.
fix The maven-plugin now provides default values for torque.initialIDValueand torque.initialIDStepso that the id table initialization sql is now generated correctly.
fix The get${pVarName} method in the Object.vm template does not return related objects with a negative PK. Thanks to Nick Curry for the patch. Fixes TRQS223.
fix Fix NOT_LIKE with no wildcard bug.
fix Fix bad syntax in generated model when using primary keys of short or byte. Fixes TRQS97.
fix For PostgreSQL the LONGVARCHAR datatype now maps to textrather than bytea. Fixes TRQS149.
fix Error on "byte" data type generation rules. Fixes TRQS190.
fix A minor template change has been made to correctly allow Base[TableName ] Peer.doDelete(criteria, connection) to be overridden in [TableName ] Peer.

Release 3.1 - 2003-09-01

TypeChangesBy
fix SqlExpression: replace UniqueList with HashSet to improve performace for large IN clause.

Release 3.1-RC1 - 2003-08-25

TypeChangesBy
fix JdbcTrasformTask: error fetching foreign keys using an ODBC source.
fix new version of village.jar fixes BOOLEANCHAR handling.
fix Transaction mismanagement in IDBroker. Fixes TRQ4.

Release 3.1-BETA1 - 2003-08-19

TypeChangesBy
update Introduced the TorqueInstance class to do away with static initialization woes and allow multiple instances of Torque per ClassLoader.
update The generated schema-data.dtd has been changed to allow any order of table data entries.
update The old Torque connection pool is deprecated. You should use the commons-dbcp pool.
update Upgraded to latest commons-dbcp snapshot. The new SharedPoolDatasourceFactory is now used by default. Don't forget to upgrade your property file!
fix Datadump does not recognize null columns properly Fixes TRQS51.
fix Torque.initialize not reentrant Fixes TRQS85.
fix name conflict in generated java sources when using java reserved words (like "class") as column names.

Column.UncapitalisedJavaNameis now used as member name instead of Column.Name.toLowerCase()

Fixes TRQS87.
fix MySQL will not accept a size definition for TEXT and BLOB fields Fixes TRQS136.
fix Oracle DB using Criteria to select by Data doesn't work Fixes TRQS152.
fix Problems on DB2 with BINARY, VARBINARY and INTEGER. Fixes TRQS174.
fix use sql autoincrement only if idMethod native.

So you have to set idMethod="native" (table) plus autoincrement="true" (column) to generate the autoincrement code in your sql. Fixes TRQS178.

Release 3.1-ALPHA2 - 2003-06-28

TypeChangesBy
update use commons-logging.

BaseObject.log() and .getLog() now return a Log object. Fixes TRQS2.
update The DTD resolver will now use the database.dtd from the classpath if the DTD is http://db.apache.org/torque/dtd/database_3_1.dtd.
update LargeSelect now implements Serializable, provides better debugging information and further methods for maintaining search parameters.
update LargeSelect is now thread safe when calling invalidateResult (thanks to Soteri Panagou < panagos@midetech.com > ).
update Updated ojb tasks to work for OJB 1.0(rc3). The generated modell is very simple. Support for advanced features will be added in the future.
fix mysql: "on delete cascade" not generated Fixes TRQS20.
fix Sql2Xml task should generate a dtd compliant xml Fixes TRQS101.
fix native limit and offset breaks on postgresql 7.3 Fixes TRQS121.
fix NullPointer Exception When not setting the DbName explicitly Fixes TRQS138.
fix wrong invocation of populateObject in peer class Fixes TRQS139.
fix Table with no primary key results an empty ADD PRIMARY KEY () Fixes TRQS141.
fix BasePeer.doSelect(Criteria, Connection) calls executeQuery without offset and limit. Fixes TRQS153.
fix Invalid syntaxes for Hypersonic when using indexes. Fixes TRQS159.
fix columns in an external schema caused Manager imports to be generated Fixes TRQS165.
fix Corrected deadly multi-CPU thread deadlock problem discovered by Ed Korthof < ed@apache.org > and John McNally < jmcnally@apache.org > . The problem was due to emulation of synchronization using an int counter (to improve performance by avoiding Java "synchronized" keyword). Post-increment and decrement operators compile to three op codes (with Sun's JDK 1.3.1 for Linux), unsafe on a multi-CPU box.

Release 3.1-ALPHA1 - 2003-04-17

TypeChangesBy
update Removed all deprecated stuff from the java code. Make sure to not get any deprecation warnings before you switch to 3.1!
update The generator was separated. The docs for the generator can be found here
update Replace StringStack as it is deprecated. The return type for some public methods changed (but as they are only used internally you should not need to change anything in your code). Fixes TRQS145.
update Junit tests for sql2xml task (SQLToAppDataTest) Fixes TRQS95.
update Package names for generated j ava classes are now handled in the model (not the templates)
update The DTD resolver will now use the database.dtd from the classpath if the DTD is http://jakarta.apache.org/turbine/dtd/database_3_1.dtd. This change allows XML editor to use the proper version of the DTD.
fix Criteria.addDate is broken Fixes TRQ18.
fix recursive external schemas fail Fixes TRQ19.
fix limit and offset patch for Oracle Fixes TRQ47.
fix torque schema-reference.html bug: unique-column Fixes TRQD21.
fix fix endless loop in Monitor Fixes TRQS29.
fix fix endless loop in Monitor Fixes TRQS93.
fix id-table-schema.xml has no database name Fixes TRQS35.
fix bug in torque generated copy() method Fixes TRQS47.
fix SQLScanner reports wrong line numbers in Window platforms and behaves incorrectly when finding the minus sign Fixes TRQS90.
fix Documentation changes in ForeignKey.java Fixes TRQS98.
fix Use of null Object Fixes TRQS104.
fix Database.java NPEs on bad foreign key Fixes TRQS116.
fix Generated OM doesn't compile when using FLOAT as primary key Fixes TRQS118.
fix Join methods are not generated. Fixes TRQS122.
fix Database.java using null object Fixes TRQS132.

Release 3.0 - 2002-12-03

TypeChangesBy
fix torque-jdbc-transform should not show password Fixes TRQS59.
fix uses @DATABASE@ variable for default database adapter instead of mysql Fixes TRQS86.
fix more concise name on Criteria.setSingleRecord Fixes TRQS61.
fix Criteria.toString() modifies the Criteria object Fixes TRQS73.
fix getPrimaryKey() throws NullPointerException is pk is Object type and null. Fixes TRQS81.
fix Constructor for DateKey and StringKey will throw NullPointer exception if passed null value Fixes TRQS82.
fix sql-generation: create foreign keys for hsqldb

Release 3.0-RC2 - 2002-11-20

TypeChangesBy
update the TorqueSQLExec task ignores lines starting with '//', '--' or 'REM ' (notice the space!!). Fixes TRQ2.
update added doDelete(ObjectKey) methods to the generated Peers. Fixes TRQ24.
update Added a Maven plugin for executing Torque commands and updated the Maven Howtoto reflect the addition.
update Added support for MS Access (using the JDBC-ODBC Bridge driver).
update Upgraded village to 2.0-dev.
fix Problem retrieving object/row count using Criteria Fixes TRQ37.
fix update README (ant 1.5 is required) Fixes TRQD6.
fix remove invalid pathelement in build-torque.xml Fixes TRQS68.
fix Object.vm generates files which will not compile. Fixes TRQS75.
fix postgres - Incosistent generation errors Fixes TRQS77.
fix When generating an XML schema from a SQL Schema, the output xml contains a ja vaname attribute (notice the lowercase "n" in javaname)
fix Doc generation (anakia format): escape characters not allowed in XML

Release 3.0-RC1 - 2002-10-26

TypeChangesBy
update make getPrimaryKey return ObjectKey but getPkField return the type it is. Fixes TRQ41.
update Torque 3.0 doesn't work with Intake in Turbine 2.x's Retrievable interface. Added a property torque.retrievableInterface(defaults to the turbine-2 version).

Fulcrum users have to set the property to org.apache.fulcrum.intake.RetrievableFixes TRQS37.
update Added static factory methods to create instances of SimpleKey Fixes TRQ45.
update minor corrections for OJB template Fixes TRQS7.
update torque.overloadKeySetters obsoleted Fixes TRQS13.
update added support for the new com.mysql.jdbc.Driver
update improved JDBC to DB2 mappings.
update improved JDBC to SAPDB mappings Fixes TRQ35.
update peers: do not create the JoinAll method if any of the foreign keys reference external tables.
update new property 'torque.generateDeprecated' ( = 'true').

if set to 'false' deprecated methods in the om/peer classes are not generated
fix Fix ComboKey.setValue(String) to avoid infinite loop Fixes TRQ44.
fix string to date conversion in MSSQL/Sybase Fixes TRQ26.
fix booleanint/booleanchar fails with javaType="object" Fixes TRQ28.
fix ComboKey(Strin g) ctor out-of-memory error Fixes TRQ31.
fix Data Dump task may generate invalid XML output Fixes TRQ39.
fix add a NumberKey(Number key) constructor and added methods to get native datatypes (byte, int, long, float, double) Fixes TRQ44.
fix add static keyFor methods to generate appropriate SimpleKey instance Fixes TRQ45.
fix several small patches to correct db2 sql generation Fixes TRQS1.
fix Torque gererated code does not compile Fixes TRQS15.
fix fix foreign key generation statements for db2 Fixes TRQS33.
fix id-table-init-sql creates empty .sql file Fixes TRQS40.
fix bugzilla #12626: Peer.vm was missing the DateKey import.
fix postgres: Unable to identify an operator '=' for types 'smallint' and 'boolean'
fix sapdb: generate valid sql for primary keys
fix objects: avoid npe and set id to null if the object was null
fix objects: the generation of the BaseClass and the Interface is working even if the Interface is empty.

Release 3.0-B4 - 2002-08-22

TypeChangesBy
update jdbc2pool package dissolved (the old Torque pool is back in the torque codebase, the new pool is part of commons-dbcp now)
update torque uses maven-1.0-beta-6 as default build system.
update renamed all properties (torque prefix added).

the old property names still work but they are deprecated and support will be removed after the 3.0 release.
fix aliases not recognized in orderBy column

Release 3.0-B3 - 2002-07-17

TypeChangesBy
update New Package names are now in use.
old namenew name
org.apache.turbine.torque.*org.apache.torque.*
org.apache.turbine.util.db.adapter.*org.apache.torque.adapter.*
org.apache.turbine.services.db.TurbineDBorg.apache.torque.Torque
org.apache.turbine.util.db.map.IDMethodorg.apache.torque.adapter.IDMethod
org.apache.turbine.util.db.map.MapBuilderorg.apache.torque.map.MapBuilder
org.apache.turbine.util.db.map.ColumnMaporg.apache.torque.map.ColumnMap
org.apache.turbine.util.db.map.DatabaseMaporg.apache.torque.map.DatabaseMap
org.apache.turbine.util.db.map.TableMaporg.apache.torque.map.TableMap
org.apache.turbine.om.Persistentorg.apache.torque.om.Persistent
org.apache.turbine.om.Retrievable removed
org.apache.turbine.om.Retriever removed
org.apache.turbine.om.RetrieverFactory removed
org.apache.turbine.om.BaseObjectorg.apache.torque.om.
org.apache.turbine.om.ComboKeyorg.apache.torque.om.ComboKey
org.apache.turbine.om.DateKeyorg.apache.torque.om.DateKey
org.apache.turbine.om.NumberKeyorg.apache.torque.om.NumberKey
org.apache.turbine.om.ObjectKeyorg.apache.torque.om.ObjectKey
org.apache.turbine.om.SimpleKeyorg.apache.torque.om.SimpleKey
org.apache.turbine.om.StringKeyorg.apache.torque.om.StringKey
org.apache.turbine.om.peer.BasePeerorg.apache.torque.util.BasePeer
org.apache.turbine.util.db.IdGeneratororg.apache.torque.oid.IdGenerator
org.apache.turbine.util.db.AutoIncrementIdGeneratororg.apache.torque.oid.AutoIncrementIdGenerator
org.apache.turbine.util.db.Criteriaorg.apache.torque.util.Criteria
org.apache.turbine.util.db.IDBrokerorg.apache.torque.oid.IDBroker
org.apache.turbine.util.db.IDGeneratorFactoryorg.apache.torque.oid.IDGeneratorFactory
org.apache.turbine.util.db.LargeSelectorg.apache.torque.util.LargeSelect
org.apache.turbine.util.db.Queryorg.apache.torque.util.Query
org.apache.turbine.util.db.SequenceIdGeneratororg.apache.torque.oid.SequenceIdGenerator
org.apache.turbine.util.db.SqlExpressionorg.apache.torque.util.SqlExpression
fix API changed: Torque uses List instead of Vector.

e.g. BasePeer.doSelect() returns a List now
fix the pool packages has been removed

commons-jdbc2pool is used instead.
update new idMethod NATIVE. this replaces SEQUENCE and AUTOINCREMENT
update support for axion added
fix fixed logging when category is null.