Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: 9e088f7
Choose a base ref
...
head repository: postgresql-cfbot/postgresql
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: 6de3b27
Choose a head ref
  • 5 commits
  • 76 files changed
  • 2 contributors

Commits on Mar 12, 2025

  1. Add without_portion GiST support proc

    This new support proc is used by UPDATE/DELETE FOR PORTION OF to
    compute leftovers that weren't touched by the UPDATE/DELETE. This
    commit defines implementations for ranges and multiranges.
    
    The procs return SETOF their input type and work like minus but don't
    fail on splits. The results never contain empty elements.
    
    Author: Paul Jungwirth
    pjungwir authored and Commitfest Bot committed Mar 12, 2025
    Configuration menu
    Copy the full SHA
    3446556 View commit details
    Browse the repository at this point in the history
  2. Add UPDATE/DELETE FOR PORTION OF

    - Added bison support for FOR PORTION OF syntax. The bounds must be
      constant, so we forbid column references, subqueries, etc. We do
      accept functions like NOW().
    - Added logic to executor to insert new rows for the "leftover" part of
      a record touched by a FOR PORTION OF query.
    - Added tg_temporal descriptor to the TriggerData struct that we pass to
      trigger functions. Our foreign key triggers use this to learn what
      bounds were given in the FOR PORTION OF clause.
    - Documented FOR PORTION OF.
    - Documented tg_temporal struct.
    - Added tests.
    
    Author: Paul Jungwirth
    pjungwir authored and Commitfest Bot committed Mar 12, 2025
    Configuration menu
    Copy the full SHA
    daee80e View commit details
    Browse the repository at this point in the history
  3. Add CASCADE/SET NULL/SET DEFAULT for temporal foreign keys

    Previously we raised an error for these options, because their
    implementations require FOR PORTION OF. Now that we have temporal
    UPDATE/DELETE, we can implement foreign keys that use it.
    
    Author: Paul Jungwirth
    pjungwir authored and Commitfest Bot committed Mar 12, 2025
    Configuration menu
    Copy the full SHA
    0da03f6 View commit details
    Browse the repository at this point in the history
  4. Expose FOR PORTION OF to plpgsql triggers

    It is helpful for triggers to see what the FOR PORTION OF clause
    specified: both the column/period name and the targeted bounds. Our RI
    triggers require this information, and we are passing it as part of the
    TriggerData struct. This commit allows plpgsql triggers functions to
    access the same information, using the new TG_PORTION_COLUMN and
    TG_PORTION_TARGET variables.
    
    Author: Paul Jungwirth
    pjungwir authored and Commitfest Bot committed Mar 12, 2025
    Configuration menu
    Copy the full SHA
    a69edc7 View commit details
    Browse the repository at this point in the history
  5. [CF 4308] v49 - SQL:2011 application time

    This branch was automatically generated by a robot using patches from an
    email thread registered at:
    
    https://commitfest.postgresql.org/patch/4308
    
    The branch will be overwritten each time a new patch version is posted to
    the thread, and also periodically to check for bitrot caused by changes
    on the master branch.
    
    Patch(es): https://www.postgresql.org/message-id/[email protected]
    Author(s): Paul Jungwirth
    Commitfest Bot committed Mar 12, 2025
    Configuration menu
    Copy the full SHA
    6de3b27 View commit details
    Browse the repository at this point in the history
Loading