September 2021
Features
Changes to default list search
The default search will no longer search all columns of a list, it will only search one column at a type.
More details in List Search
Breaking changes
EmptyG removed from EPH
- Reason:
- EmptyG(FK)==1 was used in the WHERE clause to test if the FK was empty
- This was causing the index over that column to be unusable.
- Solution:
- The call to EmptyG() was replaced by a direct IS NULL clause
- The IS NULL allows the index to become usable
- Impact:
- Any FK database value that is used in EPH must be NULL otherwise it will be considered not empty
- Scripts have been made available to normalize data, but these columns are critical to change in case the overall normalization cannot be made
Configuration class refactoring
- Reason:
- The code was in a complete state of organization
- Circular references, redundant code, switches instead of subclassing…
- Simple new features to connection strings took multiple days to implement
- Solution:
- Code was refactored to make Configuration a static class
- All Sql vendor specific code was ported from Configuration to PersistentSupport
- DataSystems are now resolved in a single way, through ResolveDataSystem()
- Impact:
- Any code that attempts to instantiate a new Configuration() need to be changed
- Some duplicated variables like SsrsServer where removed (its SSRSServer now)
Extended LastValue index
- Reason:
- Some UV calculations in Calc_block where having very bad performance
- The lack of an adequate index was detected causing a bad query plan
- Solution:
- Genio now adds the UV sorting field and filter field to the index heuristic
- Impact:
- The index will be slightly larger
- The database will need to force indexes to be recreated