MSS Code Factory 2.9 (production) Release History

2017-04-9 MSS Code Factory 2.9.13827 Corrected defect in MySQL delete scripts

There was still a lowercase table name being used by the delete scripts in the ClearDep implemenation. This has been corrected, and verified through painful testing with the Mark II Chatbot.

2017-04-09 MSS Code Factory 2.9.13825 Corrected production of MySQL database scripts

The joins for the MySQL database scripts were using lowercase table names, so the code was failing at run time. Apparently MySQL only analyses the syntax of the stored proc on creation, not the statements within the stored proc. Those get evaluated at runtime.

2017-04-02 MSS Code Factory 2.9.13823 Source and tool integrity check complete

The source code for MSS Code Factory 2.9 has been successfully extracted from the GitHub repositories into a clean directory tree, remanufactured by MSS Code Factory 2.8.13822, clean built, and repackaged as a refresh deployment.

2017-03-18 MSS Code Factory CFAll 2.9.13820 Revert to Log4J 1.2.17

It turns out that commons logging doesn't seem to like Log4J 2.x.

2017-03-18 MSS Code Factory CFCore 2.9.13819 Revert to Log4J 1.2.17

It turns out that commons logging doesn't seem to like Log4J 2.x.

2017-03-18 MSS Code Factory CFLib 2.9.13818 Revert to Log4J 1.2.17

It turns out that commons logging doesn't seem to like Log4J 2.x.

2017-03-08 MSS Code Factory 2.9.13817 Missing Java import tags added to database layer rules

The JavaXxxTableImport specifications are now included by the rules for the various database layer tables, producing code that has been verified for Mark II, which required imports to build its custom ServerProc.

2017-03-05 MSS Code Factory 2.9.13815 Self-referencing DelDeps propagated to remaining databases

All of the databases should now have code that supports the self-referencing DelDeps.

You should also be able to specify self-referencing ClearDeps, with the same restriction that only the terminal node of the dependency chain can be self-referencing.

2017-03-04 MSS Code Factory 2.9.13812 MySQL 5.7 supported, self-referencing DelDeps supported

MySQL 5.7 syntax is now supported and has been verified under Ubuntu 16.10.

The DelDep relationship chain can now terminate with a self-referencing relation, so that you can build trees of nodes. I don't think it will work with subclass hierarchies, though, only flat tables.

2017-03-04 MSS Code Factory 2.9.13811 Ready to test new MySQL code

I'm ready to test the new MySQL code that is intended to support self-referential object deletion for general relational databases. If the Mark II 1.1 MySQL scripts install successfully, then I'll have resolved the issue and can retrofit some code and some rules to take advantage of the fact. I might well be pushing past 2.10 to a 2.11 release of MSS Code Factory to deploy those changes.

2017-03-03 MSS Code Factory CFAll 2.9.13810 Added binding Relation.IsSelfReferencingRelation

The boolean evaluation IsSelfReferencingRelation has been added to the implementation. I need that in order to implement an idea in the rule base for MySql that may permit self-referencing object trees for general relational databases. MySql evaluates the sanity of the code about the best of the databases I have installed on this Ubuntu 16.10 Linux box. PostgreSQL requires you to execute the code in order to force a proper compile of it.

2017-03-03 MSS Code Factory 2.9.13809 Remanufactured by 2.8.13808

All of the 2.9 component projects have been remanufactured by MSS Code Factory 2.8.13808 and clean-built to bring them in sync with the latest changes, including sub-projects that weren't previously built.

2017-03-03 MSS Code Factory CFAll 2.9.13807 Remanufactured by 2.8.13806

All of the 2.9 projects have been remanufactured by MSS Code Factory 2.8.13806 and clean-built to bring them in sync with the latest changes, including sub-projects that don't actually get build for the 2.9 implementation, such as the SAX RAM loaders.

2017-02-15 MSS Code Factory 2.9.13805 Missing TableObjMembers expansion added

The custom code members of a TableObj can now be specified properly. The pieces were there, but the rule base was missing the expansion. If you're not using custom code, you don't need to download this release, but you should keep up to date anyhow.

2017-01-26 MSS Code Factory CFAll 2.9.13804 Rebuild and repackage to correct editor issues

The entire 2.9 source tree has been rebuilt and repackaged to correct problems with running the CFBam Editor.

2017-01-09 MSS Code Factory 2.9.13802 SAX RAM Loader now authenticates the RAM database properly

The RAM databases all have to connect( "system", "system", "system", "system" ) instead of as a default connection. This initializes the authentication information properly for the RAM instance. You should then immediately rollback() the RAM database and beginTransaction() to treat all of your work as being one big on the fly transaction against the RAM database.

Commits? Who needs commits for RAM...

2016-12-31 MSS Code Factory 2.9.13800 Updated copyrights for 2017

The copyright headers have been updated for 2017.

2016-12-31 MSS Code Factory CFCore 2.9.13799 Updated copyrights for 2017

The copyright headers have been updated for 2017.

2016-12-31 MSS Code Factory CFLib 2.9.13798 Updated copyrights for 2017

The copyright headers have been updated for 2017.

2016-12-30 MSS Code Factory 2.9.13795 Back-ported reworked connect() implementation

The changes I made to the custom copy of the connect-full implementation have been back-ported to the rule base and are now in effect for all manufactured projects. Note that you need to make changes to your build.xml files -- the core compile and jar packaging have been split into two parts, the first containing the real core, and the second containing the ram storage, which depends on the core and xml compiles.

2016-12-30 MSS Code Factory 2.9.13794 Imports to a RAM storage now works

You are forced to log in to the system cluster, system tenant, system user, and any password when you log in to a RAM-backed client session. Once you have done so, you should have access to any data that does not require the use of paging support.

I have to implement the paging methods for the RAM storage yet. I really don't want to do that tonight, though, so I won't.

2016-12-30 MSS Code Factory 2.9.13792 RAM storage now implements file imports

The RAM storage implementation now provides for file imports by a standalone client. However, my current RAM test client throws exceptions while trying to resolve the default system tenant for some reason. I'm having trouble catching the source of the resulting null pointer exception.

2016-12-03 MSS Code Factory 2.9.13789 Code always has bugs. No code is ever bug free.

The inheritance of server methods now implements correct code, replacing numerous occurances of $SchemaName$ with $DefSchemaName$, and dereferencing appropriate target objects for resolving DefSchemaName.

There was a fairly intensely iterative manufacture-build-debug-repeat cycle going on for a few hours this evening, but I got it working.

2016-11-19 MSS Code Factory 2.9.13787 Service Pack 5 under Apache V2 license

Service Pack 5 redistributes MSS Code Factory 2.9 under an Apache V2 license.

This license also applies to the rules used to manufacture code. You are no longer required to publish modifications to the rules, and are free to change or build on them as you see fit for your installation.

2016-11-19 MSS Code Factory CFCore 2.9.13786 Redistributed under Apache V2 license

CFCore is now distributed under an Apache V2 license instead of under the LGPL.

2016-11-19 MSS Code Factory CFLib 2.9.13785 Redistributed under Apache V2 license

CFLib is now distributed under an Apache V2 license instead of under the LGPL.

2016-11-18 MSS Code Factory 2.9.13782 Changed all 2.10 projects to an Apache V2 license

All of the 2.10 projects are being re-licensed under the Apache V2 license.

I realized that while I am a GPL enthusiast, most of the third party code I rely on is under the Apache license. I felt the 2.10 projects would find wider acceptance with the new license.

2016-11-18 MSS Code Factory 2.9.13780 Repacked with latest jars

The Apache jars have been refreshed, and the projects rebuilt with CFLib 2.9.13778 and CFCore 2.9.13779.

2016-11-17 MSS Code Factory CFCore 2.9.13779 Apache projects and jars refreshed

CFCore has been rebuilt with CFLib 2.9.13778 and the latest version of the referenced Apache projects.

2016-11-17 MSS Code Factory CFLib 2.9.13778 Apache projects and jars refreshed

The Apache projects that CFLib depends on have been refreshed and used to rebuild the jar.

2016-10-23 MSS Code Factory 2.9.13777 Repackaged

Forgot to update the version string for the 2.9.13776 packaging. Plus I wanted a "777" release.

2016-10-23 MSS Code Factory CFAll 2.9.13776 Correct packaging

The HTTP jars weren't included in the distributions because the file names had changed.

2016-10-21 MSS Code Factory 2.9.13773 Fixed critical "spread" bug

There was a critical bug in the "spread" implementation which caused an infinite loop if there was only one item to be spread.

2016-10-21 MSS Code Factory CFCore 2.9.13772 Fixed critical "spread" bug

There was a critical bug in the "spread" implementation which caused an infinite loop when there was only one item to spread.

2016-10-21 MSS Code Factory 2.9.13770 License updated to GPLv2.0

MSS Code Factory is now distributed under a GPLv2.0 license instead of the former LGPLv3 license. As the sole contributor to the maintenance of the code base, I can make this license change without having to get agreement from a developer community.

After some consideration, I realized that the LGPLv3 attempts to restrict the use of code in cloud environments. The cloud is a fact of life. Any attempt to restrict the use of code in the cloud is asinine.

2016-10-21 MSS Code Factory CFCore 2.9.13769 Remanufactured with updated LGPLv2.1 license

The code was supposed to reference LGPLv2.1.

2016-10-21 MSS Code Factory CFCore 2.9.13767 License changed to LGPLv2

CFLib 2.9 is now distributed under an LGPLv2 license instead of the former LGPLv3 license. As the sole contributor to the maintenance of the code base, I can make this license change without having to get agreement from a developer community.

After some consideration, I realized that the LGPLv3 attempts to restrict the use of code in cloud environments. The cloud is a fact of life. Any attempt to restrict the use of code in the cloud is asinine.

2016-10-21 MSS Code Factory CFLib 2.9.13766 License changed to LGPLv2

CFLib 2.9 is now distributed under an LGPLv2 license instead of the former LGPLv3 license. As the sole contributor to the maintenance of the code base, I can make this license change without having to get agreement from a developer community.

After some consideration, I realized that the LGPLv3 attempts to restrict the use of code in cloud environments. The cloud is a fact of life. Any attempt to restrict the use of code in the cloud is asinine.

2016-10-21 MSS Code Factory CFAll 2.9.13765 Begin licence change to LGPLv2

I hereby announce my intention to relicense all of the GPLv3 source code for MSS Code Factory under GPLv2, and all of the LGPLv3 source code under LGPLv2.

After some consideration, I realized that GPLv3 attempts to restrict the use of code in cloud environments. The cloud is a fact of life. Any attempt to restrict the use of code in the cloud is asinine.

GPLv2 has served Linux quite well over the decades. It has become the single most successful open source project of all time. That is worth thinking about when licensing code for general use.

2016-10-08 MSS Code Factory 2.9.13762 CFEng 2.10 initial modelling complete

The initial skeletal model of the English parse objects has been completed and is ready for review and experimental use.

2016-10-08 MSS Code Factory 2.9.13760 CFEng 2.10 clean compiles now

This release produces clean-compiling code for CFEng 2.10.

2016-10-08 MSS Code Factory 2.9.13758 First cut of CFEng 2.10 model added

The first cut of the English syntax model has been added.

2016-09-26 MSS Code Factory 2.9.13757 Service Pack 4

Service Pack 4 adds no new functionality, but it brings the use of the Log4J facilities up to the new "version 2" release, improving compatability with many application environments. Note that the manufactured code does change to allow for the use of Log4J 2.

2016-07-25 MSS Code Factory 2.9.13756 Stabilized build jars throughout projects

All of the build jars have been stabilized throughout the projects. There may still be some errors or omissions I find as I build the 2.10 projects, but there should be no further changes to the core 2.9 code.

Note that the rule base has been updated so that the mains produced by the manufacturing process follow the changes required for the Log4J upgrade.

None of the 2.10 run/launch scripts have been updated to reference the new jars.

2016-07-25 MSS Code Factory CFCore 2.9.13755 Corrected use Apache Commons Client jars

The Apache HTTP Components were refreshed from the Apache project and all code that depends on the jars have been refreshed with the updated code distribution.

2016-07-25 MSS Code Factory 2.9.13754 OpenJDK 8 build with tested Log4J 2 support

The engine has been used to manufacture the CFSecurity 2.10 project as a test to ensure that the Log4J updates to version 2 didn't break any of the runtime functionality.

2016-07-25 MSS Code Factory CFCore 2.9.13753 OpenJDK 8 build with support for Log4J 2

The refactoring of code to support Log4J 2 continues...

2016-07-25 MSS Code Factory CFLib 2.9.13752 OpenJDK 8 build with support for Log4J 2

The entire code base is being updated to reference and use Log4J 2 instead of the old Log4J APIs I've relied on for so many years. Now there is really nothing to do -- it is all handled through configuration files instead of through code.

2016-07-25 MSS Code Factory 2.9.13751 OpenJDK 8 build on Ubuntu 16.04.2 LTS

Fresh OpenJDK 8 build on Ubuntu 16.04.02 LTS, CFLib 2.9.13749, and CFCore 2.9.13750. The various tool jars of the 2.9 builds have been updated as well, and the specifications of the jars to load in the command line invoker scripts in the bin directory.

2016-07-24 MSS Code Factory CFCore 2.9.13750 OpenJDK 8 build on Ubuntu 16.04.2 LTS

Fresh OpenJDK 8 build on Ubuntu 16.04.02 LTS and CFLib 2.9.13749. The referenced tool jars have been updated as well, the same ones as were updated for the CFLib refresh.

2016-07-24 MSS Code Factory CFLib 2.9.13749 OpenJDK 8 build on Ubuntu LTS 16.04.2

Fresh OpenJDK 8 build on Ubuntu LTS 16.04.2. Just because I finally got some ideas about what to do next, without doing more of the same.

2016-07-10 MSS Code Factory 2.9.13747 Regression tests passed with Oracle Java 8 JDK

The regression tests have passed successfully for running MSS Code Factory over an Oracle Jave 8 JDK installation instead of an OpenJDK 8 installation for Debian "Jessie" AMD 64-bit.

2016-07-10 MSS Code Factory 2.9.13744 Rebuilt with Oracle Java 8 JDK

Rebuilt with Oracle Java 8 JDK for Linux 64-bit instead of OpenJDK 8.

2016-07-10 MSS Code Factory CFCore 2.9.13743 Rebuilt by Eclipse Mars OEPE with Oracle Java 8 JDK

Pieces of Oracle's OEPE code require the Oracle Java 8 JDK in order to run, so I've made a wholesale switch from OpenJDK 8.

2016-07-09 MSS Code Factory CFLib 2.9.13742 Rebuilt by Eclipse Mars OEPE

Repackaged and rebuilt by Eclipse Mars OEPE.

2016-06-17 MSS Code Factory 2.9.13741-SP3 Service Pack 3 is the final release

This is the final release of MSS Code Factory. I've used the Code Factory Accounting application to develop and test the various aspects of a custom application written using the tool that I wanted to, applied a couple of minor fixes to the rule base along the way, and am now satisfied that this project has reached its inevitable end.

2016-06-11 MSS Code Factory 2.9.13739 Rebuilt by OpenJDK 1.8.0_91 with latest CFLib, CFCore

MSS Code Factory 2.9.13739 was rebuilt by OpenJDK 1.8.0_91 using CFLib 2.9.13737 and CFCore 2.9.13738.

2016-06-11 MSS Code Factory CFCore 2.9.13738 Rebuilt by OpenJDK 1.8.0_91 with CFLib 2.9.13737

CFCore 2.9.13738 was rebuilt by OpenJDK 1.8.0_91 with CFLib 2.9.13737.

2016-06-11 MSS Code Factory CFLib 2.9.13737 Rebuilt by OpenJDK 1.8.0_91

CFLib 2.9.13737 was rebuilt by OpenJDK 1.8.0_91.

2016.06.07 MSS Code Factory 2.9.13736 RAM tables now import java.text

The RAM table implementations now import java.text in order to provide consistent imports with the database-specific implementations. This release is required for Code Factory Accounting 1.2.71.

2016.06.06 MSS Code Factory 2.9.13735 RAM tables now include math package

Intervening relationships are now checked for resolvability when reacting to a button press for a Picker. If there are any issues resolving the intervening data, the Picker window itself is no longer launched.

The RAM tables weren't including the math package, causing problems for the compiling of the custom code for CFAccounting 1.2.

2016.05.02 MSS Code Factory 2.9.13733 Disable PageData for CFCrm 2.10 table objects

I decided I was abusing PageData for CFCrm 2.10 just because it was easy to do, so I reverted back to non-paged data for those tables. Paging is a clumsy user interface that should only be used when absolutely necessary.

Contact lists and their components do not grow without end like accounting data does, so it makes more sense for people to split up their contacts into multiple lists if they are having performance problems than it does to force them to click a "more data" button over and over during normal use of the application(s).

Only CFCrm 2.10 and Code Factory Accounting 1.2 are affected by the change, but their databases do need to be recreated with this change.

2016.05.01 MSS Code Factory 2.9.13731-SP2 Service Pack 2

Service Pack 2 provides JavaFX support for the page data attribute of the Business Application Models. With this release, ListPane, PickerPane, PickerForm, and FinderForm objects are enhanced to automatically page data without requiring any manual coding as had been required with Service Pack 1.

During the development, the PageData attributes of tables in CFSecurity, CFInternet, and CFCrm were modified, so you will need to completely remanufacture your applications and reinstall your databases after doing so.

2016.05.01 MSS Code Factory 2.9.13730 JavaFX Pickers now support page data

The PickerPage and PickerForm now support page data for JavaFX.

The common lookups defined by CFSecurity and CFInternet no longer enable page data; I found that made for a clumsy user interface. Page data should only be used where absolutely necessary, not for data that is frequently accessed as an entire data set such as with an ISO lookup.

All applications need to be remanufactured as a result, and all databases will need to be recreated.

2016.04.28 MSS Code Factory 2.9.13728 JavaFX ListPanes now support page data

The ListPane objects for JavaFX now automatically implement page data support.

The CFSecurity model no longer specifies PageData="true" for the SecGroup and TSecGroup objects, as there is no way to use page data with the custom forms used for editing security objects. A full set has to be retrieved so it can be filtered. As there are no other pieces of code which would be retrieving these objects, it doesn't make sense to try to work around the PageData issues caused by the new rules instead of just disabling the PageData flag.

There are a number of dbcreate and java objects which you'll have to remove after re-manufacturing your project as a result.

2016.04.25 MSS Code Factory 2.9.13725 Propagate to JavaFX EltTabPane of ViewEditPane must be conditional

The propagation of the focus to the EltTabPane of a ViewEditPane has to be conditional on the existence of the EltTabPane.

2016.04.25 MSS Code Factory 2.9.13724 Correct JavaFX ViewEditPane

The JavaFX ViewEditPane was not properly propagating focus changes to the sub-widgets, preventing proper refreshing of the data display.

2016.04.25 MSS Code Factory 2.9.13723 Correct typo and script for CFBam Editor

The CFBam Editor run script had a typo referencing 2.7, as did the CFBam Editor model formatting/save code, which caused problems.

2016.04.21 MSS Code Factory 2.9.13721-SP1 Service Pack 1

Service Pack 1 adds support for page data services when a table specifies 'PageData="true"' in its configuration. Only flat tables with no class hierarchy can be paged.

Specifying paging does not automatically use paging in the list boxes of the GUI, as there are too many options as to how one implements paging in a GUI. Rather than making a bad general case assumption, I've left it up to the programmer to customize the code if they want to use paging.

The heavy lifting is done for you by the factory. All you have to do is code to use the new APIs provided.

All of DB/2 LUW, MySql, Oracle, PostgreSQL, and SAP/Sybase ASE have completed their testing to verify the implementation of paging.

Note that the RAM database doesn't support paging at all. If you are using an in-memory database, you aren't accessing it over the network, so there are no potential performance benefits to implementing paging for the RAM database.

2016.04.21 Programmer's Notes

I've decided against manufacturing support for page data by the list boxes. There are several cases where you want to do certain sorting operations after the last page of data has been read, but you don't want to do that for all cases. There are also cases where I want the programmer to have access to the page data APIs, but I don't want to force a paging interface on the user.

The customizations to implement paging aren't difficult, so I'm going to leave it as a manual exercise for the cases where a designer/programmer wants that behaviour to be implemented. MSS Code Factory does the heavy lifting of the back-end services to enable data paging, but you're going to have to do SOME work to make use of it.

2016.04.21 MSS Code Factory 2.9.13720 PostgreSQL PageAll debugged

The PostgreSQL version of PageAll has been debugged, uncovering problems with the java, java+xmsg, and java+pgsql layers. I will not be refreshing the 2.10 projects until I've tested PageAll for all the databases.

Before I proceed with the other databases, I'll customize one of the list boxes in CFAccounting 1.2 with a prototype of how I intend the paging to work in the GUI, and use that to exercise the PageByIndex code.

After I've got that working for PostgreSQL, I'll proceed with testing the other databases. Only after I'm done with the testing of the back end will I work on enhancing the rules for the list boxes in the GUI.

2016.04.21 MSS Code Factory 2.9.13718 XMsg enhancements for page data methods coded -- ready for testing

With the completion of the XMsg enhancements for the page data methods, the new code is now ready to be tested by some sort of framework. I'm going to start simple and just wire a button that pages through the ISOCountry data in CFAccounting, and remove the button once I'm done testing each of the databases.

After that, THEN I'll worry about enhancing the list boxes, as I wasn't originally planning on doing anything to the list boxes at all, but leaving it up to custom code to handle paging. I've since decided that is too easy an out for what isn't really all that difficult a problem to code for.

2016.04.20 MSS Code Factory 2.9.13716 JDBC code for new page methods coded for all databases

All of the databases now have the code in place to invoke the new stored procedures for paging data.

Next I need to implement the messaging layers for the new APIs in the XMsg rules. Once that is in place, I'm ready to do some hand-coding and testing of the new APIs.

2016.04.19 MSS Code Factory 2.9.13714 JDBC code for new page data methods for SAP/Sybase ASE

The JDBC code has been implemented for the SAP/Sybase ASE version of the new page data methods.

2016.04.19 MSS Code Factory 2.9.13713 JDBC code for new page data methods for MySql

The JDBC code has been implemented for the MySql version of the new page data methods.

2016.04.19 MSS Code Factory 2.9.13712 JDBC code for new page data methods for DB/2 LUW

The JDBC code has been implemented for the DB/2 LUW version of the new page data methods.

2016.04.19 MSS Code Factory 2.9.13711 JDBC coded for new page data PostgreSQL methods

The JDBC code has been implemented for the PostgreSQL version of the new page data methods.

2016.04.18 MSS Code Factory 2.9.13708 Trembling onto the runway...

This version finally clean-builds the first couple of 2.10 projects, even though I've turned on page data support for a lot of the global lookups that expected to be of any substantial size.

So from here on in, all projects are affected by changes to the page data implementation, because even CFSecurity has tables with page data enabled.

2016.04.18 MSS Code Factory 2.9.13707 Still not cleared for take-off

Bit rot sucks. I could have sworn those rules were working.

Oh well. I fixed them. Again.

This code should produce clean compiling projects that show the new paging methods, but which leave them unimplemented at this point.

2016.04.18 MSS Code Factory 2.9.13705 PostgreSQL prepared statement variables declared

The PostgreSQL JDBC implementation now defines the new prepared statement variables for the new page data queries, and cleans them up as part of the releasePreparedStatements() implementation for the table. I like to make sure my plumbing is clean before I try to shit on it by writing new code. :P

2016.04.17 MSS Code Factory 2.9.13703 Object layer enhancements complete

The Obj layer enhancements have been completed and now support the new data paging interfaces. The back end implementations are still not-implemented-yet stubs, but the supporting logic has been coded.

2016.04.17 MSS Code Factory 2.9.13702 Clean build of not-implemented-yet stubs for data paging interface

All of the new data paging interface methods have now been specified throughout the manufactured code, with not-implemented-yet implementation stubs for each affected implementation layer.

This code will compile, but you can't actually use the new interfaces yet.

Patience. One step at a time.

2016.04.17 MSS Code Factory 2.9.13701 ISchemaTableObj interface specified for data paging

The data paging methods have been added to the ISchemaTableObj interface.

I'll implement that interface before I issue a release for download; this is just a check-in of work in progress. It doesn't clean-build, so it can't be shipped.

2016.04.17 MSS Code Factory 2.9.13700 Corrected defect in referenced table merge

The PageData flag was not being properly merged, resulting in problems with the manufactured code for CFAccounting 1.2.

2016.04.17 MSS Code Factory 2.9.13698 Database table interface enhanced, not-implemented-yet stubs coded for layers

Each of the persistence layers implements a set of not-implemented-yet stubs for the new paging interface methods. The interface specification itself should remain stable while I flesh out the implementations.

I might move up a layer and code the Obj layer before proceeding with implementations.

I would also like to get the XMsg implementation taken care of before I deal with vendor-specifics.

2016.04.17 MSS Code Factory 2.9.13696 Oracle page data stored procedures install without errors

The Oracle version of the page data read procedures install without errors, as verified through CFAccounting 1.2.

As I can not test the stored procedures for Microsoft SQL Server without a windows box, I am not going to code them at all. This new functionality is not supported for SQL Server, and I'm going to drop SQL Server from my list of supported database servers. I'll just be stubbing the new APIs for these new stored procedures with "not implemented yet" for SQL Server.

2016.04.16 MSS Code Factory 2.9.13694 Forgot to restrict SAP/Sybase ASE page data result sets to "top 25"

The SAP/Sybase ASE page data queries now restrict their result sets to 25 rows.

2016.04.16 MSS Code Factory 2.9.13692 SAP/Sybase ASE page data stored procedures install without errors

The SAP/Sybase ASE version of the page data read procedures install without errors, as verified through CFAccounting 1.2.

2016.04.16 MSS Code Factory 2.9.13691 Refreshed documentation

The documentation has been refreshed to refer to the 2.9/2.10 releases of code instead of 2.7/2.8.

2016.04.16 MSS Code Factory 2.9.13689 MySql page data stored procedures install without errors

The MySql verson of the page data read procedures install without errors, as verified through CFAccounting 1.2.

2016.04.16 MSS Code Factory 2.9.13687 DB/2 LUW page data stored procedures install without errors

The DB/2 LUW version of the page data read procedures install without errors. CFAccounting 1.2 was the schema that was test-installed to a DB/2 LUW server.

2016.04.15 MSS Code Factory 2.9.13686 Ready to test DB/2 LUW page data stored procedures

Visual inspection of the new page data stored procedures for DB/2 LUW look good. Now to wire them up to the scripts and install them.

2016.04.15 MSS Code Factory 2.9.13684 New PostgreSQL stored procedures install successfully now

The new PostgreSQL data paging stored procedures install successfully now.

2016.04.15 MSS Code Factory 2.9.13682 Forgot to limit size of PostgreSQL page data result sets

The new sp_page_dbtablename[_all|_by_suffix] stored procedures now consistently use "limit 25" to restrict the size of the PostgreSQL result set.

2016.04.15 MSS Code Factory 2.9.13680 PostgreSQL page data stored procedures coded

The new sp_page_dbtablename[_all|_by_suffix] stored procedures have been coded for PostgreSQL, but not installed to the database nor executed yet.

2016.04.15 MSS Code Factory 2.9.13678 Successful execution of a GEL spread expansion

The PostgreSQL rules for the crsp_page_dbtablename_all.pgsql file make use of the new GEL spread statement, and a manual code review has been done on that stored procedure.

2016.04.15 MSS Code Factory CFCore 2.9.13677 Correct implementation of spread

The Java body being used for implementing the expansion of a spread had a nesting error that was causing an infinite loop. Not a stack overflow, fortunately, but an infinite loop. Bad enough. But fixed.

2014.04.14 MSS Code Factory 2.9.13675 Sort duplicate key queries by descending primary key

All of the database stored procedures now sort the duplicate key result sets by the descending primary key for the table being queried.

2016.04.14 MSS Code Factory 2.9.13673 Add missing build script

Add the missing InstallXSDs210.bash script.

2016.04.14 MSS Code Factory 2.9.13672 Primary index may not specify sort ordering

If the primary index specifies a sort ordering, some databases will not use the existing index and will instead try to create a primary index in the default tablespace for the server. It is better to let the database engine manage the primary index as it sees fit; then no creations are attempted in the default tablespace.

2016.04.14 MSS Code Factory 2.9.13671 Primary index constraint may not specify sort order

The specification of a primary index constraint is not allowed to specify sort ordering.

2016.04.14 MSS Code Factory 2.9.13670 Specify sort order when creating database indexes

There are ANSI SQL standards for specifying the sort ordering of an index, so all of the databases have been updated to specify the sorting for the index columns.

2016.04.14 MSS Code Factory 2.9.13668 Adjust sorting of CFCrm 2.10 indexes

Only the primary key index has to be in descending order when PageData="true" is specified. The other indexes over the table can be ascending or descending according to the whims and wishes of the designer.

2016.04.14 MSS Code Factory 2.9.13666-PROD Unlucky Devil -- it made it to production

MSS Code Factory 2.9 is being unleashed to production.

2016.04.13 MSS Code Factory 2.9.13658 Update rule base to reference 2.9 XSDs

Updated the rule base to reference the 2.9 XSDs.

2016.04.13 MSS Code Factory 2.9.13657 Signed release

Issue a signed release of MSS Code Factory 2.9.

2016.04.13 MSS Code Factory 2.9.13654 Support for GEL "spread" implemented

The GEL "spread" statement is now supported, but untested. I will be using this new construct to implement the data paging queries in the stored procedures.

2016.04.13 MSS Code Factory CFCore 2.9.13653 Added support for GEL "spread"

The objects and GEL compiler in CFCore 2.9 have been enhanced to support the "spread" construct. The new code is ready for testing.

2016.04.13 MSS Code Factory 2.9.13651 Initial release

The initial release of MSS Code Factory 2.9 is ready for regression testing. It has not been enhanced with support for the planned GEL statement "spread", of course. That will take much more than one day to do.

2016.04.13 MSS Code Factory CFCore 2.9.13650 Add the XSDs for the rule base

I forgot to migrate the XSDs for the rule base.

2016.04.13 MSS Code Factory CFAll 2.9.13649 Initial checkin of manufactured code

The initial checkin of the manufactured code for the 2.9 projects has not been built yet.

2016.04.13 MSS Code Factory CFCore 2.9.13648 Initial release of CFCore 2.9

CFCore 2.9 has been remanufactured by MSS Code Factory 2.8 and integrated with a refresh of the code from 2.7. It is now ready to be enhanced with the support for the planned "spread" GEL statement support.

2016.04.13 MSS Code Factory CFLib 2.9.13647 Initial release of CFLib 2.9

The initial migration of CFLib from 2.7 to 2.9 has been completed.