Metastorage generates commented code and uses native auto-increment fields
Manuel Lemos, 2005-09-13 05:50:00 GMT
|A new version of Metastorage was released providing several
improvements in the quality of the generated code, being the most
important, the use of comments explaining the purpose of the
generated code, and the use of native auto-increment fields for
generating identifiers for objects being stored for the first time.
- Native auto-increment fields
Metastorage now takes advantage of the improvements made in the recent
release of Metabase. Those improvements include the use of native
auto-increment fields and primary keys, instead emulated sequences and
These Metabase improvements permit Metastorage to generate code that makes
more efficient use of auto-increment fields. These fields are used to
generate new object identifiers when using RDBMS that support such fields
natively, which are the majority of the modern RDBMS. Metabase provides
transparent emulation of auto-increment fields for RDBMS that do not
support them natively, like for instance, Oracle, which uses sequences.
Currently, only Metabase drivers for MySQL, PostgreSQL and Oracle were
updated to support native auto-increment fields. Other RDBMS may no longer
be used to run Metastorage generated code until they are updated to also
support auto-increment fields. Their drivers will be updated later
depending on the requests from Metastorage users.
Interested users should post on the Metastorage development
mailing list to express which RDBMS they would like to be supported.
There is also a survey
that interested users should fill to express which RDBMS they want to
access using Metastorage generated code, so future improvements to
Metastorage benefit the most requested RDBMS.
- Commented code
Now, Metastorage also generates code with comments. The comments appear
near the relevant parts of the generated code that need a more detailed
explanation. This feature will help users interested to understand better
what the generated code does.
This is meant to inspire the Metastorage users to trust that the generated
code meets their quality expectations. Eventually it will also motivate
users to help verifying whether there are any bugs or suggest further
improvements to the generated code quality.
- Metastorage and MetaL bundled together
Metastorage depends directly on the persistence module of the MetaL
compiler engine. Metastorage cannot work properly without an upto date
release of MetaL. However, some users were only updating the Metastorage
installation without also updating MetaL, when new releases were made.
This way they could not benefit from the improvements of the latest
To avoid this problem, starting this release, Metastorage is only being
made available for download in a single archive. It already includes the
complete distribution of the MetaL compiler. The MetaL distribution
archive no longer needs to be downloaded and installed separately.