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