April 24th, 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.
April 3rd, 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.
February 23rd, 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.
February 12th, 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.
February 6th, 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.
January 12th, 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.
December 20th, 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.
December 8th, 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.
November 1st, 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.
October 13th, 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.
September 26th, 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.
July 17th, 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.
July 3rd, 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).
June 15th, 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.)
March 24th, 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.
February 25th, 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.
February 17th, 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.
January 30th, 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.
December 29th, 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.
October 2nd, 2011· Runnable Java 6 code is now produced.
· The system can now successfully instantiate and persist objects to the Ram database implementation.
September 23rd, 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.
July 21st, 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.
June 7th, 2011· The Java 6 support with PostgreSQL JDBC IO finally compiles cleanly, though it is untested at this point.
April 11th, 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.
March 14th, 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.
February 28th, 2011· Added icon files and start menu entries to installer.
· Changed to .msi-compatible version numbering scheme also incorporating subversion build numbering.
January 5th, 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.
December 22nd, 2010· The C#/.Net implementation of the core knowledge engine is now ready for production use.
November 29th, 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.