Changes

Release History

VersionDateDescription
3.32008-02-29 
3.3-RC22007-02-26 
3.3-RC12006-11-23 
3.2-rc32005-11-13 
3.2-rc22005-09-13 
3.2-rc12005-07-19 
3.1.12004-10-26 
3.1.1-RC32004-10-16 
3.1.1-RC22004-08-27 
3.1.1-RC12004-08-26 
3.12003-09-01 
3.1-RC12003-08-25 
3.1-BETA12003-08-19 
3.1-ALPHA22003-06-28 
3.1-ALPHA12003-04-17 
3.02002-12-03 
3.0-RC22002-11-20 
3.0-RC12002-10-26 
3.0-B42002-08-22 
3.0-B32002-07-17 

Release 3.3 - 2008-02-29

TypeChangesBy

remove

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 to create sql for id tables instead.tfischer

update

maven2 plugin: changed the default value of the property schemaExcludes in the sql goal from "id-table-schema.xml" to "". So the default property settings also work if the idMethod is idbroker.tfischer

fix

Added better handling in Village for BigDecimal values. Double and Float types will be converted using appropriate constructors rather than the somewhat buggy BigDecimal(String) constructor. Fixes TORQUE-53.gmonroe

add

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 fail with Derby's JDBC network driver.gmonroe

add

Maven 2 plugin: Added the attribute delimiterType for the sqlExec goal.tfischer

update

Maven 2 plugin: changed the default value of the parameter "suffix" in the id-table-init-sql goal to "-idtable-init" (was: ""). This allows for automatic execution of the id-table-init-sql files in the sqlExec goal with default settings.tfischer

update

Sybase: Columns where the attribute "required" is not set or set to false are now created explicitly with suffix "NULL". Fixes TORQUE-105. Thanks to Sylvain Benoist.tfischer

update

Changed Type Mappings for Sybase: Torque type TIME is now mapped to SQL type TIME (was: SQL type TIMESTAMP) Torque type CLOB is now mapped to SQL type TEXT (was: SQL type CLOB, which does not exist in Sybase) Torque type BLOB is now mapped to SQL type IMAGE (was: SQL type BLOB, which does not exist in Sybase)tfischer

update

Criterions with an integer value will now be set using PreparedStatemet#setInt() when doing a PsSelect.tfischer

update

Integrated Village into Torque. Thanks to Henning, Jean, Jon and Scott for the paperwork.tv

update

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. Fixes TORQUE-86. Thanks to Will Glass-Husain.gmonroe

update

An exception is now thrown on an attempt to update a modified object without a primary key. The previous behaviour was to fail silently. Fixes TORQUE-69.tfischer

fix

Corrected invalid cast in TorqueRuntimeException.splitStackTrace. Fixes TORQUE-103. Thanks to Jonathan Purvis.tfischer

fix

Remove 'COMMENT ON...' output from generated SQL for Sybase as these commands do not exist in Sybase's sql. Fixes TORQUE-104. Thanks to Sylvain Benoist.tfischer

update

Deprecated the attribute size in the element index-column in the dtd. The attribute is currently not used. It will be removed from the dtd in a future version of Torque. Fixes TORQUE-91.tfischer

update

Create nicely trimmed output in the generator. Fixes TORQUE-71. Thanks to Thoralf Rickert.tfischer

add

Implemented the goal id-broker-init-sql in the Maven2 plugin. Fixes TORQUE-101. Thanks to Marc Kannegiesser.tfischer

fix

The suffix parameter to the Maven2-plugin's sql task now works. Thanks to Marc Kannegiesser.tfischer

add

Added copy(..) and add<ForeignKey>(..) methods with a connection parameter. Fixes TORQUE-99. Thanks to Tobias Hilka.tfischer

update

Updated JCS dependency to version 1.3 and fixed related deprecation issues.tv

fix

Avoid to call JDK 1.5 code when creating BigDecimals. Fixes TORQUE-97. Thanks to Markus Müller.tv

add

OrderBy now accepts column names without a dot. No additional processing is made for these. Fixes TORQUE-89. Thanks to Stefan Birrer.tfischer

fix

Fixed Null Pointer Exceptions in Criteria.equals() and Criteria.hashCode() if joins are null. Fixes TORQUE-90. Thanks to Sean Gilligan.tfischer

fix

Changed the maven2 plugin's datadump goal to accept only a single schema xml. Multiple schema xmls produced illegal output.tfischer

fix

Fixed the maven2 plugin's datasql goal to do the same as the ant and maven1 datasql task.tfischer

add

Added a datadtd goal to the maven2 plugin.tfischer

update

changed the artifact id of some maven2 artifacts: runtime -> torque-runtime, generator -> torque-generator, templates -> torque-templates. This change only affects maven2 users.tfischer

update

Changed the group id of the maven2 artifacts from org.apache.db.torque to org.apache.torque. This change only affects maven2 users.tfischer

fix

Fixed problem with somePeer.doDelete(Criteria) if criteria contains a join. Fixes TORQUE-93.tfischer

add

Added torque.beanExtendsClass property that defines a fully qualified class name (e.g. org.apache.struts.action.ActionForm) that the base bean classes will extend.gmonroe

fix

Fixed handling of the enableJava5Features config parameter in the maven 2 plugin. Fixes TORQUE-88.tfischer

fix

Fixed handling of select statements in mysql and postgresql if offset is set but limit is not set in a query. Fixes TORQUE-87.tfischer

Release 3.3-RC2 - 2007-02-26

TypeChangesBy

fix

Fix the handling of interfaces while keeping backward compatibility. Add documentation and test cases. Fixes TORQUE-76. Thanks to Ronny Völker.tv

fix

In the JdbcTransformTask of the generator, the attribute "default" is only added to the generated schema if its value is not empty. Fixes TORQUE-80. Thanks to Brian Telintelo.tfischer

add

Added check whether Torque is initialized in Torque.getConnection(). If Torque is not initialized, a corresponding TorqueException is thrown; Fixes TORQUE-79.tfischer

add

The maven 2 plugin generates the non-base classes into a different directory than the base classes. This behaviour can also be configured for maven 1 and ant by setting the property torque.java.base.dir to another directory than torque.java.dir.tfischer

fix

Fixed the lifecycle integration and dependency resolution of the om goal in the maven 2 plugin. Thanks to Jeffrey D. Brekke.tfischer

fix

Allow repeated lookups to the Torque Avalon Component. The component now registers the existing MapBuilders with the new instance so that they are re-built during initialization. This is considered a temporary hack until the static constructors of the generated Peer classes go away. Fixes TORQUE-68.tv

update

Centralized the handling of MapBuilders in the TorqueInstance class. This allows for repeated initialization of different instances of Torque. The method BasePeer.getMapBuilder(className) is now deprecated.tv

fix

Set autocommit=true as default for the sqlexec task in the maven 2 plugin. Some databases (e.g. postgresql) need this to proceed if a statement execution fails.tfischer

fix

Added the TEXT sql type in postgresql to the list of types where size and scale is silently dropped in sql generation.tfischer

fix

Made the password parameter optional in the sqlexec task in the maven2 plugin. Empty passwords work for some databases.tfischer

fix

Added missing log4j jar to generator dependencies. Fixes TORQUE-73.tfischer

fix

Improved Derby generator platform implimentation to support correctly sized BINARY and VARBINARY using the SizedAsBitDataDomain. Also fixed problems with the BIT and TINYINT mappings.gmonroe

add

Added a new Generator model Domain subclass called SizedForBitDataDomain to support the DB2/Derby CHAR/VARCHAR (size) AS BIT DATA format.gmonroe

fix

Fixed template package references that caused bad code to be generated if non-default packages were used.gmonroe

Release 3.3-RC1 - 2006-11-23

TypeChangesBy

fix

Fixed a synchronisation issue in the getDateString() method in the database adapter for postgresql.tfischer

fix

Wrong caching of method calls with more than three arguments in MethodResultCache. Fixes TORQUE-63. Thanks to Ronny Völker.tv

add

The Column names TABLE_NAME and DATABASE_NAME are now legal column names. Fixes TORQUE-44. Thanks to Greg Monroe.tfischer

add

Added a maven 2 plugin. Fixes TORQUE-2. Thanks to Raphael Pieroni.tfischer

fix

Fixed handling of escaping (by backslashes) for LIKE clauses. This included fixing the general handling of backslashes for several databases. Fixes TORQUE-57.tfischer

fix

Booleanchar and Booleanint now work for chained (and'ed, or'ed) Criterions. Fixes TORQUE-59.tfischer

add

Added support for option tags for most elements in the database.xml for usage with custom templates. Fixes TORQUE-27. Thanks to Greg Monroe.tfischer

fix

Limit and Offset work now correctly if applied to joined tables which contain the same column name in oracle. Fixes TORQUE-10.tfischer

fix

The variable CLASS_NAME in the map builders is now filled correctly if the build property torque.subpackage.map is set. Fixes TORQUE-56. Thanks to Gustavo Fernandez.tfischer

add

Added support for customizing generator templates. Fixes TORQUE-50. Thanks to Greg Monroe.tfischer

add

Add a "serialVersionUID" to the generated classes that implement Serializable. The entry is generated if "addTimeStamp" is true. This should remove quite a number of warnings when using Torque generated classes.tv

fix

Use encoding in the header of schema.xml files instead of default encoding to parse the schema.xml files. Fixes TORQUE-49.tfischer

update

Provided generic typed wrappers for methods in BasePeer when torque.enableJava5Features is set to true. Fixes TORQUE-31. Thanks to Thoralf Rickert.tfischer

update

The default package for generated classes was changed from org.apache.torque to torque.generated. Fixes TORQUE-37. Thanks to Greg Monroe.tfischer

fix

Selects for BOOLEANCHAR and BOOLEANINT now work for aliased tablenames and joined tables.

fix

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 would have been set to book.AUTHOR_ID. The old behaviour can be regained by setting the generator property torque.deprecated.uppercasePeer to true. Fixes TORQUE-44. Thanks to Thoralf Rickert and Greg Monroe.tfischer

update

Simplified the Torque Avalon component.tv

add

Provided support for user-loadable DB adapters.tv

fix

Fixed MS-SQL failure in LargeSelect. Fixes TORQUE-20. Thanks to Greg Monroe.tv

fix

Fixed several methods not using JavaName in Peer.vm. Thanks to Thoralf Rickert for the patch. Fixes TORQUE-43. Thanks to Thoralf Rickert.tv

fix

Fixed Criteria.andDate() methods to call getTime() like the addDate methods do. Added a test case to check this. Thanks to Federico Fissore for the Criteria patch. Fixes TORQUE-42. Thanks to Federico Fissore.tv

update

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.tv

fix

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. Fixes TORQUE-41. Thanks to Thoralf Rickert.tfischer

add

Refined guesswork for detecting column names out of functions, clauses etc. This is important e.g. for orderBy Statements like "order by table.column in (1,2,3)" or "order by 100 < table.column". Fixes TORQUE-33. Thanks to Jacob Champlin.tfischer

add

Added the CASCADE option to drop table statements for HSQLDB. This will not work with HSQLDB 1.7. Consult the HSQLDB Howto for information about reverting to the old behaviour. Fixes TORQUE-30. Thanks to Patrick Carl.tfischer

add

Added setByName and setByPosition methods in the generated object classes that match the already existing getByName and getByPosition methods. Fixes TORQUE-26. Thanks to Greg Monroe.tfischer

fix

Fixed wrong constant CLASS_DEFAULT_NAME in generated peer classes. The error occurred only if the option torque.subpackage.object was set in the generator properties. Fixes TORQUE-28. Thanks to Mojmir Hanes.tfischer

add

A database map can now load all contained tableMaps using its method databaseMap.initialize(). Fixes TORQUE-22. Thanks to Greg Monroe.tfischer

add

The database maps now provide all information from the schema.xml. Fixes TORQUE-22. Thanks to Greg Monroe.tfischer

add

Improved performance for sybase limit using SET ROWCOUNT. Fixes TORQUE-25. Thanks to Martin Goulet.tfischer

add

Added methods for shallow copies into the generated objects. Fixes TORQUE-23. Thanks to Thoralf Rickert.tfischer

fix

Fixed foreign key constraint generation for Firebird. Fixes TORQUE-6. Thanks to Joerg Friedrich.tfischer

add

Added createdb-template for MS-SQL. Fixes TORQUE-18. Thanks to Greg Monroe.tfischer

fix

Corrected datatype Mapping for MS-SQL: Torque type BLOB is now mapped to MS-SQL type IMAGE (was BLOB in Torque 3.2, not working). Torque type CLOB is now mapped to MS-SQL type TEXT (was CLOB in Torque 3.2, not working) Fixes TORQUE-19. Thanks to Greg Monroe.tfischer

fix

Fixed bug in bean generation when a table has several references to another table. Fixes TORQUE-21. Thanks to Nicolas Le Griel.tfischer

fix

Added new firebird database adapter. Date Strings returned by the interbase and firebird adapters are now escaped. Fixes TORQUE-4. Thanks to Joerg Friedrich.tfischer

fix

Corrected datatype Mappings for firebird: Torque type char is now mapped to firebird type char (was varchar). Torque type double is now mapped to firebird type double precision (was double). Torque type booleanchar is now mapped to firebird type char(1) (was varchar(1)). Fixes TORQUE-4. Thanks to Joerg Friedrich.tfischer

fix

Corrected Mapping for Type LONGVARCHAR for Derby. Fixes TRQS356.tfischer

fix

Added dummy template for DB creation for DB2. Fixes TRQS362.tfischer

fix

Mapped the Torque type INTEGER to the SQL type INTEGER in Mysql. (In Torque 3.2, this was changed unintentionally to MEDIUMINT. MEDIUMINT does not cover the full data range of java integers.) Thanks to Joerg Friedrich for reporting the error. Fixes TORQUE-5.tfischer

add

Added a new convenience method, Transaction.begin(), which is the same as Transaction.begin(Torque.getDefaultDb()).tfischer

update

Centralized the information the runtime keeps about underlying databases in a singe class called Database. Deprecated the decentralized methods to access information about the databases.tfischer

update

The IdBroker is now only started for a database if the IdMethod idBroker is used in that database.tfischer

fix

Use BigDecimal(double) constructor so as to help code compiled under JDK 1.5 execute correctly under earlier JDKs (See https://bugs.eclipse.org/bugs/show_bug.cgi?id=121325 for the related Eclipse bug).seade

update

Update to the Avalon components of Torque. The component now understands Merlin- and YAAFI-type context entries and provides again all methods from TorqueInstance.tv

fix

HSQL's autoincrement columns now start with one instead of zero. Thanks to Patrick Carl for an early version of the patch. Fixes TRQS335.tfischer

fix

IgnoreCase in PsSelects now also takes into account Criterion's setIgnoreCase(). Thanks to Robert Dietrick for an early version of the patch. Fixes TRQS345.tfischer

update

If no DTD is given, in the schema.xml, no dtd is used to validate the schema.xml. The old behaviour was to use the dtd from the generator jar.tfischer

fix

Changed behaviour for a limit of zero: (criteria.setLimit(0)): If the db supports native limit, a limit of zero returns zero datasets. if the db does not support native limit, a limit of zero causes a TorqueException (thanks to village :-() The former behaviour was: A limit of zero returns all datasets.tfischer

fix

Fixed case-insensitive order by for hsqldb.tfischer

add

Added the table descriptions from the schema.xml to the comments of the generated classes. Thanks to Thoralf Rickert for the patch.tfischer

add

Added Java5 generics support for the generated classes. Thanks to Thoralf Rickert for the patch.tfischer

add

Formatting of the html documentation generated by the generator is now done by css stylesheets.tfischer

add

Subqueries are now supported. This has caused Criterion.appendTo(StringBuffer) to declare throwing a Torque Exception. Fixes TRQS305.tfischer

fix

BaseObject.equals() does not return true anymore if the objects do not have the same class. Thanks to Patrick Carl for the patch. Fixes TRQS133.tfischer

add

Extended support for derby: IdMethod native is now supported. Added mappings for Torque types LONGVARCHAR, BINARY and VARBINARY. Implemented the methods getMaxColumnNameLength(), hasScale() and hasSize() in PlatformDerbyImpl. Foreign keys are now declared outside the CREATE TABLE statement, allowing to create foreign references independent of the order of tables in the schema.xml. The SQL for the creation of Indices is now generated correctly (a CRLF was missing at the end). Thanks to Johnny Macchione for the patches.tfischer

fix

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 "CREATE TABLE" statement instead of defining them in the "CREATE TABLE" statement. Note that foreign keys are ignored by mysql except in InnoDB tables. Thanks to Thoralf Rickert for suggesting the patch. Fixes also TRQS278.tfischer

Release 3.2-rc3 - 2005-11-13

TypeChangesBy

fix

Fixed support for limit and offset for Derby in the runtime.tfischer

add

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.tfischer

fix

Corrected serialization of Criteria objects. While there also fixed equals() and added hashCode(). Thanks to Martin Goulet for a very early version of the serialization fix.seade

add

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. Thanks to Hilco Wijbenga for the patch.tfischer

fix

Fixed importing references for foreign keys if the object for the foreign key is in another package. Thanks to Robert Dietrick for the patch. Fixes TRQS325.tfischer

update

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) and default.properties (for ant) instead of in the templatestfischer

fix

The DataSourceFactory with the name "default" is created automatically again. This was removed when fixing TRQS308, but is required by Turbine. Fixes TRQS322.tfischer

add

The size and scale attributes from the schema.xml are now used to fill the fields size and scale in the column objects created by the generated map builder objects. Fixes TRQS323.tfischer

Release 3.2-rc2 - 2005-09-13

TypeChangesBy

fix

LargeSelect now also works for databases which do not support native limit and offset Fixes TRQS318.tfischer

fix

Added necessary addJoin() statenments to the generated Methods XXXPeer.doSelectAllExceptYYY(). Thanks to Thomas Vandahl for the patch. Fixes TRQS320.tfischer

add

Added the methods getCachedInstance() and getCachedInstanceImpl() to the BaseManager.vm template. Added the method getXXX(Connection) for associated objects to the ObjectWithManager.vm template. Thanks to Thomas Vandahl for the patch.tfischer

fix

For HSQLDB, the generator now generates NULL/NOT NULL, DEFAULT and IDENTITY declarationstfischer

add

The generated beans are now serializable.tfischer

add

Added a method getXXX(connection) to retrieve associated objects in the n->1 direction, which uses the provided connection if a db hit is necessarytfischer

add

Added a generator property torque.silentDbFetch, which is true by default. If set to false, the getXXX() methods without arguments will not access the db silently, but return null if the associated objects has not been read yet. Also, the method does not throw a Torque exception any more.tfischer

add

Added templates site reference to menus in runtime, generator, maven-plugin.henning

add

Added Findbugs report to the site.henning

add

Updated mailing list references to point to mod_mbox.henning

add

Updated all SCM references to point to Subversion.henning

add

Added the following generator properties to allow detailed control where the target classes are generated: torque.subpackage.peer, torque.subpackage.object, torque.subpackage.map, torque.subpackage.manager, torque.subpackage.bean, torque.subpackage.base, torque.subpackage.base.bean. See the reference for the generator properties for more information. Fixes TRQS306.tfischer

Release 3.2-rc1 - 2005-07-19

TypeChangesBy

add

Added the build-torque.xml again to the generator release. In order to use the same default directory structure for maven and ant, the default directory for the schema files was changed from ${torque.home}/schema to ${torque.home}/src/schematfischer

update

The generator templates are now packed in a separate jar file, torque-gen-templates.jar, which is included in the generator tar.gz and zip distributions. To build the jar from source, change into src/generator/src/templates and run maven jar:install.tfischer

update

Changed runtime configuration checking. It is now required having set the following properties: torque.database.default, torque.database.<defaultDbName>.adapter, torque.dsfactory.<defaultDbName>.factory. This was done in order to detect misconfiguration more easily. Fixes TRQS308.tfischer

update

The runtime does not configure the DataSourveFactory with the name "default" any more automatically. If you need a DataSourceFactory with that name, you have to configure it manually from now on.tfischer

update

If Torque is not yet initialized, it does now return null as name of the default database (not "default" as it was before).tfischer

update

The asColumns in a Criteria are now added to the SQL select clause in the same order as they were added to a Criteria. To achieve this, the return type of the method Criteria.getAsColumns() had to be changed from Hashtable to Map. Fixes TRQS252.tfischer

fix

Torque.shutdown() now closes the datasourcee initialized by Torque, except the Datasource obtained via a JndiDataSourceFactory. Fixes TRQS294.tfischer

add

Added a "protected" attribute to the column. If set to true, the getters and setters of a column are protected rather than public. Fixes TRQS306.tfischer

fix

If a Peer class cannot instantiate its Map Builder, a Runtime Exception is now thrown (instead of just logging the error). Fixes TRQS304.tfischer

add

The database schema.xml is now validated against the DTD. The generator stops and displays an error message if the schema.xml does not satisfy the DTD.tfischer

fix

The TorqueJDBCTransformTask now creates a name attribute for the database element. The attribute value is the name of the database user used to connect to the database. Fixes TRQS286.tfischer

add

For db2, msaccess, oracle, postgresql and sybase, the description attributes from the schema.xml are inserted as comments into the database. Fixes TRQS266.tfischer

fix

Changed the length of the tablename column from 255 to 250 in the idbroker schema for the runtimetest. This is necessary because the firebird database cannot create an index on a varchar column which has the length 255.tfischer

fix

Fixed a few things in the interbase implementation for compliance with Firebird 1.5: Tables are dropped before they are created in the create-db task. The style of comments in the db scripts is changed from /* */ to --. Column names are no longer put into double quotes by the create-db task. The template createdb.vm was added to be able to run the create-db task. Also, a firebird profile was added for the runtimetest, and firebird was added to the list of supported databases on the homepage.tfischer

fix

Changed the name attribute of the database tag from #IMPLIED to #REQUIRED in the dtd. Fixes TRQS287.tfischer

add

Added a database-layout-Howto to the docs. Fixes TRQS273.tfischer

fix

In Torque 3.1.1, BIT columns were treated as Strings with the value 0 and 1. This caused problems in various DBs which natively support BOOLEAN columns but do not support implicit String conversion.(e.g. HSQLDB). Reverted to the old behaviour, i.e. the adapter chooses the query for selects. The db driver uses booleans instead of integers for inserts/updates of BIT columns. However, this behavior breaks BIT support for Databases which do not have a native boolean datatype (like Oracle). For these Databases, use BOOLEANINT (or BOOLEANCHAR) column types for Booleans.tfischer

update

Changed Postgres handling of boolean Values to use FALSE,TRUE instead of '0','1' while selecting from columns of Torque type BIT. Fixes TRQS221.tfischer

add

Added support for using SQL functions in "order by". Fixes TRQS251.tfischer

update

Unify the behaviour of primary key columns. Until now, primary key columns were not filled automatically for idMethod=native and for platforms with default idMethod=identity (i.e. all databases exept oracle, postgresql and sapdb). Now, the default is that primary key columns are always filled automatically by default.tfischer

fix

Use the cascade option for dropping tables in PostgreSQL. This allows to drop tables which have foreign keys. Cascade is supported since PostgreSQL 7.3.tfischer

fix

Added missing templates for msaccess. I did not test it, so no idea whether msaccess is actually supported.tfischer

add

It is now possible to generate simple Beans for Torque data objects. Methods are supplied to create Beans from Data object and vice versa.tfischer

add

Added Thomas Vandahl's Patch to synchronize Object.vm with ObjectWithManager.vm. This contains the following: The interface attribute is now supported for objects without managers. The correctSetters now also work for objects with managers. The behavior for objectIsCaching=false for objects with managers now matches the behaviour of objects without managers. tabs and spaces formatting. Fixes TRQS289.tfischer

add

Add support for oracle datatype timestamp; limit number of digits for saving integers in oracle to 10. Fixes TRQS263.tfischer

fix

Fix escaping of single quotes in datasql task. Fixes TRQS267.tfischer

add

Added support for schema support at generate time. See the Schema Support Howto.tfischer

remove

Removed Oracle Update patch again. Creates invalid scripts and causes ant to fail. See Scarab for further details. Fixes TRQS222.tfischer

remove

Remove support for old properties (properties without 'torque.' prefix)mpoeschl

remove

Remove support for idMethod=sequence and autoincrement.mpoeschl

add

Added support for scale. Fixes TRQS146.mpoeschl

remove

Remove support for stratum lifecycle interfaces.mpoeschl

add

Add domain element to schema.xml. Domains are used to define attributes for columns. Fixes TRQS163.mpoeschl

update

Refactored generator model (removed AppData class)mpoeschl

fix

NumberKey long constructor introduces rounding errors. Fixes TRQS180.mpoeschl

remove

Removed the deprecated connection pool (commons-dbcp is used as default since 3.1)mpoeschl

add

Changed ojb-model task to generate Object + BaseObject (like for the torque om).mpoeschl

fix

Fix package name for TorqueComponent in roleConfiguration.xmlmpoeschl

add

Make sure that JNDI datasources are only bound if they are also configured. Patch suggested by M. Sean Gilligan and Roger A. Caron.henning

add

Add rudimentary schema support (see the Schema Support Howto).henning

add

Add Support for Apache Derbyhenning

add

Explicitly set the name of the ID Broker thread. Suggested by Martin Goulet. Fixes TRQS255.henning

add

Creates doSelectJoinXYZ methods that take a connection object as parameter in the Peer objects. Suggested by Martin Goulet. Fixes TRQS254.henning

add

Patch to allow aliases columns in groupBy clauses. Patch suggested by Tarlika Elisabeth Schmitz. Fixes TRQS250.henning

add

Merged Thomas Fischers' patch which supports left joins, right joins and explicit inner joins. I communicated with Thomas to make sure that his patch goes in ok. Fixes TRQS219.henning

update

Started reworking the BasePeer class, factored out some code into SQLBuilder and VillageUtils.henning

add

Make the getter names for the table column values configurable. Torque did generate non-Bean-Spec compliant getter names for boolean columns (get<xxx> instead of is<xxx>). By setting torque.correctGetters to true, this can be changed. This is a generator-only change, the resulting peers still run with the 3.1.1 runtime.henning

update

SQL generation for PostgreSQL now generates ID columns without default values, inserting the sequence values through the ID generator. The generated SQL now also contains sequence definitions for the tables.henning

Release 3.1.1 - 2004-10-26

TypeChangesBy

update

Change PostgreSQL ID generation to use select nextval instead 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.SqlEnum public 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

cleaned up versioning for maven plugin (sorry for that).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 must also 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.dir from maven.build.dest to maven.build.dir. This means many of the generated files will now appear in the target rather than the target/classes directory. 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 classeshenning

add

Patrick Carl donated an XSL style sheet to convert Torque schema files into mogwai ERDesigner (http://mogwai.sourceforge.net/erdesigner/erdesigner.html) files.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

limit and offset handling for all databases other than DB2 was broken. limit and offset handling 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 FindBugs in 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 adapter property is now used in preference to driver when building the database map. This allows Torque to work when the driver setting is not what it expects - e.g. if using com.mysql driver instead of the org.gjt.mm.mysql or when using http://www.p6spy.org/">P6Spy (http://www.p6spy.org/) pass 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 implemented 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:jdbc goal 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.initialIDValue and torque.initialIDStep so 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 text rather 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.

fix

Apply MAVEN-690 to the Maven plugindion

update

updated maven-plugin to torque-3.1mpoeschl

fix

Fix prereqs of torque:om-zip goal in the maven plugin.evenisse

update

Move to log4j 1.2.8 in the maven-plugin.dion

update

Move to latest xerces in the maven plugin.dion

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.UncapitalisedJavaName is 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.

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 java 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 Howto to 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 javaname 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.Retrievable Fixes 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(String) 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.