Changes to data types

Linear types were added.

Changes to the built-in functions

  • Added the WithSideEffects/WithSideEffectsMode functions for working with side effects.
  • Functions for creating new dictionaries based on existing ones with content modification were added: DictInsert/DictUpsert/DictUpdate/DictRemove.
  • Functions for working with mutable dictionaries using linear types were added.
  • The Block function was added in order to execute a code block using anonymous dependent nodes.
  • Functions ToDynamicLinear/FromDynamicLinear were added for convertation between linear types.
  • Functions LinearType/DynamicLinearType were added for constructing linear types.
  • Functions LinearTypeHandle/DynamicLinearTypeHandle were added for constructing linear types during code generation.
  • The LinearItemType function was added on order to get the parameter type from a linear type.
  • The Concat function was added for string concatenation.
  • The NullIf function was added.

Changes to the NOT NULL expression

  • The x NOT NULL expression will generate an error instead of a warning. To fix this, replace it with x IS NOT NULL.

Changes to PRAGMA

  • The PRAGMA SimplePg was added for all functions importing from the SimplePg module to the global scope of functions visibility.
  • The PRAGMA Layers were added for specifying the layers that can annotate individual UDF calls, rather than all operations performing in the query.

Changes to the Udf function

  • A new named argument Layers was added for specifying a list of required layers for the UDF.

The SimplePg module was added

  • It includes the now, to_date, round, date_trunc, floor, ceil, to_char, date_part functions.
  • For functions available through the SimplePg or Pg modules, an extended error message is provided when they are used in the global scope of visibility.

Changes to aggregate functions

  • The RANDOM_VALUE and RANDOM_SAMPLE aggregate functions were added on order to randomly select the number of elements from the source.

Changes to table functions

  • The PARTITIONS and PARTITION_LIST functions were added.
Previous