Bugfix: SqlDependsOn to an entity without properties does not work.
Bugfix: SqlDependsOnModule should include all SQL objects, not just properties.
DslModel performance logging and some refactoring.
Bugfix: Using concept with unresolved references in macro evaluation.
Bugfix: Macro concept may be evaluated before all the concepts it references have resolved references.
Faster and pluginable macro concepts.
New interface IConceptMacro (as alternative to existing IMacroConcept) allow better performance of macro evaluation (using indexed IDslModel) and pluginable macro concepts (macro interface is separated from IConceptInfo interface).
Bugfix: ComputedFrom on entity with trigger (AutoCode, e.g.) reverts trigger's modifications.
Improved performance of macros by refactoring to IConceptMacro.
Multiple passes of resolving references are currently needed.
Improved unresolved concept references analysis.
1. References are now resolved in a single pass.
2. Resolving references after each macro evaluation (less total iterations).
3. Macro evaluation stops when there are no new concepts (instead of newly resolved concepts).
Automatic macro sorting, to reduce the number of macro evaluation iterations.
Dependencies between programmable macros cannot be statically analyzed, but can be tracked by monitoring the last time that each macro created a new concept (with resolved references). Such event means that the macro was previously waiting for some other macro to create it's concepts. Simply sorting the macros by their last concept creation time will help to push early the macros that don't depend on others and push later those that have heavier dependencies. Such method should result with a stable order after few deployments.
Simple performance improvements in DSL parser and database generator.
Release 0.9.20.