You are viewing a plain text version of this content. The canonical link for it is here.
Posted to torque-user@db.apache.org by Thomas Vandahl <tv...@apache.org> on 2006/11/24 21:26:35 UTC

Torque-3.3-RC1 released

The Torque team is pleased to announce the Torque 3.3-RC1 release!

http://db.apache.org/torque/

What is Torque?

Torque is an object-relational mapper for java. In other words, Torque
lets you access and manipulate data in a relational database using java
objects. Unlike most other object-relational mappers, Torque does not
use reflection to access user-provided classes, but it generates the
necessary classes (including the Data Objects) from an XML schema
describing the database layout.

Changes in this version include:

  New Features:

o The Column names TABLE_NAME and DATABASE_NAME are now legal column
  names. Issue: TORQUE-44. Thanks to Greg Monroe.
o Added a maven 2 plugin. Issue: TORQUE-2. Thanks to Raphael Pieroni.
o Added support for option tags for most elements in the database.xml
  for usage with custom templates. Issue: TORQUE-27. Thanks to Greg
  Monroe.
o Added support for customizing generator templates. Issue: TORQUE-50.
  Thanks to Greg Monroe.
o 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.
o Provided support for user-loadable DB adapters.
o 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". Issue:
  TORQUE-33. Thanks to Jacob Champlin.
o 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. Issue: TORQUE-30.
  Thanks to Patrick Carl.
o Added setByName and setByPosition methods in the generated object
  classes that match the already existing getByName and getByPosition
  methods. Issue: TORQUE-26. Thanks to Greg Monroe.
o A database map can now load all contained tableMaps using its method
  databaseMap.initialize(). Issue: TORQUE-22. Thanks to Greg Monroe.
o The database maps now provide all information from the schema.xml.
  Issue: TORQUE-22. Thanks to Greg Monroe.
o Improved performance for sybase limit using SET ROWCOUNT. Issue:
  TORQUE-25. Thanks to Martin Goulet.
o Added methods for shallow copies into the generated objects. Issue:
  TORQUE-23. Thanks to Thoralf Rickert.
o Added createdb-template for MS-SQL. Issue: TORQUE-18. Thanks to Greg
  Monroe.
o Added a new convenience method, Transaction.begin(), which is the same
  as Transaction.begin(Torque.getDefaultDb()).
o Added the table descriptions from the schema.xml to the comments of
  the generated classes. Thanks to Thoralf Rickert for the patch.
o Added Java5 generics support for the generated classes. Thanks to
  Thoralf Rickert for the patch.
o Formatting of the html documentation generated by the generator is now
  done by css stylesheets.
o Subqueries are now supported. This has caused
  Criterion.appendTo(StringBuffer) to declare throwing a Torque
  Exception. Issue: TRQS305.
o 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.

  Fixed bugs:

o Fixed a synchronisation issue in the getDateString() method in the
  database adapter for postgresql.
o Wrong caching of method calls with more than three arguments in
  MethodResultCache. Issue: TORQUE-63. Thanks to Ronny Völker.
o Fixed handling of escaping (by backslashes) for LIKE clauses. This
  included fixing the general handling of backslashes for several
  databases. Issue: TORQUE-57.
o Booleanchar and Booleanint now work for chained (and'ed, or'ed)
  Criterions. Issue: TORQUE-59.
o Limit and Offset work now correctly if applied to joined tables which
  contain the same column name in oracle. Issue: TORQUE-10.
o The variable CLASS_NAME in the map builders is now filled correctly if
  the build property torque.subpackage.map is set. Issue: TORQUE-56.
  Thanks to Gustavo Fernandez.
o Use encoding in the header of schema.xml files instead of default
  encoding to parse the schema.xml files. Issue: TORQUE-49.
o Selects for BOOLEANCHAR and BOOLEANINT now work for aliased tablenames
  and joined tables.
o 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. Issue: TORQUE-44. Thanks to Thoralf Rickert and Greg Monroe.
o Fixed MS-SQL failure in LargeSelect. Issue: TORQUE-20. Thanks to Greg
  Monroe.
o Fixed several methods not using JavaName in Peer.vm. Thanks to Thoralf
  Rickert for the patch. Issue: TORQUE-43. Thanks to Thoralf Rickert.
o 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. Issue: TORQUE-42. Thanks to Federico
  Fissore.
o 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. Issue: TORQUE-41. Thanks to
  Thoralf Rickert.
o 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. Issue: TORQUE-28. Thanks to Mojmir Hanes.
o Fixed foreign key constraint generation for Firebird. Issue: TORQUE-6.
  Thanks to Joerg Friedrich.
o 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) Issue: TORQUE-19. Thanks to Greg Monroe.
o Fixed bug in bean generation when a table has several references to
  another table. Issue: TORQUE-21. Thanks to Nicolas Le Griel.
o Added new firebird database adapter. Date Strings returned by the
  interbase and firebird adapters are now escaped. Issue: TORQUE-4.
  Thanks to Joerg Friedrich.
o 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))
  Issue: TORQUE-4. Thanks to Joerg Friedrich.
o Corrected Mapping for Type LONGVARCHAR for Derby. Issue: TRQS356.
o Added dummy template for DB creation for DB2. Issue: TRQS362.
o 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. Issue: TORQUE-5.
o Use BigDecimal(double) constructor so as to help code compiled under
  JDK 1.5 execute correctly under earlier JDKs ( Related Eclipse bug).
o HSQL's autoincrement columns now start with one instead of zero.
  Thanks to Patrick Carl for an early version of the patch. Issue:
  TRQS335.
o IgnoreCase in PsSelects now also takes into account Criterion's
  setIgnoreCase(). Thanks to Robert Dietrick for an early version of the
  patch. Issue: TRQS345.
o 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.
o Fixed case-insensitive order by for hsqldb.
o BaseObject.equals() does not return true anymore if the objects do not
  have the same class. Thanks to Patrick Carl for the patch. Issue:
  TRQS133.
o 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.

  Changes:

o Provided generic typed wrappers for methods in BasePeer when
  torque.enableJava5Features is set to true. Issue: TORQUE-31. Thanks to
  Thoralf Rickert.
o The default package for generated classes was changed from
  org.apache.torque to torque.generated. Issue: TORQUE-37. Thanks to
  Greg Monroe.
o Simplified the Torque Avalon component.
o 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.
o 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.
o The IdBroker is now only started for a database if the IdMethod
  idBroker is used in that database.
o Update to the Avalon components of Torque. The component now
  understands Merlin- and YAAFI-type context entries and provides again
  all methods from TorqueInstance.
o 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.

The vote for this release can be found in
http://mail-archives.apache.org/mod_mbox/db-torque-dev/200611.mbox/%3c455240AD.6030504@apache.org%3e

Have fun!
-The Torque team


---------------------------------------------------------------------
To unsubscribe, e-mail: torque-user-unsubscribe@db.apache.org
For additional commands, e-mail: torque-user-help@db.apache.org