Skip to content

Differences in branches (v. 1.5)

Andrey Lepikhov edited this page Dec 21, 2022 · 4 revisions

Common differences

c-cpp.yml - names of branches, patch filename.

stable13 -> stable14

  • QueryID machinery. From stable14 we can use the jumbling technique to generate queryid or another lightweight signature of a query or expression.
  • compute_query_id = 'regress' - added to avoid regression tests inconsistencies.
  • Core patch - core changes in interface of estimate_num_groups(), partitioning logic.
  • New MemoizePath node introduced in the core planner.
  • Structure of ModifyTablePath changed
  • Added more tests on team working of AQO and pg_stat_statements with the same queryid.

stable14 -> stable15

  • Inconsistency in declaration of aqo_cleanup() - should be fixed in v 1.6
  • Starting from PG15, shared memory request have been doing not in _PG_init(), by in specific hook shmem_request_hook_type.
  • New function MarkGUCPrefixReserved() should be used instead of EmitWarningsOnPlaceholders().
  • Core patch - difference in AQO estimate_num_groups_hook interfaces, minor indents, Cardinality intead of double, few comments.
  • auto_tuning.c - query_context.use_aqo - use pg_prng_double instead of random() because of core changes.
  • cardinality_hooks.c - estinfo logic
  • clean_aqo_data.sql - output changed because of core.
  • path_utils.c - changes in the Value node - Begining with PG15 we use specific Integer node instead of AConst.
  • preprocessing.c - additional spaces
  • TAP tests - core changes in package definition
Clone this wiki locally