Releases: psibr/Susanoo
Streaming Results
First Major Version Release
At this point the Susanoo pipeline has been reinvigorated and re-imagined with a multitude of facets for extension. You can expect this interface to remain stable and changes to come after much deliberation with the community.
DatabaseManager factory methods and WhereFilter improvements
DatabaseManager now has static factory methods for constructing an instance from connection strings. BuildWhereFilter will not add a condition for a parameter is null or dbnull now.
Bug Fix release and updates to the Command Modifier API
Core
- Added AddOrReplaceCommandModifier
- Moved Query Wrapper to be bootstrappable.
SqlServer
- Added Total Rows Column command modifier
On the fly Filtering, sorting, and paging for SQL in Susanoo
v0.8.3.30 Adding Unit tests for JSON
Intelligent Filter Parameters
This release allows you to mark up an object with AllowedActions, Column, and NotMapped attributes to control when to use properties as parameters, this is helpful on very large objects where maintaining and include or exclude list could be cumbersome.
Full support for builtin Type results and custom deserializers.
Types that do NOT have public parameterless constructors are now eligible for mapping with Susanoo if a custom deserializer is provided.
Builtin types such as string that do not have empty constructors work out of the box now by using the new BuiltInTypeDeserializer that grabs ONLY the first available column in a resultset and casts as the appropriate type. Complex types such as KeyValuePair<,> can also be mapped, but require a custom deserializer. KeyValuePair<,> is included in the Susanoo.Core library and works as an example. A detailed guide of providing a ISusanooBootstrapper and custom deserializers will be coming soon, but in the meantime enjoy KeyValuePair and string!
Dynamic Performance and BuiltIn Type mapping
This release speeds up dynamic mapping by using a specialized structure (DynamicRow) in which the values are a simple array and a list of available columns is held separately. You can also map directly to a DynamicRow if you need a simple and performant 'bucket' of data.
Also in this release is simple type mapping for CLR types that have public parameterless constructors, capability of those without such as string are in progress.
Faster Dynamic bindings and cleaner code structure.
- Improved dynamic bindings and object population after a deep dive into how the DLR works.
- Added a structured namespace system for the pipeline.
- SqlServer and Json packages brought up to date with core as well.
Susanoo.Json and Susanoo.SqlServer Appear
Two additional packages for functionality that is not agnostic to environment and dependencies have been added, check them out!