Torque HEAD

Changes between Torque 3.0-b4 and 3.0-b5.

Other changes

  • improved JDBC to DB2 mappings.
  • improved JDBC to SAPDB mappings.
  • peers: do not create the JoinAll method if any of the foreign keys reference external tables.

Fixed bugs

  • postgres: Unable to identify an operator '=' for types 'smallint' and 'boolean'
  • sapdb: generate valid sql for primary keys
  • objects: avoid npe and set id to null if the object was null

Torque 3.0-b4

Changes between Torque 3.0-b3 and 3.0-b4.

Changes that could (will) break older environments

  • jdbc2pool package dissolved (the old Torque pool is back in the torque codebase, the new pool is part of commons-dbcp now)

Other changes

  • torque uses maven-1.0-beta-6 as default build system.
  • 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.

Fixed bugs

  • aliases not recognized in orderBy column

Torque 3.0-b3

Changes between Torque 2.1 (old version from turbine-2 repo) and 3.0-b3.

This list should help to move your application from Torque 2.1 to 3.0. If you find any other issues, please send an email to the developer list.

new package names

old name new name
org.apache.turbine.torque.* org.apache.torque.*
org.apache.turbine.util.db.adapter.* org.apache.torque.adapter.* org.apache.torque.Torque org.apache.torque.adapter.IDMethod removed removed removed org.apache.torque.util.BasePeer
org.apache.turbine.util.db.IdGenerator org.apache.torque.oid.IdGenerator
org.apache.turbine.util.db.AutoIncrementIdGenerator org.apache.torque.oid.AutoIncrementIdGenerator
org.apache.turbine.util.db.Criteria org.apache.torque.util.Criteria
org.apache.turbine.util.db.IDBroker org.apache.torque.oid.IDBroker
org.apache.turbine.util.db.IDGeneratorFactory org.apache.torque.oid.IDGeneratorFactory
org.apache.turbine.util.db.LargeSelect org.apache.torque.util.LargeSelect
org.apache.turbine.util.db.Query org.apache.torque.util.Query
org.apache.turbine.util.db.SequenceIdGenerator org.apache.torque.oid.SequenceIdGenerator
org.apache.turbine.util.db.SqlExpression org.apache.torque.util.SqlExpression

Changes that could (will) break older environments

  • API changed: Torque uses List instead of Vector.
    e.g. BasePeer.doSelect() returns a List now
  • the pool packages has been removed
    commons-jdbc2pool is used instead.

Other changes

  • new idMethod NATIVE. this replaces SEQUENCE and AUTOINCREMENT
  • support for axion added

Fixed bugs

  • fixed logging when category is null.


  • 16 Apr 2002
    • Use JCS instead of stratum.JCS and commons.configuration instead of stratum.configuration. (ks)
  • 17 Mar 2002
    • Fix from Bill Schneider (bschneider NOSPAM to correct date handling in the DBOracle database adapter. (dlr)
  • 07 Mar 2002
    • Modified the Oracle db.props to set the VARBINARY type to BLOB because Oracle requires a length limit for RAW. Suggestion by: thierry.lach NOSPAM on the Scarab mailing list.
  • 01 Mar 2002
    • Modified most places that torque was throwing the general exception in favor of TorqueException
  • 21 Feb 2002
    • Handling of object data no longer needs to be wrapped in a transaction when the Postgres bytea type is used instead of the oid hack for the JDBC type VARBINARY.
    • Deprecated DB.objectDataNeedsTrans(). Postgres was the only RDBMS using the objectDataNeedsTrans() method.
    • Removed use of objectDataNeedsTrans() in BasePeer
    • Added load-templates for SAPDB
  • 16 Feb 2002
    • Fix TorqueDataSQLTask (Column names were not generated)
    • Fix Path handling in TorqueSQLExec task
    • Better mapping of binary data types for Postgres
  • 12 Feb 2002
    • made Category static so that Criteria can be serialized
  • 6 Feb 2002
    • Make Torque implement Configurable and Initializeable (stratum)
    • Use the stratum.configuration package instead of ExtendedProperties
  • 28 Jan 2002
  • 20 Jan 2002
    • Made SqlEnum implement Serializable (to facilitate easy HttpSession serialization). Reference.
  • 18 Dec 2001
  • 14 Dec 2001
    • From patch submitted by Byron Foster: Updated DBFactory to know about the other Sybase jdbc driver name. Reference.
    • From patch submitted by Byron Foster: Sybase is not fully jdbc 2.0 compliant, so the TorqueDataDumpTask.TableTool needed to be reimplemented using Village. This provided support for any jdbc driver that Village supports ( and Torque since it is currently implemented with Village ). The downside to this implementation is QueryDataSet loads the entire result set into memory, so for large tables this may prove to be trouble. Reference.
    • From patch submitted by Byron Foster: Added missing pieces of sybase support to the repository and created a sybase-status document in notes. Reference. Reference. Reference. Reference.
  • 13 Dec 2001
    • added flag to shut off heavy indexing on a table by table basis or for the entire schema. Reference. Reference.
  • 9 Dec 2001
    • Modified Peer classes so that they can be unserialized prior to Torque being initialized. This situation occurs when restarting catalina for example. Reference. Reference. Reference.
    • deprecated getTable and get<columnName> methods in MapBuilder.vm Reference.
  • 6 Dec 2001
    • consolidated all Class member initializations methods in generated peers into a single method, and improved the error handling and reporting of that method. Reference.
    • add oracle suport for DataSQLTask patch by Reference. Reference.
    • fixed path problems in TorqueDataSQLTask patch by Reference.
  • 16 Nov 2001
  • 15 Nov 2001
    • fixing SQL generation problem where a table has no primary key Reference. Reference. Reference.
    • removed the use of non-functional double-checked locking in Torque.getDatabaseMap(String).
      made Torque.initDatabaseMap(String) more robust by copying the existing HashMap dbMaps to avoid possible CMEs. Reference.
  • 12 Nov 2001
    • Made the driver -> adapter map complete. Thanks to Hugh Brien for spotting the problem. Reference.
    • Added support for Cloudscape. Thanks to David Sean Taylor from the Jetspeed group.
  • 11 Nov 2001
    • Cleaned up the initialization sequence too allow a common pattern for stand-alone and embedded usage. Reference.
  • 8 Nov 2001
    • Remove get/setCategory(c) in and updated all classes that relied on these methods to instantiate their own Category for logging. Reference. Reference. Reference.
    • Merged the init() and init2() methods together. We will still search in the "services.DatabaseService" namespace until Scarab switches over to using the "torque" namespace. Reference.
    • Added support to specify the schema used to get data from jdbc (TorqueJDBCTransforTask). Now you can get the data for one schema instead of the whole database. (only effects oracle)
      patch by Dan Bachelder ( Reference.
    7 Nov 2001
    • Using log4j correctly now instead of trying to fudge the Category to use for logging. Property log4j configurations are now required and there is no "default" category. All categories are based on the name of the class using the category. Reference.
    • Added DOUBLE as a valid type for a column in a datamodel descriptor. Reference.
    • Fixed the TorqueDataDTDTask. Reference.
    • Fixed the TorqueDataDumpTask. Reference.
  • 6 Nov 2001
    • Fixed the IDBroker so that it would work correctly with PostgreSQL. Reference.
    • Simplified the DBFactory and the file by eliminating the requirement of the adapter properties. The adapters are stored by JDBC driver name and that is already defined in the torque.database.{db}.driver property. Reference.