New in version 16.0.0
You can find information about existing projects upgrading in the article Upgrade project.
-
New features
- Loading active record models with relations.
- Nitisa framework is also available on Github now.
-
Added
- 3679 unit tests.
- DbExceptionRelationNotFound exception class.
- TDbActiveQuery can now load active query models with relations via
With() method.
- TDbRelation template got methods
Select(), Distinct(), From(), InnerJoin(), LeftJoin(), RightJoin(), Where(), AndWhere(), OrWhere(), GroupBy(), Having(), AndHaving(), OrHaving(), OrderBy(), Limit(), and Offset() allowing full control over building relations.
- TDbRelation template got
Query() method returning Active Query which can be used to perform additional operations over relation without affecting relation itself.
- CDbMigrationGenerator helper class to generate migrations.
- DbNull constant.
Json column type in IDbMigrationColumn and CDbMigrationColumn.
- TList template, PList type and functions Free(), Count(), Next(), Prev(), Head(), Tail(), Append(), Detach(), Delete(), Insert(), Copy() to work with bi-directional linked lists.
- IWarningListener interface to be used when warnings can be issued and need to be detected.
- Comparison operators
== and != to Token structure.
- TokenToString() helper function.
-
Fixed
- Alignment of widgets was somethimes incorrect.
- String encoding in CDbQueryBuilderMySql helper class to generate migrations.
- Fixed escape sequence ecoding/deconding in json::Decoder, json::Encoder and cpp::CLexic classes.
- Compilation error in
dgl.cpp caused by broken Microsoft C++ compiler.
- Incorrect mouse event handling in PageControl widget.
-
Improved
- Some methods of TDbRelation template got ability to avoid automatic models loading.
Replace member of Operator is now of StringKeyValueArray type.
- Added skip groups in CTokenizer base class.
- Added
setSource() methods to IReader interface and its implementations.
- Expose reader pointer and operator constants in cpp::CTokenizer class.
-
Removed
orders argument from constructors of TDbRelation template. OrderBy() method should be used instead.