Skip to content

v24.1.0-alpha.3

tagged this 12 Mar 01:35
120045: plpgsql: allow nested blocks in a block with an exception handler r=DrewKimball a=DrewKimball

#### execbuilder,plpgsql: don't build redundant exception handler

There was some leftover logic for building the branches of a routine's
exception handler after some refactoring in #110998. This didn't affect
correctness, but added unnecessary overhead. This commit removes the
extra work.

#### plpgsql: allow nested blocks in a block with an exception handler

This commit removes the restriction on nesting PL/pgSQL blocks within
a block that has an exception handler. This is accomplished by tracking
the number of variables that are in scope for each block, and using that
information to determine which arguments to supply to the exception
handler for a block. This relies on the invariant that the variables of
a parent block always form a prefix of the variables of a child block.

Fixes #118551

Release note (sql change): PL/pgSQL blocks can now be nested in a block
that has an exception handler.

120207: server: remove interfaces with single implementation r=dt a=stevendanna

This removes some interfaces with only 1 implementation from the server controller code and moves more of the server controller methods into server_controller.go

While the intent of these interfaces was to facilitate testing, that work was never completed and the currently they mostly serve to make the code a bit harder to navigate.

While having the code in shorter files is sometimes nice, in this case I think in this case it is mostly a hinderance to seeing the full scope of behaviors.

Epic: none
Release note: None

Co-authored-by: Drew Kimball <[email protected]>
Co-authored-by: Steven Danna <[email protected]>
Assets 2
Loading