MSS Code Factory Changelog

What's new in MSS Code Factory 1.11.9541 Beta 21

Feb 4, 2014
  • You can now reference and import schemas to your model by using the new SchemaRef elements of a SchemaDef.
  • Examples of how to use this new construct are present in all the models provided by the distribution packaging.
  • You need to import CFIso and CFSecurity at a minimum.
  • CFInternet is highly recommended, as well.
  • Most applications that are modified to reference CFIso and CFSecurity should see substantial reduction in code size compared to copy-pasting the old complete CFSme model.

New in MSS Code Factory 1.11.9420 Beta 20 (Dec 28, 2013)

  • All of the databases are now equivalent in functionality, though there are some minor differences in error detection and reporting that need to be tidied up.
  • SQL Server has one significant bug with cascading object deletion, but the goal was to have this beta delivered before year end.
  • All of the databases permit unauthorized deletion of data as well, which will be fixed before the production release.

New in MSS Code Factory 1.11.9359 Beta 19 (Dec 12, 2013)

  • This version adds full support for Sybase ASE 15.7 as well as correcting major and minor defects in the implementations of the other databases.
  • This leaves one more database to be supported: SQL Server.

New in MSS Code Factory 1.11.8954 Beta 18 (Oct 21, 2013)

  • Beta 18 adds tested support for Oracle 11gR2 with the same capabilities which have already been released for PostgreSQL 9.1, MySQL 5.5, and DB/2 LUW 10.1.
  • It also resurrects the CFBam 2.0 model, though there are problems with the XML parser for that model which cannot be resolved without significant work.

New in MSS Code Factory 1.11.8680 Beta 17 (Oct 12, 2013)

  • This version incorporates enhanced and upgraded support for PostgreSQL 9.1 and MySQL 5.5, providing more robust security restrictions and enforcement than Beta 16 did.
  • It also includes support for DB/2 LUW 10.1, though there are runtime exceptions occurring in two test cases consistently which cannot be replicated under Eclipse, so consider this a qualified beta for DB/2.

New in MSS Code Factory 1.11.8123 Beta 15 (Oct 4, 2013)

  • This version has completely regression tested MySQL 5.5 support as verified under Ubuntu 13.04 with OpenJDK 7 and stock 64-bit MySQL 5.5 out of the Ubuntu can.
  • This code is actually slightly more advanced than the PostgreSQL code, in that it implements read security checks for all of the stored read procedures.

New in MSS Code Factory 1.11.7664 Beta 12 (Jul 27, 2013)

  • The PostgreSQL security enforcement has been implemented and tested using MSS Code Factory CFDbTest 2.0.7664.
  • During the debugging of this release, a serious bug was encountered and corrected.
  • UUID values were not being properly considered by the equals, hashcode, and comparator logic.
  • If your application uses UUIDs, you should upgrade to this release immediately.

New in MSS Code Factory 1.11.7420 Beta 11 (Jul 3, 2013)

  • This version adds support for audit columns for PostgreSQL.
  • By simply specifying HasAuditColumns="true" in a base table, four audit columns to track createdby, createdat, updatedby, and updatedat will be added and populated by the code.
  • This release also incorporates a subtle bugfix which affects the production of SAX XML parsers.

New in MSS Code Factory 1.11.7160 Beta 10 (Jun 24, 2013)

  • This beta adds audit history support for PostgreSQL. By simply specifying HasHistory="true" for a base table in your model, complete audit trailing is implemented for that table and all subclass tables deriving from the base.

New in MSS Code Factory 1.11.6730 Beta 9 (Apr 24, 2013)

  • This beta incorporates new stored procedures for MySQL to improve its performance.
  • A number of defects with the general framework caused by the removal of the BL layer code were fixed.
  • The test suites now run successfully again.
  • Because MySQL has limited date range support, some of the CFDbTest 2.0 tests do fail for MySQL, though the code for them is correct.

New in MSS Code Factory 1.11.6464 Beta 7 (Apr 3, 2013)

  • This version adds support for the creation and updating of table class hierarchies.
  • Deletion of object hierarchies has not been implemented yet.
  • All of the databases have been tested for the new functionality via CFDbTest 2.0.

New in MSS Code Factory 1.11.6160 Beta 6 (Feb 23, 2013)

  • This version corrects a defect in the RAM delete implementation, implements the RAM table ID generators, and corrects the use of table ID generators for all of the supported databases when dealing with client-side table insertions for tables that include BLOBs (or TEXT in the case of SQL Server) in their hierarchy of attributes.

New in MSS Code Factory 1.11.6008 Beta 5 (Feb 12, 2013)

  • This version provides SQL Server 2012 Express Advanced Edition support.
  • It should work for other editions of SQL Server 2012 as well.
  • Note that MSS Code Factory now restricts doubles and floats to the ranges defined by SQL Server instead of those defined by Java.
  • Portability is key.

New in MSS Code Factory 1.11.5883 Beta 4 (Feb 6, 2013)

  • Beta 4 adds tuned support for Sybase ASE 15.7.
  • This release also corrects the leak of dynamic SQL Statements and ResultSets for all of the supported databases.

New in MSS Code Factory 1.11.5661 Beta 3 (Jan 12, 2013)

  • This beta adds tuned support for Oracle 11gR2 incorporating stored procedures, but not prepared statements Prepared statements do not support the output variable binding that is required to pass back result set cursors with Oracle.

New in MSS Code Factory 1.11.5543 Beta 2 (Dec 20, 2012)

  • This version provides performance tuning for DB/2 LUW 10.1 in the same fashion as had been done for PostgreSQL in Beta 1.
  • A preview of the equivalent PL/SQL stored procedures for Oracle is also provided, though they are completely untested and likely have syntax errors.

New in MSS Code Factory 1.11.5365 Beta 1 (Dec 8, 2012)

  • The PostgreSQL 9.1 implementation has been updated to make use of stored procedures, prepared SQL statements, and every other performance-tuning trick known by the author.
  • Subsequent betas will be released as additional databases are brought to the same level of integration as this release for PostgreSQL.
  • MySQL 5.5 support is as complete as it will ever be, and basic DB/2 LUW 10.1 support is also provided.

New in MSS Code Factory 1.11.5054 (Nov 1, 2012)

  • This version provides working DB/2 LUW 10.1 support.
  • It is working well except for an exception on one test.
  • Basic support for Oracle, SQL Server, and Sybase ASE will be provided in the future.
  • Stored procedures were tuned.

New in MSS Code Factory 1.11.4911 (Oct 13, 2012)

  • DB/2 LUW support was refactored and fleshed out.
  • The DB/2 database creation scripts for CFDbTest 2.0 now run cleanly, with only expected informational and warning messages.
  • The DB/2 LUW (Linux-Unix-Windows) 10.1 Java JDBC support and database creation scripts have been refactored from the old UDB naming from 9.7.
  • A quick and dirty implementation of table-record based ID generators has been coded, which will work but won't scale or perform as well as tuned code will in the future.

New in MSS Code Factory 1.11.4781 (Sep 26, 2012)

  • This version passes the database validation suite, such as it is, including successfully merging data with updates, and replaces if the database is already populated.
  • TZ support is not correct yet (timezone details are not calculated during the SAX parse and are not persisted correctly), but all other data types can be persisted correctly to PostgreSQL.
  • Note that cascading deletes of components/children/details is not implemented yet.

New in MSS Code Factory 1.11.4302 Alpha 6 (Jul 17, 2012)

  • The PostgreSQL conversion to PreparedStatements is complete.
  • The PostgreSQL implementation now uses PreparedStatements everywhere that it is feasible to do so.
  • Only the queries with keys of optional/nullable columns and the cursor APIs still use dynamic SQL.
  • This will prevent certain problems which the dynamic SQL code would have had with large TEXT or BLOB columns.

New in MSS Code Factory 1.11.4191 (Jul 3, 2012)

  • This version manufactures a PostgreSQL CLI driver for the SAX Loader, and cleans up the RAM CLI driver to implement consistent naming.
  • The pieces are all in place to begin creating and exercising S1DbTest20 XML loading to test the PostgreSQL database interface (though bugs will likely crop up during testing).

New in MSS Code Factory 1.11.4088 (Jun 15, 2012)

  • In this versiion, the SAX Loader attempts to provide a general-purpose database initialization and update utility for the majority of business application models.
  • The rules have been enhanced to produce AlternateIndex support when a LookupIndex isn't specified for a modelled object table.
  • The loaders produced are not capable of dealing with something as complex as the BAM, but are suitable for the data persistence test framework implementation and for priming and updating databases which don't use self-referencing hierarchical data structures (dot-name trees.)

New in MSS Code Factory 1.11.3496 Alpha 2 (Mar 24, 2012)

  • This second Alpha release corrects some defects that were discovered by creating the S1DbTest20 Business Application Model and using it to exercise the full range of Java and PostgreSQL manufactured code.
  • The full suite of attribute combinations for specifying the ranges and optionality of atomic attributes is exercised by this test.
  • The tests created to date are passed by Java, PostgreSQL, and the two in combination.
  • Please note that the BAM merge test code has not been implemented yet, otherwise this would have been Beta 1.

New in MSS Code Factory 1.9.3294 (Feb 25, 2012)

  • This version produces clean-compiling code for the new Blob, Number, and UUID types, and corrects some errors related to the UInt64 type.
  • The Blobs will not persist properly at this point, and none of the new type persistence has been tested yet.

New in MSS Code Factory 1.8.3210 (Feb 17, 2012)

  • This version is finally worthy of being called "production." There is also a useful 1.9.3208 development release that properly implements the extended parsing for the types that were added since 1.8, but the 1.8 rules need to be re-migrated to 1.9 before a full-time switch to 1.9 can be recommended.

New in MSS Code Factory 1.8.3091 (Jan 30, 2012)

  • In tribute to IBM's venerable 309x hardware, this release produces clean-compiling code for an exception-throwing approach that provides substantial performance improvements under heavy failure loads, such as users entering bad information. Roughly half the manufactured code has been converted at this point, so it's a blend of old and new styles.

New in MSS Code Factory 1.9.3000 (Dec 29, 2011)

  • The way optional reference attributes are considered has been corrected.
  • Previously, if any of the columns involved were not null, the reference resolution was attempted.
  • The corrected implementation no longer attempts to resolve a reference if any of the optional columns correlate to a required target column have not been specified.
  • Work is proceeding on testing a GEL compiler for 1.9 and 2.0 as well.

New in MSS Code Factory 1.7.2080 (Oct 2, 2011)

  • Runnable Java 6 code is now produced.
  • The system can now successfully instantiate and persist objects to the Ram database implementation.

New in MSS Code Factory 1.7.1911 (Sep 23, 2011)

  • The core rule engine has been split off to CFCore 1.8.
  • MSSCodeFactory 1.8 now extends CFCore to bind the generalized engine to the MSSBam Business Application Model.

New in MSS Code Factory 1.7.1312 (Jul 21, 2011)

  • The interfaces were refactored for Java and C-Sharp so that all their names start with "I".
  • A Business Logic template ruleset was added (net-sourceforge-msscodefactory-generator-v17-layered+bl) to the Java implementation.

New in MSS Code Factory 1.7.1260 (Jun 7, 2011)

  • The Java 6 support with PostgreSQL JDBC IO finally compiles cleanly, though it is untested at this point.

New in MSS Code Factory 1.7.1165 (Apr 11, 2011)

  • Support for SQL Server 2008R2 database creation scripts was added and tested.
  • Support for MySQL 5.5 database creation scripts was added and tested.

New in MSS Code Factory 1.6.963 20110312 (Mar 14, 2011)

  • Sybase ASE 15.5 and PostgreSQL 8.4 database creation scripts were tested.
  • A shift to long names was made in database creation scripts.
  • Erlang/PostgreSQL integration and C#/PostgreSQL integration were tested.

New in MSS Code Factory 1.6.898 2011.02.27 (Feb 28, 2011)

  • Added icon files and start menu entries to installer.
  • Changed to .msi-compatible version numbering scheme also incorporating subversion build numbering.

New in MSS Code Factory 1.0.6 20110105 (Jan 5, 2011)

  • The core engine is largely unchanged.
  • The rules have been updated substatially, adding range validation of numeric attributes and length validation of string and text attributes.
  • The models have been updated to comply with their own definition and to provide a consistently valid initialization image at runtime.

New in MSS Code Factory 1.0.6-20101221-PROD (Dec 22, 2010)

  • The C#/.Net implementation of the core knowledge engine is now ready for production use.

New in MSS Code Factory 1.0.6-2010.11.28 (Nov 29, 2010)

  • The XML parsing has been implemented for C# to map a 1.0.4 Repository Model into a manufactured C#/.Net implementation.
  • This snapshot provides code manufacturing for C# with in-memory and PostgreSQL implementations of an object-relational mapping layer, database schema creation for PostgreSQL, Sybase ASE, DB/2 UDB, MySQL, and MS-SQL, and record-level database I/O implementations for C# and Erlang.
  • The key constraint is that Erlang/PostgreSQL only works if no object inheritance is modelled.